Sha256: 159607c0fbad9ced4072996ba175adaa37eeb75602228d5b5ef6ece7ed54bf77
Contents?: true
Size: 1.1 KB
Versions: 2
Compression:
Stored size: 1.1 KB
Contents
# frozen_string_literal: true module Decidim module Notify class Permissions < Decidim::DefaultPermissions def permissions return permission_action unless permission_action.subject.in? [:notes, :chapter] index_action? edit_action? permission_action end def index_action? return unless permission_action.action == :index component = context.fetch(:current_component) if component.settings.private return unless user participants = Author.for(component).pluck :decidim_user_id return allow! if participants.include? user.id elsif component.settings.restricted return allow! if user else allow! end end def edit_action? return unless user case permission_action.action when :create, :update, :destroy component = context.fetch(:current_component) note_takers = Author.for(component).note_takers.pluck :decidim_user_id return allow! if note_takers.include? user.id end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
decidim-notify-0.5 | app/permissions/decidim/notify/permissions.rb |
decidim-notify-0.4 | app/permissions/decidim/notify/permissions.rb |