summaryrefslogtreecommitdiff
path: root/app/services/groups/update_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/groups/update_service.rb')
-rw-r--r--app/services/groups/update_service.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/app/services/groups/update_service.rb b/app/services/groups/update_service.rb
index 2d6334251ad..b3b0397eac3 100644
--- a/app/services/groups/update_service.rb
+++ b/app/services/groups/update_service.rb
@@ -107,6 +107,7 @@ module Groups
def handle_changes
handle_settings_update
+ handle_crm_settings_update unless params[:crm_enabled].nil?
end
def handle_settings_update
@@ -116,6 +117,15 @@ module Groups
::NamespaceSettings::UpdateService.new(current_user, group, settings_params).execute
end
+ def handle_crm_settings_update
+ crm_enabled = params.delete(:crm_enabled)
+ return if group.crm_enabled? == crm_enabled
+
+ crm_settings = group.crm_settings || group.build_crm_settings
+ crm_settings.enabled = crm_enabled
+ crm_settings.save
+ end
+
def allowed_settings_params
SETTINGS_PARAMS
end