diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-10-12 17:22:52 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-10-12 17:22:52 +0000 |
commit | ad94777d9c2475ccbc9b933302b2fd427e944d87 (patch) | |
tree | 605bfd6c4c68839b9fbbf00ac6a1536ce857e361 /app | |
parent | 90e0d681dcd911ab597628213bda4bbb6ee3c5f7 (diff) | |
download | redmine-ad94777d9c2475ccbc9b933302b2fd427e944d87.tar.gz redmine-ad94777d9c2475ccbc9b933302b2fd427e944d87.zip |
Expose roles details via REST API (#11502).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10620 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/roles_controller.rb | 13 | ||||
-rw-r--r-- | app/views/roles/show.api.rsb | 9 |
2 files changed, 18 insertions, 4 deletions
diff --git a/app/controllers/roles_controller.rb b/app/controllers/roles_controller.rb index 5f3885267..29e7604dc 100644 --- a/app/controllers/roles_controller.rb +++ b/app/controllers/roles_controller.rb @@ -18,10 +18,9 @@ class RolesController < ApplicationController layout 'admin' - before_filter :require_admin, :except => :index - before_filter :require_admin_or_api_request, :only => :index - before_filter :find_role, :only => [:edit, :update, :destroy] - accept_api_auth :index + before_filter :require_admin, :except => [:index, :show] + before_filter :require_admin_or_api_request, :only => [:index, :show] + before_filter :find_role, :only => [:show, :edit, :update, :destroy] def index respond_to do |format| @@ -35,6 +34,12 @@ class RolesController < ApplicationController end end + def show + respond_to do |format| + format.api + end + end + def new # Prefills the form with 'Non member' role permissions by default @role = Role.new(params[:role] || {:permissions => Role.non_member.permissions}) diff --git a/app/views/roles/show.api.rsb b/app/views/roles/show.api.rsb new file mode 100644 index 000000000..4e81819cf --- /dev/null +++ b/app/views/roles/show.api.rsb @@ -0,0 +1,9 @@ +api.role do + api.id @role.id + api.name @role.name + api.array :permissions do + @role.permissions.each do |perm| + api.permission(perm.to_s) + end + end +end |