Sha256: 1d83155da24239eaa686a674292e63c398fa530936371c05bb655dc91c1e5f95
Contents?: true
Size: 849 Bytes
Versions: 87
Compression:
Stored size: 849 Bytes
Contents
# frozen_string_literal: true module Decidim module Sortitions module Admin class Permissions < Decidim::DefaultPermissions def permissions return permission_action unless user return permission_action if permission_action.scope != :admin return permission_action if permission_action.subject != :sortition case permission_action.action when :destroy permission_action.allow! if sortition.present? && !sortition.cancelled? when :update permission_action.allow! if sortition.present? when :create, :read permission_action.allow! end permission_action end private def sortition @sortition ||= context.fetch(:sortition, nil) end end end end end
Version data entries
87 entries across 87 versions & 1 rubygems