95 lines
2.1 KiB
Ruby
95 lines
2.1 KiB
Ruby
class Ability
|
|
include CanCan::Ability
|
|
|
|
def initialize(user)
|
|
user ||= Employee.new
|
|
|
|
if user.role == "administrator"
|
|
|
|
can :manage, :all
|
|
|
|
elsif user.role == "manager"
|
|
|
|
can :manage, Menu
|
|
can :manage, MenuCategory
|
|
can :manage, MenuItemAttribute
|
|
can :manage, MenuItemInstance
|
|
can :manage, MenuItemOption
|
|
can :manage, SetMenuItem
|
|
can :manage, OrderQueueStation
|
|
can :manage, Zone
|
|
can :manage, CashierTerminal
|
|
can :manage, Employee
|
|
# can :manage, MembershipSetting
|
|
# can :manage, MembershipAction
|
|
# can :manage, PaymentMethodSetting
|
|
can :manage, TaxProfile
|
|
can :manage, PrintSetting
|
|
can :manage, Account
|
|
|
|
can :manage, Order
|
|
can :manage, Sale
|
|
|
|
can :manage, Customer
|
|
can :manage, DiningQueue
|
|
|
|
can :index, :dailysale
|
|
can :index, :saleitem
|
|
can :index, :receipt_no
|
|
|
|
can :add_customer, Customer
|
|
can :update_sale_by_customer, Customer
|
|
|
|
can :index, :discount
|
|
can :create, :discount
|
|
|
|
can :show, :payment
|
|
can :create, :payment
|
|
can :reprint, :payment
|
|
|
|
can :move_dining, :movetable
|
|
can :moving, :movetable
|
|
|
|
can :move_dining, :moveroom
|
|
|
|
elsif user.role == "cashier"
|
|
|
|
can :read, Order
|
|
can :update, Order
|
|
|
|
can :read, Sale
|
|
can :update, Sale
|
|
|
|
can :add_customer, Customer
|
|
can :update_sale_by_customer, Customer
|
|
|
|
can :index, :discount
|
|
can :create, :discount
|
|
|
|
can :show, :payment
|
|
can :create, :payment
|
|
can :reprint, :payment
|
|
|
|
can :move_dining, :movetable
|
|
can :moving, :movetable
|
|
|
|
can :move_dining, :moveroom
|
|
|
|
elsif user.role == "accountant"
|
|
|
|
can :index, :dailysale
|
|
can :manage, :saleitem
|
|
can :index, :receiptno
|
|
|
|
elsif user.role == "supervisour"
|
|
|
|
can :index, :dailysale
|
|
can :manage, :saleitem
|
|
can :index, :receiptno
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|