Sha256: 4fc9621a642141275af89bbbb67ce48c2125ead9c9f2b87bde7dbab659a6dd20

Contents?: true

Size: 833 Bytes

Versions: 20

Compression:

Stored size: 833 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Budgets
    module Admin
      class Permissions < Decidim::DefaultPermissions
        def permissions
          # The public part needs to be implemented yet
          return permission_action if permission_action.scope != :admin

          return permission_action unless [:project, :projects].include?(permission_action.subject)

          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

          permission_action
        end

        private

        def project
          @project ||= context.fetch(:project, nil)
        end
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
decidim-budgets-0.22.0 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.21.0 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.20.1 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.20.0 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.19.1 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.18.1 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.19.0 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.17.2 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.18.0 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.17.1 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.16.1 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.17.0 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.16.0 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.15.2 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.15.1 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.15.0 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.14.4 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.14.3 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.14.2 app/permissions/decidim/budgets/admin/permissions.rb
decidim-budgets-0.14.1 app/permissions/decidim/budgets/admin/permissions.rb