Sha256: 636de714170fd18b7b0c0f30cc23828d42d603132e68f6f639e632ff2de2d47c

Contents?: true

Size: 1.87 KB

Versions: 1

Compression:

Stored size: 1.87 KB

Contents

require 'active_support/concern'

module TheCoreAbilitiesConcern
  extend ActiveSupport::Concern
  included do
    def mobilart_models_abilities user
      if user && !user.admin?
        can :scan_item_barcode
        # Caso particolare per gli utenti normali
        if user.has_role? :workers
          can [:read, :telnet_print], ChosenItem
          can :create, Timetable
          can :read, Timetable, user_id: user.id
          can :update, Timetable do |t|
            (t.user_id == user.id && t.created_at >= (Date.today - 2.days))
          end
          cannot :destroy, Timetable
          cannot :dashboard, :all
        end
      end
      # Nessuno può creare ChosenDeck e ChosenRoom e ChosenFurniture
      cannot :create, [ChosenDeck, ChosenRoom, ChosenFurniture, ChosenItem, Workflow]
      cannot :amoeba_dup, [ChosenDeck, ChosenRoom, ChosenFurniture, ChosenItem, Workflow]
      cannot :show, ChosenItem
      cannot [:edit, :destroy], [ChosenFurniture, ChosenItem]
    end
  end
end

# include the extension
TheCoreAbilities.send(:include, TheCoreAbilitiesConcern)

# TheCoreAbilities.module_eval do
#   def mobilart_models_abilities user
#     if user && !user.admin?
#       # Caso particolare per gli utenti normali
#       if user.has_role? :workers
#         can :read, ChosenItem
#         can :create, Timetable
#         can :read, Timetable, user_id: user.id
#         can :update, Timetable do |t|
#           (t.user_id == user.id && t.created_at >= (Date.today - 2.days))
#         end
#         cannot :destroy, Timetable
#       end
#     end
#     # Nessuno può creare ChosenDeck e ChosenRoom e ChosenFurniture
#     cannot :create, [ChosenDeck, ChosenRoom, ChosenFurniture, ChosenItem]
#     cannot :amoeba_dup, [ChosenDeck, ChosenRoom, ChosenFurniture, ChosenItem]
#     cannot :show, ChosenItem
#     cannot [:edit, :destroy], [ChosenFurniture, ChosenItem]
#   end
# end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mobilart_models-1.2.14 lib/mobilart_models_abilities.rb