diff options
author | Tim Zallmann <tzallmann@gitlab.com> | 2018-08-08 10:57:34 +0000 |
---|---|---|
committer | Tim Zallmann <tzallmann@gitlab.com> | 2018-08-08 10:57:34 +0000 |
commit | e7ff0dfd24e54537ccb2c385750d0fea46c4e774 (patch) | |
tree | 8e8e528f4781e90d5c903dda80ad4ac8d2d2701a | |
parent | 6aa56a70270001323f85791aec205cce5558501f (diff) | |
parent | 0f77d24be8fd0969528716b84c4909a0efd71255 (diff) | |
download | gitlab-ce-e7ff0dfd24e54537ccb2c385750d0fea46c4e774.tar.gz |
Merge branch '35952-keep-project-settings-open-after-submit' into 'master'
Keep project settings sections expanded after submitting form
See merge request gitlab-org/gitlab-ce!21079
-rw-r--r-- | app/controllers/projects/avatars_controller.rb | 2 | ||||
-rw-r--r-- | app/controllers/projects_controller.rb | 12 | ||||
-rw-r--r-- | app/views/projects/edit.html.haml | 3 | ||||
-rw-r--r-- | app/views/projects/update.js.haml | 3 |
4 files changed, 12 insertions, 8 deletions
diff --git a/app/controllers/projects/avatars_controller.rb b/app/controllers/projects/avatars_controller.rb index a13d552dbd8..53fdc5843b5 100644 --- a/app/controllers/projects/avatars_controller.rb +++ b/app/controllers/projects/avatars_controller.rb @@ -21,6 +21,6 @@ class Projects::AvatarsController < Projects::ApplicationController @project.save - redirect_to edit_project_path(@project), status: :found + redirect_to edit_project_path(@project, anchor: 'js-general-project-settings'), status: :found end end diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 4d7e33d7b11..e9ae8c13142 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -61,7 +61,7 @@ class ProjectsController < Projects::ApplicationController flash[:notice] = _("Project '%{project_name}' was successfully updated.") % { project_name: @project.name } format.html do - redirect_to(edit_project_path(@project)) + redirect_to(edit_project_path(@project, anchor: 'js-general-project-settings')) end else flash.now[:alert] = result[:message] @@ -174,7 +174,7 @@ class ProjectsController < Projects::ApplicationController ) rescue ::Projects::HousekeepingService::LeaseTaken => ex redirect_to( - edit_project_path(@project), + edit_project_path(@project, anchor: 'js-project-advanced-settings'), alert: ex.to_s ) end @@ -183,7 +183,7 @@ class ProjectsController < Projects::ApplicationController @project.add_export_job(current_user: current_user) redirect_to( - edit_project_path(@project), + edit_project_path(@project, anchor: 'js-export-project'), notice: _("Project export started. A download link will be sent by email.") ) end @@ -195,7 +195,7 @@ class ProjectsController < Projects::ApplicationController send_file export_project_path, disposition: 'attachment' else redirect_to( - edit_project_path(@project), + edit_project_path(@project, anchor: 'js-export-project'), alert: _("Project export link has expired. Please generate a new export from your project settings.") ) end @@ -208,7 +208,7 @@ class ProjectsController < Projects::ApplicationController flash[:alert] = _("Project export could not be deleted.") end - redirect_to(edit_project_path(@project)) + redirect_to(edit_project_path(@project, anchor: 'js-export-project')) end def generate_new_export @@ -216,7 +216,7 @@ class ProjectsController < Projects::ApplicationController export else redirect_to( - edit_project_path(@project), + edit_project_path(@project, anchor: 'js-export-project'), alert: _("Project export could not be deleted.") ) end diff --git a/app/views/projects/edit.html.haml b/app/views/projects/edit.html.haml index f483fad6142..30544dde451 100644 --- a/app/views/projects/edit.html.haml +++ b/app/views/projects/edit.html.haml @@ -15,6 +15,7 @@ .settings-content .project-edit-errors = form_for [@project.namespace.becomes(Namespace), @project], remote: true, html: { multipart: true, class: "edit-project" }, authenticity_token: true do |f| + %input{ name: 'update_section', type: 'hidden', value: 'js-general-project-settings' } %fieldset .row .form-group.col-md-9 @@ -75,6 +76,7 @@ Enable or disable certain project features and choose access levels. .settings-content = form_for [@project.namespace.becomes(Namespace), @project], remote: true, html: { multipart: true, class: "sharing-permissions-form" }, authenticity_token: true do |f| + %input{ name: 'update_section', type: 'hidden', value: 'js-shared-permissions' } -# haml-lint:disable InlineJavaScript %script.js-project-permissions-form-data{ type: "application/json" }= project_permissions_panel_data(@project) .js-project-permissions-form @@ -94,6 +96,7 @@ = render_if_exists 'shared/promotions/promote_mr_features' = form_for [@project.namespace.becomes(Namespace), @project], remote: true, html: { multipart: true, class: "merge-request-settings-form" }, authenticity_token: true do |f| + %input{ name: 'update_section', type: 'hidden', value: 'js-merge-request-settings' } = render 'projects/merge_request_settings', form: f = f.submit 'Save changes', class: "btn btn-save qa-save-merge-request-changes" diff --git a/app/views/projects/update.js.haml b/app/views/projects/update.js.haml index 1a353953838..e8681da6528 100644 --- a/app/views/projects/update.js.haml +++ b/app/views/projects/update.js.haml @@ -1,6 +1,7 @@ - if @project.valid? :plain - location.href = "#{edit_project_path(@project)}"; + location.href = "#{edit_project_path(@project, anchor: params[:update_section])}"; + location.reload(); - else :plain $(".project-edit-errors").html("#{escape_javascript(render('errors'))}"); |