Sha256: 1dd7bff23792b1943d1f9f796a272592f5ab03d3bfc13d864405392844b12e97
Contents?: true
Size: 1.3 KB
Versions: 1
Compression:
Stored size: 1.3 KB
Contents
# frozen_string_literal: true module Decidim module Lausanne module Budgets module Admin class Permissions < Decidim::DefaultPermissions def permissions return permission_action unless user return permission_action if permission_action.scope != :admin case permission_action.subject when :budget case permission_action.action when :create, :read, :export allow! when :update toggle_allow(budget) when :delete, :publish, :unpublish toggle_allow(budget && budget.projects.empty?) end when :project, :projects case permission_action.action when :create permission_action.allow! when :import_proposals permission_action.allow! when :update, :destroy permission_action.allow! if project.present? end end permission_action end private def budget @budget ||= context.fetch(:budget, nil) end def project @project ||= context.fetch(:project, nil) end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
decidim-lausanne-budgets-0.1.0 | app/permissions/decidim/lausanne/budgets/admin/permissions.rb |