Class: Decidim::TimeTracker::Permissions
- Inherits:
-
DefaultPermissions
- Object
- DefaultPermissions
- Decidim::TimeTracker::Permissions
- Defined in:
- app/permissions/decidim/time_tracker/permissions.rb
Instance Method Summary collapse
- #allow_answer? ⇒ Boolean
- #allow_assignation? ⇒ Boolean
- #allow_milestone? ⇒ Boolean
- #permissions ⇒ Object
Instance Method Details
#allow_answer? ⇒ Boolean
28 29 30 31 32 |
# File 'app/permissions/decidim/time_tracker/permissions.rb', line 28 def allow_answer? return unless .action == :answer allow! if current_component&.published? end |
#allow_assignation? ⇒ Boolean
34 35 36 37 38 39 40 41 42 43 44 |
# File 'app/permissions/decidim/time_tracker/permissions.rb', line 34 def allow_assignation? return allow! unless activity if .action == :create return if activity.has_assignation? user return unless activity.status.in? [:open, :not_started] allow! end end |
#allow_milestone? ⇒ Boolean
46 47 48 49 50 51 52 53 54 55 56 |
# File 'app/permissions/decidim/time_tracker/permissions.rb', line 46 def allow_milestone? return unless activity if .action == :create return unless activity.assignation_accepted? user return if activity.status.in? [:inactive] allow! end end |
#permissions ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'app/permissions/decidim/time_tracker/permissions.rb', line 6 def # for the moment, we let public views for milestones allow! if .subject == :milestone && .action == :show return unless user return Decidim::TimeTracker::Admin::Permissions.new(user, , context). if .scope == :admin case .subject when :questionnaire allow_answer? when :assignation allow_assignation? when :milestone allow_milestone? else allow! end end |