diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-04-03 00:09:22 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-04-03 00:09:22 +0300 |
commit | 65be6f9dd4d92590294f18c6212a075585467f6d (patch) | |
tree | 4d59ef2507b490450379b0954be041c7beca826d /app | |
parent | fee10148072e2e96d14034f099985a441a844c6e (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/projects/merge_requests_controller.rb | 1 | ||||
-rw-r--r-- | app/services/user_preferences/update_service.rb | 20 | ||||
-rw-r--r-- | app/views/projects/merge_requests/show.html.haml | 1 |
3 files changed, 22 insertions, 0 deletions
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index d7c7d79f2dc..654703d2353 100644 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -110,6 +110,7 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo @show_whitespace_default = current_user.nil? || current_user.show_whitespace_in_diffs @file_by_file_default = current_user&.view_diffs_file_by_file @coverage_path = coverage_reports_project_merge_request_path(@project, @merge_request, format: :json) if @merge_request.has_coverage_reports? + @update_current_user_path = expose_path(api_v4_user_preferences_path) @endpoint_metadata_url = endpoint_metadata_url(@project, @merge_request) set_pipeline_variables diff --git a/app/services/user_preferences/update_service.rb b/app/services/user_preferences/update_service.rb new file mode 100644 index 00000000000..a1ee35d4580 --- /dev/null +++ b/app/services/user_preferences/update_service.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module UserPreferences + class UpdateService < BaseService + def initialize(user, params = {}) + @preferences = user.user_preference + @params = params.to_h.dup.with_indifferent_access + end + + def execute + if @preferences.update(@params) + ServiceResponse.success( + message: 'Preference was updated', + payload: { preferences: @preferences }) + else + ServiceResponse.error(message: 'Could not update preference') + end + end + end +end diff --git a/app/views/projects/merge_requests/show.html.haml b/app/views/projects/merge_requests/show.html.haml index 24594b732a4..e266c79df9c 100644 --- a/app/views/projects/merge_requests/show.html.haml +++ b/app/views/projects/merge_requests/show.html.haml @@ -88,6 +88,7 @@ endpoint_coverage: @coverage_path, help_page_path: suggest_changes_help_path, current_user_data: @current_user_data, + update_current_user_path: @update_current_user_path, project_path: project_path(@merge_request.project), changes_empty_state_illustration: image_path('illustrations/merge_request_changes_empty.svg'), is_fluid_layout: fluid_layout.to_s, |