Commit f037897f054263f135c3fc68b7c32f0422c5cc87
1 parent
2e9bff75
Exists in
master
and in
29 other branches
Fix: add/remove admin with CustomFormsPLugin enabled
(ActionItem2494)
Showing
1 changed file
with
17 additions
and
13 deletions
Show diff stats
plugins/custom_forms/lib/ext/role_assignment_trigger.rb
@@ -2,24 +2,28 @@ module RoleAssignmentTrigger | @@ -2,24 +2,28 @@ module RoleAssignmentTrigger | ||
2 | def self.included(base) | 2 | def self.included(base) |
3 | base.class_eval do | 3 | base.class_eval do |
4 | before_create do |ra| | 4 | before_create do |ra| |
5 | - profile = ra.resource | ||
6 | - person = ra.accessor | ||
7 | - ok = !profile.nil? && !person.nil? && profile.environment.present? | ||
8 | - if ok && profile.environment.plugin_enabled?(CustomFormsPlugin) && !person.is_member_of?(profile) | ||
9 | - CustomFormsPlugin::Form.from(profile).on_memberships.each do |form| | ||
10 | - CustomFormsPlugin::MembershipSurvey.create!(:requestor => profile, :target => person, :form_id => form.id) | 5 | + if ra.resource.kind_of?(Profile) |
6 | + profile = ra.resource | ||
7 | + person = ra.accessor | ||
8 | + ok = !profile.nil? && !person.nil? && profile.environment.present? | ||
9 | + if ok && profile.environment.plugin_enabled?(CustomFormsPlugin) && !person.is_member_of?(profile) | ||
10 | + CustomFormsPlugin::Form.from(profile).on_memberships.each do |form| | ||
11 | + CustomFormsPlugin::MembershipSurvey.create!(:requestor => profile, :target => person, :form_id => form.id) | ||
12 | + end | ||
11 | end | 13 | end |
12 | end | 14 | end |
13 | end | 15 | end |
14 | 16 | ||
15 | after_destroy do |ra| | 17 | after_destroy do |ra| |
16 | - profile = ra.resource | ||
17 | - person = ra.accessor | ||
18 | - ok = !profile.nil? && !person.nil? && profile.environment.present? | ||
19 | - if ok && profile.environment.plugin_enabled?(CustomFormsPlugin) && !person.is_member_of?(profile) | ||
20 | - CustomFormsPlugin::Form.from(profile).on_memberships.each do |form| | ||
21 | - task = person.tasks.pending.select {|task| task.kind_of?(CustomFormsPlugin::MembershipSurvey) && task.form_id == form.id}.first | ||
22 | - task.cancel if task | 18 | + if ra.resource.kind_of?(Profile) |
19 | + profile = ra.resource | ||
20 | + person = ra.accessor | ||
21 | + ok = !profile.nil? && !person.nil? && profile.environment.present? | ||
22 | + if ok && profile.environment.plugin_enabled?(CustomFormsPlugin) && !person.is_member_of?(profile) | ||
23 | + CustomFormsPlugin::Form.from(profile).on_memberships.each do |form| | ||
24 | + task = person.tasks.pending.select {|task| task.kind_of?(CustomFormsPlugin::MembershipSurvey) && task.form_id == form.id}.first | ||
25 | + task.cancel if task | ||
26 | + end | ||
23 | end | 27 | end |
24 | end | 28 | end |
25 | end | 29 | end |