Как да дам разрешения за създаване само на потребителска роля на мениджъра в Spree?

В момента имам две роли, по подразбиране, „Потребител“ и „Администратор“.

И добавих нова роля, наречена „Мениджър“ с разрешения за управление на поръчка, потребител

class ManagerAbility
  include CanCan::Ability

  def initialize user
    if user.has_spree_role?(:manager)
      can :manage, Spree::Order
      can :manage, Spree::User
    end
  end
end

Ако мениджърът е влязъл, той може да управлява поръчки и потребители, а тя може да създаде нов потребител с роля на администратор. Но имам нужда от възможност да създавам само „Потребител“, а не „Администратор“ или други роли „Мениджър“.

Използване на spree_auth_devise - 2-2-stable

Оценявам, ако някой може да ми помогне. Благодаря ти.


person user3724719    schedule 10.06.2014    source източник


Отговори (1)


Това не е нещо, което в момента се поддържа от Spree извън кутията.

Ще трябва да промените UsersController, за да добавите това ограничение. Понастоящем не поддържа никакви ограничения за роли. Ще трябва да промените (най-малко) функциите за създаване и актуализиране, за да поставите отметка, за да видите дали влезлият потребител има право да създава/актуализира потребител към новоизбраната роля.

person gmacdougall    schedule 12.06.2014