Commit f037897f054263f135c3fc68b7c32f0422c5cc87

Authored by Daniela Feitosa
1 parent 2e9bff75

Fix: add/remove admin with CustomFormsPLugin enabled

(ActionItem2494)
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