0
As an admin I have a specific role
I want to see and switch event for object
Depends on my role

Inspired by activeadmin_addons and its Enum Integration I want to make similar functionality for AASM by letting diffent admin users change events depending on their abilities/roles for specific events/statuses in model.

4

1 回答 1

0

取自此处,请参阅此链接以获取您需要的其他文件

先决条件:

Gem:ActiveAdmin,Gem 'active_admin_role',两者都已安装并使用 current_admin_user 设置(或类似于您的应用程序)工作的 AdminUser 模型。

使用 Rails 5.1.3 测试。

完成并部署/运行服务器后,您必须在管理员中“重新加载”权限并为经理或“super_admin”角色以外的角色启用“event_update”。

您需要做的较小的插件:( 除了下面的附件)

在您的 AdminUser 模型中添加:

include CanCan::Ability
include ActiveAdminRole::CanCan::Ability

在你的 table_for (是你呈现数据列的地方):

column 'Our Status' do |auction|
  render 'admin/auctions/event_change', auction: auction
end

在 initializers/active_admin.rb 或任何你想要的时候

ActiveAdmin::ResourceController.class_eval do
  protected

  def current_ability
    # Match to your current admin user
    @current_ability ||= Ability.new(current_admin_user)
  end
end

还要确保你的配置:

config.authorization_adapter = ActiveAdmin::CanCanAdapter
config.authorization_adapter = ActiveAdmin::CanCanAdapter
config.cancan_ability_class = 'Ability'

如果我忘记了什么,请原谅我,如果您有任何问题或问题,请告诉我!

于 2018-05-31T07:55:15.190 回答