diff --git a/src/api/app/controllers/webui/project_controller.rb b/src/api/app/controllers/webui/project_controller.rb index d4028ca4bbe..530448eee0f 100644 --- a/src/api/app/controllers/webui/project_controller.rb +++ b/src/api/app/controllers/webui/project_controller.rb @@ -539,6 +539,7 @@ def prjconf sliced_params.permit! @content = @project.config.content(sliced_params.to_h) + switch_to_webui2 return if @content flash[:error] = @project.config.errors.full_messages.to_sentence redirect_to controller: 'project', nextstatus: 404 @@ -555,11 +556,13 @@ def save_prjconf if content flash.now[:success] = 'Config successfully saved!' - render layout: false, partial: 'layouts/webui/flash', object: flash + status = 200 else flash.now[:error] = @project.config.errors.full_messages.to_sentence - render layout: false, status: 400, partial: 'layouts/webui/flash', object: flash + status = 400 end + switch_to_webui2 + render layout: false, status: status, partial: 'layouts/webui2/flash', object: flash end def clear_failed_comment diff --git a/src/api/app/views/webui2/webui/project/_breadcrumb_items.html.haml b/src/api/app/views/webui2/webui/project/_breadcrumb_items.html.haml index 53ef7bc0d02..79ce3fd70ac 100644 --- a/src/api/app/views/webui2/webui/project/_breadcrumb_items.html.haml +++ b/src/api/app/views/webui2/webui/project/_breadcrumb_items.html.haml @@ -10,3 +10,6 @@ - if current_page?(project_requests_path) %li.breadcrumb-item.active{ 'aria-current' => 'page' } Requests + - elsif current_page?(project_config_path(@project)) + %li.breadcrumb-item.active{ 'aria-current' => 'page' } + Configuration diff --git a/src/api/app/views/webui2/webui/project/prjconf.html.haml b/src/api/app/views/webui2/webui/project/prjconf.html.haml new file mode 100644 index 00000000000..044606d7cb1 --- /dev/null +++ b/src/api/app/views/webui2/webui/project/prjconf.html.haml @@ -0,0 +1,16 @@ +:ruby + content_for(:content_for_head, javascript_include_tag('webui2/cm2/index-prjconf')) + @pagetitle = "Project Configuration of #{@project}" + @metarobots = 'noindex' + +.card + = render(partial: 'webui/project/tabs', locals: { project: @project }) + + .card-body + %h3= @pagetitle + - if User.current.can_modify?(@project) + = render partial: 'shared/editor', locals: { text: @content, mode: 'prjconf', + save: { url: save_project_config_path, method: :post, + data: { project: @project.name, submit: 'config' } } } + - else + = render partial: 'shared/editor', locals: { text: @content, mode: 'prjconf', style: { read_only: true } } diff --git a/src/api/config/routes.rb b/src/api/config/routes.rb index 2f7dc532dab..7b0a12a1273 100644 --- a/src/api/config/routes.rb +++ b/src/api/config/routes.rb @@ -283,7 +283,7 @@ def self.public_or_about_path?(request) get 'project/meta/:project' => :meta, constraints: cons, as: 'project_meta' post 'project/save_meta/:project' => :save_meta, constraints: cons get 'project/prjconf/:project' => :prjconf, constraints: cons, as: :project_config - post 'project/save_prjconf/:project' => :save_prjconf, constraints: cons + post 'project/save_prjconf/:project' => :save_prjconf, constraints: cons, as: :save_project_config get 'project/clear_failed_comment/:project' => :clear_failed_comment, constraints: cons get 'project/edit/:project' => :edit, constraints: cons get 'project/edit_comment_form/:project' => :edit_comment_form, constraints: cons