Files
sx-fc/app/models/ability.rb
Myat Zin Wai Maw 978e7b7e07 transaction sales
2020-02-04 17:47:06 +06:30

364 lines
9.6 KiB
Ruby
Executable File

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, ItemSet
can :manage, MenuItemSet
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, Booking
can :manage, Sale
can :manage, Customer
can :manage, DiningQueue
can :manage, OrderReservation
can :index, :dailysale
can :index, :saleitem
can :index, :receipt_no
can :index, :receipt_no_detail
can :index, :shiftsale
can :index, :credit_payment
can :index, :void_sale
can :index, :waste_and_spoilage
can :index, :product_sale
can :show, :dailysale
can :show, :saleitem
can :show, :receipt_no
can :show, :receipt_no_detail
can :show, :shiftsale
can :show, :credit_payment
can :show, :void_sale
can :show, :waste_and_spoilage
can :show, :product_sale
can :get_customer, Customer
can :add_customer, Customer
can :update_sale_by_customer, Customer
can :index, :other_charge
can :create, :other_charge
can :index, :discount
can :create, :discount
can :remove_discount_items, :discount
can :remove_all_discount, :discount
can :member_discount, :discount
can :first_bill, :payment
can :show, :payment
can :create, :payment
can :reprint, :payment
can :rounding_adj, :payment
can :foc, :payment
can :print, :payment
can :change_tax, :payment
can :move_dining, :movetable
can :moving, :movetable
can :move_dining, :moveroom
can :edit, :sale_edit
can :item_void, :sale_edit
can :item_void_cancel, :sale_edit
can :cancel_all_void, :sale_edit
can :apply_void, :sale_edit
can :item_foc, :sale_edit
can :item_edit, :sale_edit
can :overall_void, :void
can :manage, Commission
can :manage, Commissioner
can :manage, Promotion
can :manage, Product
can :manage, Inventory
can :index, :home
can :show, :home
#ability for split_bill
can :index, :split_bill
can :create, :split_bill
can :update_sale, :split_bill
#oqs Home
can :index, :home
can :index, :show
can :get_order_items, :home
can :get_items_by_oqs, :home
can :update_delivery_status, :home
can :queue_items_query, :home
can :completed_order, :home
can :queue_items_count_query, :home
can :index, :edit
can :update, :edit
can :print, :print
can :print_order_summary, :print
can :read, ShiftSale
can :update, ShiftSale
elsif user.role == "cashier" || user.role =="foodcourt_cashier"
# can :overall_void, :void
can :index, :home
can :show, :home
can :check_emp_access_code, :home
can :read, Order
can :update, Order
can :manage, Booking
can :manage, OrderQueueStation
can :read, Sale
can :update, Sale
can :manage, Customer
can :manage, OrderReservation
can :get_customer, Customer
can :add_customer, Customer
can :update_sale_by_customer, Customer
can :index, :other_charge
can :create, :other_charge
can :index, :discount
can :create, :discount
can :remove_discount_items, :discount
can :remove_all_discount, :discount
can :member_discount, :discount
can :first_bill, :payment
can :show, :payment
can :create, :payment
can :reprint, :payment
can :rounding_adj, :payment
can :foc, :payment
can :print, :payment
can :change_tax, :payment
can :move_dining, :movetable
can :moving, :movetable
can :move_dining, :moveroom
can :manage, Commission
can :manage, Commissioner
can :manage, Promotion
can :manage, Product
#ability for split_bill
can :index, :split_bill
can :create, :split_bill
can :update_sale, :split_bill
#oqs Home
can :index, :home
can :index, :show
can :get_order_items, :home
can :get_items_by_oqs, :home
can :update_delivery_status, :home
can :queue_items_query, :home
can :completed_order, :home
can :queue_items_count_query, :home
can :index, :edit
can :update, :edit
can :print, :print
can :print_order_summary, :print
can :edit, :sale_edit
can :item_void, :sale_edit
can :item_void_cancel, :sale_edit
can :cancel_all_void, :sale_edit
can :apply_void, :sale_edit
can :item_foc, :sale_edit
can :item_edit, :sale_edit
can :overall_void, :void
can :manage, Sale
can :show, :receipt_no
elsif user.role == "account"
can :index, :dailysale
can :index, :saleitem
can :index, :receipt_no
can :index, :receipt_no_detail
can :index, :shiftsale
can :index, :credit_payment
can :index, :void_sale
can :index, :waste_and_spoilage
can :index, :product_sale
can :show, :dailysale
can :show, :saleitem
can :show, :receipt_no
can :show, :receipt_no_detail
can :show, :shiftsale
can :show, :credit_payment
can :show, :void_sale
can :show, :waste_and_spoilage
can :show, :product_sale
elsif user.role == "supervisor"
can :manage, Employee
can :edit, :sale_edit
can :item_void, :sale_edit
can :item_foc, :sale_edit
can :item_edit, :sale_edit
can :item_void_cancel, :sale_edit
can :cancel_all_void, :sale_edit
can :apply_void, :sale_edit
can :overall_void, :void
can :index, :other_charge
can :create, :other_charge
can :index, :discount
can :create, :discount
can :remove_discount_items, :discount
can :remove_all_discount, :discount
can :member_discount, :discount
can :move_dining, :movetable
can :moving, :movetable
can :move_dining, :moveroom
can :manage, Sale
can :manage, Customer
can :manage, DiningQueue
can :manage, OrderReservation
can :first_bill, :payment
can :create, :payment
can :show, :payment
can :reprint, :payment
can :rounding_adj, :payment
can :print, :payment
can :foc, :payment
can :change_tax, :payment
can :manage, Commission
can :manage, Commissioner
can :manage, Promotion
can :manage, Product
can :index, :home
can :show, :home
#ability for split_bill
can :index, :split_bill
can :create, :split_bill
can :update_sale, :split_bill
#oqs Home
can :index, :home
can :index, :show
can :get_order_items, :home
can :get_items_by_oqs, :home
can :update_delivery_status, :home
can :queue_items_query, :home
can :completed_order, :home
can :queue_items_count_query, :home
can :index, :edit
can :update, :edit
can :print, :print
can :print_order_summary, :print
elsif user.role == "waiter"
can :index, :home
can :show, :home
can :manage, Customer
can :get_customer, Customer
can :add_customer, Customer
can :update_sale_by_customer, Customer
can :index, :other_charge
can :create, :other_charge
can :index, :discount
can :create, :discount
can :remove_discount_items, :discount
can :remove_all_discount, :discount
can :member_discount, :discount
#ability for move table
can :move_dining, :movetable
can :moving, :movetable
can :move_dining, :moveroom
#ability for split_bill
can :index, :split_bill
can :create, :split_bill
#oqs Home
can :index, :home
can :index, :show
can :get_order_items, :home
can :get_items_by_oqs, :home
can :update_delivery_status, :home
can :queue_items_query, :home
can :completed_order, :home
can :queue_items_count_query, :home
can :index, :edit
can :update, :edit
can :print, :print
can :print_order_summary, :print
elsif user.role == "kitchen"
#oqs Home
can :manage, OrderQueueStation
can :index, :home
# can :index, :show
can :get_order_items, :home
can :get_items_by_oqs, :home
can :update_delivery_status, :home
can :queue_items_query, :home
can :completed_order, :home
can :queue_items_count_query, :home
can :index, :edit
can :update, :edit
can :print, :print
can :print_order_summary, :print
end
end
end