Guest User

Untitled

a guest
Jan 21st, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. ~/sync/rails/gsoft$ svn diff -r 965:HEAD app/models/organization.rb
  2. Index: app/models/organization.rb
  3. ===================================================================
  4. --- app/models/organization.rb (revision 965)
  5. +++ app/models/organization.rb (revision 974)
  6. @@ -40,6 +40,7 @@
  7. has_one :billing_detail, :dependent => :destroy
  8.  
  9. # PersonStatus data is stored in the :person_statuses key of org_data
  10. + # Donations data is stored in the :donation_data key of org_data
  11. serialize :org_data, Hash
  12.  
  13. attr_accessible :name, :street_addr, :city, :state, :zip, :country, :phone, :email, :web_site, :tz, :locale
  14. @@ -237,6 +238,40 @@
  15. billing_overdue && billing_overdue < date
  16. end
  17.  
  18. + # This getter may produce a side effect of populating all or part of
  19. + # org_data[:donations_data] with default values and saving the
  20. + # Organization.
  21. + def donations_data
  22. + return self.org_data[:donations_data] unless
  23. + (self.org_data.blank? ||
  24. + self.org_data[:donations_data].blank? ||
  25. + self.org_data[:donations_data][:categories].blank? ||
  26. + self.org_data[:donations_data][:payment_types].blank?)
  27. +
  28. + self.org_data = {} if self.org_data.nil?
  29. + self.org_data[:donations_data] = {} if self.org_data[:donations_data].nil?
  30. +
  31. + self.org_data[:donations_data][:categories] =
  32. + [ 'General Offering',
  33. + 'Building/Expansion',
  34. + 'Directed Offerings',
  35. + 'Alms Giving' ] if self.org_data[:donations_data][:categories].blank?
  36. +
  37. + self.org_data[:donations_data][:payment_types] =
  38. + [ 'Check',
  39. + 'Cash',
  40. + 'Credit Card',
  41. + 'Money Order' ] if self.org_data[:donations_data][:payment_types].blank?
  42. +
  43. + self.save!
  44. + self.org_data[:donations_data]
  45. + end
  46. +
  47. + def donations_data= hsh
  48. + self.org_data = {} if self.org_data.nil?
  49. + self.org_data[:donations_data] = hsh
  50. + end
  51. +
  52. # Updates the organization's max_size and changes all its
  53. # org_service service_levels to the correct level for the new size.
  54. # grow! :: Integer -> Boolean
Add Comment
Please, Sign In to add comment