diff --git a/app/controllers/admin/runners_controller.rb b/app/controllers/admin/runners_controller.rb index 8b8a7320072728b0b1299106cbd2c236eb805872..a164209455b90df0b4d99413c4576c6e2d223516 100644 --- a/app/controllers/admin/runners_controller.rb +++ b/app/controllers/admin/runners_controller.rb @@ -9,19 +9,13 @@ class Admin::RunnersController < Admin::ApplicationController end def show - @builds = @runner.builds.order('id DESC').first(30) - @projects = - if params[:search].present? - ::Project.search(params[:search]) - else - Project.all - end - @projects = @projects.where.not(id: @runner.projects.select(:id)) if @runner.projects.any? - @projects = @projects.page(params[:page]).per(30) + set_builds_and_projects end def update - @runner.update_attributes(runner_params) + unless @runner.update_attributes(runner_params) + set_builds_and_projects and return render 'show' + end respond_to do |format| format.js @@ -60,4 +54,16 @@ class Admin::RunnersController < Admin::ApplicationController def runner_params params.require(:runner).permit(Ci::Runner::FORM_EDITABLE) end + + def set_builds_and_projects + @builds = runner.builds.order('id DESC').first(30) + @projects = + if params[:search].present? + ::Project.search(params[:search]) + else + Project.all + end + @projects = @projects.where.not(id: runner.projects.select(:id)) if runner.projects.any? + @projects = @projects.page(params[:page]).per(30) + end end diff --git a/app/views/projects/runners/_form.html.haml b/app/views/projects/runners/_form.html.haml index 6be406fa186b1718bb79010cb14a47e83dcb3cd6..b8fe0a981074f35ba6445665b18c44be2e2c2a9e 100644 --- a/app/views/projects/runners/_form.html.haml +++ b/app/views/projects/runners/_form.html.haml @@ -1,5 +1,5 @@ = form_for runner, url: runner_form_url, html: { class: 'form-horizontal' } do |f| - = form_errors(@runner) + = form_errors(runner) .form-group = label :active, "Active", class: 'control-label' .col-sm-10