Skip to content

Commit 5cce3c1

Browse files
authored
Partner Profile : clean up social media, request types and pick up emails (#4829)
* clean up social media, request types and pick up emails * suggested changes
1 parent a31207a commit 5cce3c1

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
class CleanupInvalidPartnerProfiles < ActiveRecord::Migration[7.1]
2+
def up
3+
# ActiveRecord::Base.logger = Logger.new(STDOUT)
4+
invalid_profiles = Partners::Profile.all.reject(&:valid?)
5+
6+
return if !invalid_profiles.present?
7+
8+
invalid_profiles.each do |profile|
9+
# address invalid social media section
10+
11+
unless (profile.website.present? ||
12+
profile.twitter.present? ||
13+
profile.facebook.present? ||
14+
profile.instagram.present? ||
15+
profile.no_social_media_presence ||
16+
profile.partner.partials_to_show.exclude?("media_information"))
17+
profile.no_social_media_presence = true
18+
end
19+
20+
# address no request types set
21+
22+
unless(profile.enable_quantity_based_requests || profile.enable_individual_requests || profile.enable_child_based_requests)
23+
profile.enable_quantity_based_requests = profile.partner.organization.enable_quantity_based_requests
24+
profile.enable_individual_requests = profile.partner.organization.enable_individual_requests
25+
profile.enable_child_based_requests = profile.partner.organization.enable_child_based_requests
26+
end
27+
28+
29+
30+
# address bad pickup email
31+
32+
unless profile.valid?
33+
# if profile is not valid at this point, it is a bad pickup email
34+
35+
pick_up = profile.pick_up_email
36+
pick_up.downcase!
37+
pick_up.strip!
38+
if pick_up == "none" or pick_up == "na" or pick_up == "n/a" or pick_up == "see above"
39+
profile.pick_up_email = ""
40+
else
41+
profile.pick_up_email.gsub!("/",",")
42+
profile.pick_up_email.gsub!(";",",")
43+
profile.pick_up_email.gsub!(" or ", ", ")
44+
profile.pick_up_email.gsub!(" and ", ", ")
45+
profile.pick_up_email.gsub!(" & ", ", ")
46+
end
47+
48+
if(!profile.valid?) ## If we can't fix the email, append it to the name so we don't lose the information aspect
49+
profile.pick_up_name += ", email: " + profile.pick_up_email
50+
profile.pick_up_email = ""
51+
end
52+
end
53+
54+
profile.save!
55+
56+
end
57+
end
58+
def down
59+
# irreversible
60+
end
61+
end

0 commit comments

Comments
 (0)