Allow to edit access expiration date.
This commit is contained in:
parent
245f237dc8
commit
f564535579
5 changed files with 26 additions and 11 deletions
|
@ -99,7 +99,7 @@ class Projects::ProjectMembersController < Projects::ApplicationController
|
||||||
protected
|
protected
|
||||||
|
|
||||||
def member_params
|
def member_params
|
||||||
params.require(:project_member).permit(:user_id, :access_level)
|
params.require(:project_member).permit(:user_id, :access_level, :expires_at)
|
||||||
end
|
end
|
||||||
|
|
||||||
# MembershipActions concern
|
# MembershipActions concern
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
= button_tag icon('pencil'),
|
= button_tag icon('pencil'),
|
||||||
type: 'button',
|
type: 'button',
|
||||||
class: 'btn inline js-toggle-button',
|
class: 'btn inline js-toggle-button',
|
||||||
title: 'Edit access level'
|
title: 'Edit'
|
||||||
|
|
||||||
- if member.request?
|
- if member.request?
|
||||||
= link_to icon('check inverse'), polymorphic_path([:approve_access_request, member]),
|
= link_to icon('check inverse'), polymorphic_path([:approve_access_request, member]),
|
||||||
|
@ -80,5 +80,7 @@
|
||||||
= form_for member, remote: true do |f|
|
= form_for member, remote: true do |f|
|
||||||
.prepend-top-10
|
.prepend-top-10
|
||||||
= f.select :access_level, options_for_select(member.class.access_level_roles, member.access_level), {}, class: 'form-control'
|
= f.select :access_level, options_for_select(member.class.access_level_roles, member.access_level), {}, class: 'form-control'
|
||||||
|
.prepend-top-10
|
||||||
|
= f.text_field :expires_at, class: 'form-control', placeholder: 'Access expiration date'
|
||||||
.prepend-top-10
|
.prepend-top-10
|
||||||
= f.submit 'Save', class: 'btn btn-save btn-sm'
|
= f.submit 'Save', class: 'btn btn-save btn-sm'
|
||||||
|
|
|
@ -116,7 +116,7 @@ class Spinach::Features::GroupMembers < Spinach::FeatureSteps
|
||||||
member = mary_jane_member
|
member = mary_jane_member
|
||||||
|
|
||||||
page.within "#group_member_#{member.id}" do
|
page.within "#group_member_#{member.id}" do
|
||||||
click_button "Edit access level"
|
click_button 'Edit'
|
||||||
select 'Developer', from: 'group_member_access_level'
|
select 'Developer', from: 'group_member_access_level'
|
||||||
click_on 'Save'
|
click_on 'Save'
|
||||||
end
|
end
|
||||||
|
|
|
@ -65,7 +65,7 @@ class Spinach::Features::ProjectTeamManagement < Spinach::FeatureSteps
|
||||||
user = User.find_by(name: 'Dmitriy')
|
user = User.find_by(name: 'Dmitriy')
|
||||||
project_member = project.project_members.find_by(user_id: user.id)
|
project_member = project.project_members.find_by(user_id: user.id)
|
||||||
page.within "#project_member_#{project_member.id}" do
|
page.within "#project_member_#{project_member.id}" do
|
||||||
click_button "Edit access level"
|
click_button 'Edit'
|
||||||
select "Reporter", from: "project_member_access_level"
|
select "Reporter", from: "project_member_access_level"
|
||||||
click_button "Save"
|
click_button "Save"
|
||||||
end
|
end
|
||||||
|
|
|
@ -10,18 +10,31 @@ feature 'Projects > Members > Master adds member with expiration date', feature:
|
||||||
background do
|
background do
|
||||||
project.team << [master, :master]
|
project.team << [master, :master]
|
||||||
login_as(master)
|
login_as(master)
|
||||||
visit namespace_project_project_members_path(project.namespace, project)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'expiration date is displayed in the members list' do
|
scenario 'expiration date is displayed in the members list' do
|
||||||
page.within ".users-project-form" do
|
visit namespace_project_project_members_path(project.namespace, project)
|
||||||
select2(new_member.id, from: "#user_ids", multiple: true)
|
|
||||||
fill_in "Access expiration date", with: 4.days.from_now
|
page.within '.users-project-form' do
|
||||||
click_on "Add users to project"
|
select2(new_member.id, from: '#user_ids', multiple: true)
|
||||||
|
fill_in 'Access expiration date', with: 4.days.from_now
|
||||||
|
click_on 'Add users to project'
|
||||||
end
|
end
|
||||||
|
|
||||||
page.within ".project_member:first-child" do
|
page.within '.project_member:first-child' do
|
||||||
expect(page).to have_content("Expires in 4 days")
|
expect(page).to have_content('Expires in 4 days')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario 'change expiration date' do
|
||||||
|
project.team.add_users([new_member.id], :developer, expires_at: 1.month.from_now)
|
||||||
|
visit namespace_project_project_members_path(project.namespace, project)
|
||||||
|
|
||||||
|
page.within '.project_member:first-child' do
|
||||||
|
click_on 'Edit'
|
||||||
|
fill_in 'Access expiration date', with: 2.days.from_now
|
||||||
|
click_on 'Save'
|
||||||
|
expect(page).to have_content('Expires in 2 days')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue