From 6e5b1686f4431386aab23cea64564718b62b3cb0 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Thu, 30 May 2013 11:13:38 +0300 Subject: [PATCH] TeamManagement: Dont update permissions if it was not changed --- app/controllers/dashboard_controller.rb | 2 +- lib/gitlab/user_team_manager.rb | 24 +++++++++++------------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb index 2f418d40e78..b74c22b1547 100644 --- a/app/controllers/dashboard_controller.rb +++ b/app/controllers/dashboard_controller.rb @@ -68,7 +68,7 @@ class DashboardController < ApplicationController end def event_filter - filters = cookies['event_filter'].split(',') if cookies['event_filter'] + filters = cookies['event_filter'].split(',') if cookies['event_filter'].present? @event_filter ||= EventFilter.new(filters) end end diff --git a/lib/gitlab/user_team_manager.rb b/lib/gitlab/user_team_manager.rb index ad6b655a2ee..99e6839ef65 100644 --- a/lib/gitlab/user_team_manager.rb +++ b/lib/gitlab/user_team_manager.rb @@ -25,7 +25,7 @@ module Gitlab def update_team_user_membership(team, member, options) updates = {} - if options[:default_projects_access] && options[:default_projects_access] != team.default_projects_access(member) + if options[:default_projects_access] && options[:default_projects_access].to_s != team.default_projects_access(member).to_s updates[:permission] = options[:default_projects_access] end @@ -33,19 +33,17 @@ module Gitlab updates[:group_admin] = options[:group_admin].present? end - unless updates.blank? - user_team_relationship = team.user_team_user_relationships.find_by_user_id(member) - if user_team_relationship.update_attributes(updates) - if updates[:permission] - rebuild_project_permissions_to_member(team, member) - end - true - else - false - end - else - true + return true if updates.blank? + + user_team_relationship = team.user_team_user_relationships.find_by_user_id(member) + + return false unless user_team_relationship.update_attributes(updates) + + if updates[:permission] + rebuild_project_permissions_to_member(team, member) end + + true end def update_project_greates_access(team, project, permission) -- GitLab