app/permissions/decidim/initiatives/admin/permissions.rb in decidim-initiatives-0.26.10 vs app/permissions/decidim/initiatives/admin/permissions.rb in decidim-initiatives-0.27.0.rc1

- old
+ new

@@ -17,10 +17,11 @@ if !user.admin? && initiative&.has_authorship?(user) initiative_committee_action? initiative_user_action? attachment_action? + initiatives_settings_action? return permission_action end if !user.admin? && has_initiatives? @@ -34,10 +35,11 @@ initiative_type_action? initiative_type_scope_action? initiative_committee_action? initiative_admin_user_action? initiative_export_action? + initiatives_settings_action? moderator_action? allow! if permission_action.subject == :attachment permission_action end @@ -132,16 +134,14 @@ return unless permission_action.subject == :initiative case permission_action.action when :read toggle_allow(Decidim::Initiatives.print_enabled) - when :publish + when :publish, :discard toggle_allow(initiative.validating?) when :unpublish toggle_allow(initiative.published?) - when :discard - toggle_allow(initiative.validating?) when :export_pdf_signatures toggle_allow(initiative.published? || initiative.accepted? || initiative.rejected?) when :export_votes toggle_allow(initiative.offline_signature_type? || initiative.any_signature_type?) when :accept @@ -161,10 +161,16 @@ end end def initiative_export_action? allow! if permission_action.subject == :initiatives && permission_action.action == :export - allow! if permission_action.action == :export && permission_action.subject == :component_data + end + + def initiatives_settings_action? + return unless permission_action.action == :update && + permission_action.subject == :initiatives_settings + + toggle_allow(user.admin?) end def moderator_action? return unless permission_action.subject == :moderation