Commit 11c28f33 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Fix project memeber management

parent 79056e8d
class Projects::ProjectMembersController < Projects::ApplicationController class Projects::ProjectMembersController < Projects::ApplicationController
# Authorize # Authorize
before_filter :authorize_admin_project!, except: :leave before_filter :authorize_admin_project!, except: :leave
before_filter :check_membership_lock, only: [:create, :update, :destroy]
layout "project_settings" layout "project_settings"
...@@ -104,10 +103,4 @@ class Projects::ProjectMembersController < Projects::ApplicationController ...@@ -104,10 +103,4 @@ class Projects::ProjectMembersController < Projects::ApplicationController
AuditEventService.new(current_user, @project, options). AuditEventService.new(current_user, @project, options).
for_member(member).security_event for_member(member).security_event
end end
def check_membership_lock
if @project.group && @project.group.membership_lock
return access_denied!
end
end
end end
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
%label.label.label-danger %label.label.label-danger
%strong Blocked %strong Blocked
- if current_user_can_admin_project && !membership_locked? - if current_user_can_admin_project
- unless @project.personal? && user == current_user - unless @project.personal? && user == current_user
.pull-right .pull-right
%strong= member.human_access %strong= member.human_access
......
...@@ -31,7 +31,7 @@ class Spinach::Features::GroupsManagement < Spinach::FeatureSteps ...@@ -31,7 +31,7 @@ class Spinach::Features::GroupsManagement < Spinach::FeatureSteps
step 'I can control user membership' do step 'I can control user membership' do
page.should have_button 'Add members' page.should have_button 'Add members'
page.should have_link 'Import members' page.should have_link 'Import members'
page.should have_selector '#project_member_access_level', text: 'Master' page.should have_selector '#project_member_access_level'
end end
step 'I reload "Open" project members page' do step 'I reload "Open" project members page' do
...@@ -60,6 +60,6 @@ class Spinach::Features::GroupsManagement < Spinach::FeatureSteps ...@@ -60,6 +60,6 @@ class Spinach::Features::GroupsManagement < Spinach::FeatureSteps
step 'I cannot control user membership from project page' do step 'I cannot control user membership from project page' do
page.should_not have_button 'Add members' page.should_not have_button 'Add members'
page.should_not have_link 'Import members' page.should_not have_link 'Import members'
page.should have_selector '#project_member_access_level', text: 'Master' page.should have_selector '#project_member_access_level'
end end
end end
...@@ -132,8 +132,12 @@ class Spinach::Features::Project < Spinach::FeatureSteps ...@@ -132,8 +132,12 @@ class Spinach::Features::Project < Spinach::FeatureSteps
step 'I change "Pete" access level to master' do step 'I change "Pete" access level to master' do
user = User.find_by(name: "Pete") user = User.find_by(name: "Pete")
within "#user_#{user.id}" do project_member = @project.project_members.find_by(user_id: user)
within "#project_member_#{project_member.id}" do
click_button "Edit access level"
select "Master", from: "project_member_access_level" select "Master", from: "project_member_access_level"
click_button "Save"
end end
sleep 0.05 sleep 0.05
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment