diff options
author | Marin Jankovski <maxlazio@gmail.com> | 2014-12-26 17:37:04 +0300 |
---|---|---|
committer | Marin Jankovski <maxlazio@gmail.com> | 2014-12-26 17:37:04 +0300 |
commit | 16ebeedef225db60e1f62d43e5152a04c29fd289 (patch) | |
tree | fb149deb18565b333b4939278705bb4f6487fe63 /app | |
parent | 2cbfc515f22e2064fb29c9cbb8326a132a3515fc (diff) |
Update branch status with ajax call.
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/javascripts/protected_branches.js.coffee | 19 | ||||
-rw-r--r-- | app/controllers/projects/protected_branches_controller.rb | 13 |
2 files changed, 26 insertions, 6 deletions
diff --git a/app/assets/javascripts/protected_branches.js.coffee b/app/assets/javascripts/protected_branches.js.coffee new file mode 100644 index 00000000000..e03bd148dc8 --- /dev/null +++ b/app/assets/javascripts/protected_branches.js.coffee @@ -0,0 +1,19 @@ +$ -> + $(":checkbox").change -> + id = $(this).val() + checked = $(this).is(":checked") + url = $(this).data("url") + $.ajax + type: "PUT" + url: url + dataType: "json" + data: + id: id + developers_can_push: checked + + success: -> + new Flash("Branch updated.", "notice") + location.reload true + + error: -> + new Flash("Failed to update branch!", "alert") diff --git a/app/controllers/projects/protected_branches_controller.rb b/app/controllers/projects/protected_branches_controller.rb index ac68992faa0..02160d973b3 100644 --- a/app/controllers/projects/protected_branches_controller.rb +++ b/app/controllers/projects/protected_branches_controller.rb @@ -22,13 +22,14 @@ class Projects::ProtectedBranchesController < Projects::ApplicationController protected_branch.update_attributes( developers_can_push: params[:developers_can_push] ) - flash[:notice] = 'Branch was successfully updated.' - else - flash[:alert] = 'Could not update the branch.' - end - respond_to do |format| - format.html { redirect_to project_protected_branches_path } + respond_to do |format| + format.json { render :json => protected_branch, status: :ok } + end + else + respond_to do |format| + format.json { render json: protected_branch.errors, status: :unprocessable_entity } + end end end |