Sha256: 9da1bb139569d926730810bc6091e5a9dd7aff7c3a336b7686712a217d4e3b5a
Contents?: true
Size: 1.15 KB
Versions: 6
Compression:
Stored size: 1.15 KB
Contents
# frozen_string_literal: true module Decidim module Votings class Permissions < Decidim::DefaultPermissions def permissions allowed_public_anonymous_action? return permission_action unless user return Decidim::Votings::Admin::Permissions.new(user, permission_action, context).permissions if permission_action.scope == :admin # Delegate the polling_officer_zone permission checks to the polling officer zone permissions class return Decidim::Votings::PollingOfficerZone::Permissions.new(user, permission_action, context).permissions if permission_action.scope == :polling_officer_zone permission_action end private def voting @voting ||= context.fetch(:voting, nil) end def allowed_public_anonymous_action? return unless permission_action.action == :read return unless permission_action.scope == :public case permission_action.subject when :votings allow! when :voting toggle_allow(voting.published? || user&.admin?) when :participatory_space allow! end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems