Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ~/sync/rails/gsoft$ svn diff -r 965:HEAD app/models/organization.rb
- Index: app/models/organization.rb
- ===================================================================
- --- app/models/organization.rb (revision 965)
- +++ app/models/organization.rb (revision 974)
- @@ -40,6 +40,7 @@
- has_one :billing_detail, :dependent => :destroy
- # PersonStatus data is stored in the :person_statuses key of org_data
- + # Donations data is stored in the :donation_data key of org_data
- serialize :org_data, Hash
- attr_accessible :name, :street_addr, :city, :state, :zip, :country, :phone, :email, :web_site, :tz, :locale
- @@ -237,6 +238,40 @@
- billing_overdue && billing_overdue < date
- end
- + # This getter may produce a side effect of populating all or part of
- + # org_data[:donations_data] with default values and saving the
- + # Organization.
- + def donations_data
- + return self.org_data[:donations_data] unless
- + (self.org_data.blank? ||
- + self.org_data[:donations_data].blank? ||
- + self.org_data[:donations_data][:categories].blank? ||
- + self.org_data[:donations_data][:payment_types].blank?)
- +
- + self.org_data = {} if self.org_data.nil?
- + self.org_data[:donations_data] = {} if self.org_data[:donations_data].nil?
- +
- + self.org_data[:donations_data][:categories] =
- + [ 'General Offering',
- + 'Building/Expansion',
- + 'Directed Offerings',
- + 'Alms Giving' ] if self.org_data[:donations_data][:categories].blank?
- +
- + self.org_data[:donations_data][:payment_types] =
- + [ 'Check',
- + 'Cash',
- + 'Credit Card',
- + 'Money Order' ] if self.org_data[:donations_data][:payment_types].blank?
- +
- + self.save!
- + self.org_data[:donations_data]
- + end
- +
- + def donations_data= hsh
- + self.org_data = {} if self.org_data.nil?
- + self.org_data[:donations_data] = hsh
- + end
- +
- # Updates the organization's max_size and changes all its
- # org_service service_levels to the correct level for the new size.
- # grow! :: Integer -> Boolean
Add Comment
Please, Sign In to add comment