diff options
Diffstat (limited to 'app/controllers/projects/settings/repository_controller.rb')
-rw-r--r-- | app/controllers/projects/settings/repository_controller.rb | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/app/controllers/projects/settings/repository_controller.rb b/app/controllers/projects/settings/repository_controller.rb index 43c6451577a..90988645d3a 100644 --- a/app/controllers/projects/settings/repository_controller.rb +++ b/app/controllers/projects/settings/repository_controller.rb @@ -6,11 +6,8 @@ module Projects layout 'project_settings' before_action :authorize_admin_project! before_action :define_variables, only: [:create_deploy_token] - before_action do - push_frontend_feature_flag(:ajax_new_deploy_token, @project) - end - feature_category :source_code_management, [:show, :cleanup] + feature_category :source_code_management, [:show, :cleanup, :update] feature_category :continuous_delivery, [:create_deploy_token] urgency :low, [:show, :create_deploy_token] @@ -60,6 +57,19 @@ module Projects end end + def update + result = ::Projects::UpdateService.new(@project, current_user, project_params).execute + + if result[:status] == :success + flash[:notice] = _("Project settings were successfully updated.") + else + flash[:alert] = result[:message] + @project.reset + end + + redirect_to project_settings_repository_path(project) + end + private def render_show @@ -97,6 +107,18 @@ module Projects params.require(:deploy_token).permit(:name, :expires_at, :read_repository, :read_registry, :write_registry, :read_package_registry, :write_package_registry, :username) end + def project_params + params.require(:project).permit(project_params_attributes) + end + + def project_params_attributes + [ + :issue_branch_template, + :default_branch, + :autoclose_referenced_issues + ] + end + def access_levels_options { create_access_levels: levels_for_dropdown, |