Created
November 13, 2008 18:23
-
-
Save r38y/24543 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
randy $ git blame app/models/organization.rb | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 1) class Organization < ActiveRecord::Base | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 2) set_table_name 'org_prefs' | |
db80906a (Randy Schmidt 2008-08-17 00:31:13 +0000 3) validates_uniqueness_of :sfdc_id, :s3_bucket_name, :allow_blank => true | |
16dc1146 (Chris Conley 2008-07-17 14:53:05 +0000 4) serialize :test_types | |
be980649 (Randy Schmidt 2008-08-16 22:28:32 +0000 5) | |
be980649 (Randy Schmidt 2008-08-16 22:28:32 +0000 6) validates_presence_of :display_name, :short_name, :time_zone | |
be980649 (Randy Schmidt 2008-08-16 22:28:32 +0000 7) validates_presence_of :sfdc_id, :sfdc_username, :sfdc_password, :sfdc_token | |
be980649 (Randy Schmidt 2008-08-16 22:28:32 +0000 8) validates_presence_of :s3_access_key_id, :s3_secret_access_key, :s3_bucket_name | |
011a7e81 (Chris Conley 2008-11-11 20:27:47 +0000 9) validates_presence_of :min_number_of_enrollments, :min_number_of_test_scores, :min_number_of_recommendat | |
e0672cb9 (Randy Schmidt 2008-08-17 00:28:46 +0000 10) | |
f05acdc5 (Chris Conley 2008-08-27 13:59:32 +0000 11) def to_param | |
f05acdc5 (Chris Conley 2008-08-27 13:59:32 +0000 12) sfdc_id.to_s | |
f05acdc5 (Chris Conley 2008-08-27 13:59:32 +0000 13) end | |
f05acdc5 (Chris Conley 2008-08-27 13:59:32 +0000 14) | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 15) # Iterate through the database names. In +test+ environment, | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 16) # add the +dummy+ database, too. | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 17) def self.each_database_name | |
1af6fb17 (Randy Schmidt 2008-01-17 01:09:41 +0000 18) ActiveRecord::Base.establish_connection(RAILS_ENV) | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 19) dbs = self.find(:all, :order => 'id ASC') | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 20) dbs.each do |db| | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 21) yield db.database_name #:yield: database_name | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 22) end | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 23) yield 'dummy' if RAILS_ENV == 'test' | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 24) end | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 25) | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 26) # Return the display name as a database name (lowercase) | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 27) def database_name | |
1af6fb17 (Randy Schmidt 2008-01-17 01:09:41 +0000 28) self.short_name.strip.downcase.gsub(/\s+/,'_') | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 29) end | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 30) | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 31) # Render organization in some printable way | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 32) def to_s | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 33) display_name.strip | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 34) end | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 35) | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 36) # Setup the current database for this organization | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 37) def setup_database | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 38) OrgSpecific::Base::setup_database(self.database_name) | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 39) end | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 40) | |
6e8b7d88 (Randy Schmidt 2008-01-28 21:14:26 +0000 41) def setup_asf | |
6e8b7d88 (Randy Schmidt 2008-01-28 21:14:26 +0000 42) asf_config = { :adapter => 'activesalesforce', | |
6e8b7d88 (Randy Schmidt 2008-01-28 21:14:26 +0000 43) :username => sfdc_username, | |
6e8b7d88 (Randy Schmidt 2008-01-28 21:14:26 +0000 44) :password => sfdc_api_password } | |
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 45) silence_warnings{ | |
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 46) OrgSpecific::AsfBase::setup_asf(asf_config, database_name) | |
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 47) } | |
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 48) end | |
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 49) | |
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 50) # Clear the cached ASF connection for this organization. This is | |
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 51) # necessary if the SFDC schema for this organization has changed and | |
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 52) # we need to make sure it is refreshed. | |
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 53) def clear_asf_connection | |
f0635d0a (Ron Lusk 2008-07-29 13:05:28 +0000 54) OrgSpecific::AsfBase::clear_cached_connection(database_name) | |
6e8b7d88 (Randy Schmidt 2008-01-28 21:14:26 +0000 55) end | |
6e8b7d88 (Randy Schmidt 2008-01-28 21:14:26 +0000 56) | |
de73182a (Andrew Libby 2008-03-05 16:26:45 +0000 57) def setup | |
de73182a (Andrew Libby 2008-03-05 16:26:45 +0000 58) setup_database | |
de73182a (Andrew Libby 2008-03-05 16:26:45 +0000 59) setup_asf | |
de73182a (Andrew Libby 2008-03-05 16:26:45 +0000 60) end | |
de73182a (Andrew Libby 2008-03-05 16:26:45 +0000 61) | |
6e8b7d88 (Randy Schmidt 2008-01-28 21:14:26 +0000 62) def sfdc_api_password | |
6e8b7d88 (Randy Schmidt 2008-01-28 21:14:26 +0000 63) return sfdc_password + sfdc_token | |
6e8b7d88 (Randy Schmidt 2008-01-28 21:14:26 +0000 64) end | |
51896eeb (Andrew Libby 2008-03-17 18:22:05 +0000 65) | |
51896eeb (Andrew Libby 2008-03-17 18:22:05 +0000 66) def s3_config | |
51896eeb (Andrew Libby 2008-03-17 18:22:05 +0000 67) { :bucket_name => s3_bucket_name, | |
51896eeb (Andrew Libby 2008-03-17 18:22:05 +0000 68) :access_key_id => s3_access_key_id, | |
51896eeb (Andrew Libby 2008-03-17 18:22:05 +0000 69) :secret_access_key => s3_secret_access_key | |
51896eeb (Andrew Libby 2008-03-17 18:22:05 +0000 70) } | |
51896eeb (Andrew Libby 2008-03-17 18:22:05 +0000 71) end | |
51896eeb (Andrew Libby 2008-03-17 18:22:05 +0000 72) | |
070b49b4 (Chris Conley 2008-06-13 21:27:47 +0000 73) def payment_voucher_instructions | |
070b49b4 (Chris Conley 2008-06-13 21:27:47 +0000 74) read_attribute(:payment_voucher_instructions).blank? ? DEFAULT_PAYMENT_VOUCHER_INSTRUCTIONS : read_at | |
070b49b4 (Chris Conley 2008-06-13 21:27:47 +0000 75) end | |
f6022971 (Chris Conley 2008-06-21 17:40:00 +0000 76) | |
097be46f (Chris Conley 2008-10-10 17:16:35 +0000 77) def expected_list_of_majors | |
097be46f (Chris Conley 2008-10-10 17:16:35 +0000 78) read_attribute(:expected_list_of_majors).blank? ? DEFAULT_LIST_OF_MAJORS : read_attribute(:expected_l | |
16dc1146 (Chris Conley 2008-07-17 14:53:05 +0000 79) end | |
017f45b4 (Ron Lusk 2008-01-10 05:41:38 +0000 80) end | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment