Class: Decidim::TimeTracker::Admin::Permissions
- Inherits:
-
DefaultPermissions
- Object
- DefaultPermissions
- Decidim::TimeTracker::Admin::Permissions
- Defined in:
- app/permissions/decidim/time_tracker/admin/permissions.rb
Instance Method Summary collapse
- #allowed_activity_action? ⇒ Boolean
- #allowed_assignation_action? ⇒ Boolean
- #allowed_questionnaire_action? ⇒ Boolean
- #allowed_task_action? ⇒ Boolean
- #assignation ⇒ Object
- #permissions ⇒ Object
Instance Method Details
#allowed_activity_action? ⇒ Boolean
43 44 45 46 47 48 49 50 |
# File 'app/permissions/decidim/time_tracker/admin/permissions.rb', line 43 def allowed_activity_action? return unless .subject.in? [:activity, :activities] case .action when :index, :create, :update, :destroy .allow! end end |
#allowed_assignation_action? ⇒ Boolean
52 53 54 55 56 57 58 59 60 61 |
# File 'app/permissions/decidim/time_tracker/admin/permissions.rb', line 52 def allowed_assignation_action? return unless .subject.in? [:assignation, :assignations] case .action when :update .allow! if assignation.can_change_status? when :index, :create, :destroy .allow! end end |
#allowed_questionnaire_action? ⇒ Boolean
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'app/permissions/decidim/time_tracker/admin/permissions.rb', line 27 def allowed_questionnaire_action? return unless .subject.in? [:questionnaire, :questionnaire_answers] if .subject == :questionnaire case .action when :export_answers, :update, :preview .allow! end elsif .subject == :questionnaire_answers case .action when :show, :index, :export_response .allow! end end end |
#allowed_task_action? ⇒ Boolean
18 19 20 21 22 23 24 25 |
# File 'app/permissions/decidim/time_tracker/admin/permissions.rb', line 18 def allowed_task_action? return unless .subject.in? [:task, :tasks] case .action when :index, :create, :update, :destroy .allow! end end |
#assignation ⇒ Object
63 64 65 |
# File 'app/permissions/decidim/time_tracker/admin/permissions.rb', line 63 def assignation @assignation ||= context.fetch(:assignation, nil) end |
#permissions ⇒ Object
7 8 9 10 11 12 13 14 15 16 |
# File 'app/permissions/decidim/time_tracker/admin/permissions.rb', line 7 def return if .scope != :admin allowed_task_action? allowed_questionnaire_action? allowed_activity_action? allowed_assignation_action? end |