Add authorization

This commit is contained in:
manson 2014-07-31 20:40:44 +08:00
parent 28166f95a9
commit 16ae9aa31f
3 changed files with 18 additions and 8 deletions

View File

@ -28,8 +28,12 @@ class Admin::ArchiveFilesController < OrbitAdminController
def edit
@archive_file = ArchiveFile.find(params[:id])
if can_edit_or_delete?(@archive_file)
@tags = @module_app.tags
@categories = @module_app.categories
else
render_401
end
end
def create

View File

@ -23,8 +23,10 @@
<a href="#" target="_blank"><%= archive.title %></a>
<div class="quick-edit">
<ul class="nav nav-pills">
<% if can_edit_or_delete?(archive) %>
<li><a href="/<%= I18n.locale.to_s %>/admin/archive_files/<%= archive.id.to_s %>/edit"><%= t(:edit) %></a></li>
<li><a href="/admin/archive_files/<%= archive.id.to_s %>" data-method="delete" data-confirm="Are you sure?"><%= t(:delete_) %></a></li>
<% end %>
</ul>
</div>
</td>

View File

@ -12,33 +12,37 @@ module Archive
frontend_enabled
side_bar do
head_label_i18n 'archive.archive', icon_class: "icons-archive"
available_for [:admin,:manager,:sub_manager]
available_for "users"
active_for_controllers (['admin/archive_files'])
head_link_path "admin_archive_files_path"
context_link 'all',
:link_path=>"admin_archive_files_path" ,
:priority=>1,
:active_for_action=>{'admin/archive_files'=>"index"}
:active_for_action=>{'admin/archive_files'=>"index"},
:available_for => 'users'
context_link 'new_',
:link_path=>"new_admin_archive_file_path" ,
:priority=>2,
:active_for_action=>{'admin/archive_files'=>"new"}
:active_for_action=>{'admin/archive_files'=>"new"},
:available_for => 'sub_managers'
context_link 'categories',
:link_path=>"admin_module_app_categories_path" ,
:link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'archive').id}",
:priority=>3,
:active_for_action=>{'admin/archive_files'=>'categories'},
:active_for_category => 'Archive'
:active_for_category => 'Archive',
:available_for => 'managers'
context_link 'tags',
:link_path=>"admin_module_app_tags_path" ,
:link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'archive').id}",
:priority=>4,
:active_for_action=>{'admin/archive_files'=>'tags'},
:active_for_tag => 'Archive'
:active_for_tag => 'Archive',
:available_for => 'managers'
end
end
end