Sha256: 8c2436c693ad3915df5d905b99a7d7d02e3d524b3dbf88259fa780168ce6ec71
Contents?: true
Size: 911 Bytes
Versions: 6
Compression:
Stored size: 911 Bytes
Contents
# frozen_string_literal: true module Decidim module Votings module PollingOfficerZone class Permissions < Decidim::DefaultPermissions def permissions return permission_action unless permission_action.scope == :polling_officer_zone case permission_action.subject when :polling_officers, :polling_station toggle_allow(polling_officers_for_user?) if [:view].member?(permission_action.action) when :user allow! if permission_action.action == :update_profile end permission_action end private def polling_officers_for_user? polling_officers.any? && polling_officers.all? { |polling_officer| polling_officer.user == user } end def polling_officers @polling_officers ||= context.fetch(:polling_officers, []) end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems