congress_message_campaign.rb 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. class CongressMessageCampaign < ActiveRecord::Base
  2. belongs_to :topic_category
  3. has_one :action_page
  4. scope :targets_bioguide_ids, -> { where("target_bioguide_ids IS NOT NULL") }
  5. before_validation :normalize_fields
  6. def email_your_rep_text(default)
  7. target_bioguide_text_or_default alt_text_email_your_rep, default
  8. end
  9. def look_up_your_rep_text(default)
  10. target_bioguide_text_or_default alt_text_look_up_your_rep, default
  11. end
  12. def look_up_helper_text(default)
  13. target_bioguide_text_or_default alt_text_look_up_helper, default
  14. end
  15. def customize_message_helper_text(default)
  16. target_bioguide_text_or_default alt_text_customize_message_helper, default
  17. end
  18. def extra_fields_explain_text(default)
  19. target_bioguide_text_or_default alt_text_extra_fields_explain, default
  20. end
  21. def target_specific_legislators
  22. !(target_house || target_senate)
  23. end
  24. private
  25. def target_bioguide_text_or_default(custom_text, default)
  26. if !target_bioguide_ids or custom_text.blank?
  27. default
  28. else
  29. custom_text
  30. end
  31. end
  32. def normalize_fields
  33. self.target_bioguide_ids = nil if target_bioguide_ids.blank?
  34. self.alt_text_email_your_rep = nil if alt_text_email_your_rep.blank?
  35. self.alt_text_look_up_your_rep = nil if alt_text_look_up_your_rep.blank?
  36. self.alt_text_extra_fields_explain = nil if alt_text_extra_fields_explain.blank?
  37. self.alt_text_look_up_helper = nil if alt_text_look_up_helper.blank?
  38. self.alt_text_customize_message_helper = nil if alt_text_customize_message_helper.blank?
  39. end
  40. end