diff --git a/app/controllers/api/v2/base_controller.rb b/app/controllers/api/v2/base_controller.rb index 7060a15a1df7..29ff2e8b6685 100644 --- a/app/controllers/api/v2/base_controller.rb +++ b/app/controllers/api/v2/base_controller.rb @@ -47,7 +47,7 @@ class BaseController < Api::BaseController layout 'api/v2/layouts/index_layout', :only => :index helper_method :root_node_name, :metadata_total, :metadata_subtotal, :metadata_search, - :metadata_order, :metadata_by, :metadata_page, :metadata_per_page, :index_node_permissions + :metadata_order, :metadata_by, :metadata_page, :metadata_per_page, :index_node_permissions_snippet def root_node_name @root_node_name ||= if Rabl.configuration.use_controller_name_as_json_root controller_name.split('/').last @@ -61,10 +61,16 @@ def root_node_name def index_node_permissions { :can_create => can_create?, - :can_edit => authorized_for(:controller => controller_name, :action => 'edit') + :can_edit => authorized_for(:controller => controller_name, :action => 'edit'), } end + def index_node_permissions_snippet + # Remove the characters '{' from the beginning and '}' from the end of the string + # The {1}'s are to only remove one character from each end. + index_node_permissions.to_json.gsub(/\A{{1}|}{1}\z/, '') + end + def metadata_total @total ||= resource_scope.try(:size).to_i end diff --git a/app/views/api/v2/layouts/index_layout.json.erb b/app/views/api/v2/layouts/index_layout.json.erb index 8a2ab25cb023..105bd5a2fb8e 100644 --- a/app/views/api/v2/layouts/index_layout.json.erb +++ b/app/views/api/v2/layouts/index_layout.json.erb @@ -5,7 +5,7 @@ "per_page": <%= metadata_per_page.to_json %>, "search": <%= metadata_search.to_json.html_safe %>, <% if params.has_key?(:include_permissions) %> - <%= index_node_permissions.to_json.gsub(/[{}]/,'').html_safe %>, + <%= index_node_permissions_snippet.html_safe %>, <% end %> "sort": { "by": <%= metadata_by.to_json.html_safe %>,