ActiveAdmin + CanCan + AASM переключатель событий с AJAX - PullRequest
0 голосов
/ 31 мая 2018
As an admin I have a specific role
I want to see and switch event for object
Depends on my role

Вдохновленный activeadmin_addons и его Enum Integration Я хочу создать аналогичную функциональность для AASM, позволяя различным администраторам изменять события в зависимости от их способностей / ролей для определенных событий /статусы в модели.

1 Ответ

0 голосов
/ 31 мая 2018

Взято отсюда, перейдите по этой ссылке для получения дополнительных необходимых вам файлов

Предварительные требования:

Драгоценный камень: ActiveAdmin, Драгоценный камень 'active_admin_role'оба установлены и работают с моделью AdminUser с настройкой current_admin_user (или аналогичной вашему приложению).

Протестировано с Rails 5.1.3.

После того, как вы закончите и развернете / запустите сервер, вы должны "перезагрузить"«Разрешения администратора и включение« event_update »для менеджера или ролей, отличных от« super_admin ».

Меньшие дополнения, которые вам нужно будет сделать: (в дополнение к вложенным файлам ниже)

В вашей модели AdminUser добавьте:

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

В вашей таблице_д (где вы отображаете столбцы данных):

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'

Извините, если я что-то забыл, дайте мне знать, если у вас есть вопрос или проблема!

...