caboose-rets 0.0.37 → 0.0.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZjQ2MGMwMDQxY2M2ODI5MzAxNjc0N2NkMGJmNzUwZTA1ZGMyZjhjYw==
4
+ ZmU1ZGYzYTkwZjc4NDY4MjcyY2U1OTQ5M2YyNjY3NDQyNmYwODJmNg==
5
5
  data.tar.gz: !binary |-
6
- NzEzMDdlODFmODkzODZkNTgxMDcxNmUzMWMxMjZlOTEzMzIwYzgxOA==
6
+ ZjU1OGJjMGExNmQ1ZTlmZGUzNTkyYmNlZGJkOTE0MjNlZDc4NzhlMg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- MzNmMGM5ZmFiYWIxNTUzOTdmMGJhZjQyOGQwYjU3ZTE0ZWEzNjk1ODgyMTc4
10
- NTUxZjFlNjkxZWYxYTFjMGRiZGE2MDY2NzU2OTljMDZiYTE0MjAxMjY0MWUw
11
- YzJmZGRmODY4MTFkYjliMGY1YjRjZTBhZGYxYzgzMGE0YTkwZTU=
9
+ NzE1NzI4MWE3ZTc0NzVmNWZjNTJhMmM1NDMzYzI0NTQwNTQ0NjZjOWNlMTIy
10
+ MmI0MTA0YjllZmQ5NThkOTMwZDExZWExMTBlNzU2ZTdmZjhiMGE5Y2QzMzM4
11
+ Y2NlNzI2M2IwMWNlM2I3ODAyZmM3MmE1ZDkxMDE3NzVkYmZlYzQ=
12
12
  data.tar.gz: !binary |-
13
- Y2NmYzg1MThiYWM1YzdjNzI3Nzk4MWRjYzE2MDY2MWMwMDNkYzYzZTVlNDAw
14
- YTRlNmVlMzUxZTExMjMzZDFlOTAwZDI2YmUyNWY4ODE3MWRmMjc0NTEzODcx
15
- N2VkZDAyMDNjN2EwNmU5ZWZjZDQxNTVjNTQxNDQyNjUzZjFjNWQ=
13
+ ZTY2ZDRjYjczODAwM2U2YzBmZmUzMmRmMjJiNzA5ZmZlNTQ3ODdkOGMzNjk3
14
+ OTNhNWRlYmVjYzVmMjk4YWE3YzVhMmJlMzRkZmZhYzY0NjEyYTU3MDFlODAx
15
+ YjE1YjE5ZDgwZmE4NzM1Njc2MWYxY2E2N2U2MWE3NmFkMzhiNDM=
@@ -22,8 +22,8 @@ module CabooseRets
22
22
  # GET /agents/:la_code/listings
23
23
  def listings
24
24
  @agent = Agent.where(:la_code => params[:la_code]).first
25
- is_agents = "la_code = ? AND (status = 'Active' OR status = 'Pending')"
26
- is_coagents = "co_la_code = ? AND (status = 'Active' OR status = 'Pending')"
25
+ is_agents = "la_code = ? AND status = 'Active'"
26
+ is_coagents = "co_la_code = ? AND status = 'Active'"
27
27
 
28
28
  residential_properties = ResidentialProperty.where(is_agents, params[:la_code])
29
29
  residential_properties += ResidentialProperty.where(is_coagents, params[:la_code]).select{ |p| defined? p && p.mls_acct }
@@ -10,6 +10,7 @@ class CabooseRets::Agent < ActiveRecord::Base
10
10
  :thumb => '100x150>',
11
11
  :large => '200x300>'
12
12
  }
13
+ do_not_validate_attachment_file_type :image
13
14
  after_initialize :fix_name
14
15
 
15
16
  def assistants
@@ -2,7 +2,8 @@
2
2
  class CabooseRets::Media < ActiveRecord::Base
3
3
  self.table_name = "rets_media"
4
4
 
5
- has_attached_file :file, :path => 'rets/media/:mls_acct_:id.:extension'
5
+ has_attached_file :file, :path => 'rets/media/:mls_acct_:id.:extension'
6
+ do_not_validate_attachment_file_type :file
6
7
  has_attached_file :image,
7
8
  :path => 'rets/media/:mls_acct_:media_order_:style.:extension',
8
9
  :styles => {
@@ -10,6 +11,7 @@ class CabooseRets::Media < ActiveRecord::Base
10
11
  :thumb => '400x300>',
11
12
  :large => '640x480>'
12
13
  }
14
+ do_not_validate_attachment_file_type :image
13
15
  attr_accessible :date_modified, :file_name, :media_id, :media_order, :media_remarks, :media_type, :mls_acct, :url
14
16
 
15
17
  def parse(data)
@@ -90,7 +90,7 @@ class CabooseRets::RetsImporter # < ActiveRecord::Base
90
90
  self.import_modified_after(date_modified, 'Agent' , 'AGT')
91
91
  self.import_modified_after(date_modified, 'Office' , 'OFF')
92
92
  self.import_modified_after(date_modified, 'OpenHouse' , 'OPH')
93
- self.import_modified_after(date_modified, 'Property' , 'COM')
93
+ #self.import_modified_after(date_modified, 'Property' , 'COM')
94
94
  self.import_modified_after(date_modified, 'Property' , 'LND')
95
95
  self.import_modified_after(date_modified, 'Property' , 'MUL')
96
96
  self.import_modified_after(date_modified, 'Property' , 'RES')
@@ -106,6 +106,12 @@ class CabooseRets::RetsImporter # < ActiveRecord::Base
106
106
  # Data
107
107
  #=============================================================================
108
108
 
109
+ def self.import_property(mls_acct)
110
+ self.import("(MLS_ACCT=*#{mls_acct}*)", 'Property', 'RES')
111
+ p = CabooseRets::ResidentialProperty.find(mls_acct.to_i)
112
+ self.download_property_images(p)
113
+ end
114
+
109
115
  def self.import_modified_after(date_modified, search_type = nil, class_type = nil)
110
116
  self.get_config if @@config.nil? || @@config['url'].nil?
111
117
 
@@ -158,11 +164,17 @@ class CabooseRets::RetsImporter # < ActiveRecord::Base
158
164
  }
159
165
  obj = nil
160
166
  self.client.search(params) do |data|
161
- m = @@models[class_type].constantize
167
+ m = @@models[class_type]
162
168
  #key_field = @@key_fields[search_type]
163
169
  #id = data[key_field].to_i
164
170
  #obj = m.exists?(id) ? m.find(id) : m.new
165
171
  obj = self.get_instance_with_id(m, data)
172
+ if obj.nil?
173
+ puts "Error: object is nil"
174
+ puts m.inspect
175
+ puts data.inspect
176
+ next
177
+ end
166
178
  obj.parse(data)
167
179
  #obj.id = id
168
180
  obj.save
@@ -175,19 +187,20 @@ class CabooseRets::RetsImporter # < ActiveRecord::Base
175
187
  end
176
188
  end
177
189
 
178
- def self.get_instance_with_id(model, data)
179
- m = nil
190
+ def self.get_instance_with_id(model, data)
191
+ obj = nil
192
+ m = model.constantize
180
193
  case model
181
- when CabooseRets::OpenHouse then m = model.where(:id => data['ID'] ).exists? ? model.where(:id => data['ID'] ).first : model.new(:id => data['ID'] )
182
- when CabooseRets::Media then m = model.where(:media_id => data['MEDIA_ID'] ).exists? ? model.where(:media_id => data['MEDIA_ID'] ).first : model.new(:media_id => data['MEDIA_ID'] )
183
- when CabooseRets::CommercialProperty then m = model.where(:id => data['MLS_ACCT'].to_i ).exists? ? model.where(:id => data['MLS_ACCT'].to_i ).first : model.new(:id => data['MLS_ACCT'].to_i )
184
- when CabooseRets::LandProperty then m = model.where(:id => data['MLS_ACCT'].to_i ).exists? ? model.where(:id => data['MLS_ACCT'].to_i ).first : model.new(:id => data['MLS_ACCT'].to_i )
185
- when CabooseRets::MultiFamilyProperty then m = model.where(:id => data['MLS_ACCT'].to_i ).exists? ? model.where(:id => data['MLS_ACCT'].to_i ).first : model.new(:id => data['MLS_ACCT'].to_i )
186
- when CabooseRets::ResidentialProperty then m = model.where(:id => data['MLS_ACCT'].to_i ).exists? ? model.where(:id => data['MLS_ACCT'].to_i ).first : model.new(:id => data['MLS_ACCT'].to_i )
187
- when CabooseRets::Agent then m = model.where(:la_code => data['LA_LA_CODE'] ).exists? ? model.where(:la_code => data['LA_LA_CODE'] ).first : model.new(:la_code => data['LA_LA_CODE'] )
188
- when CabooseRets::Office then m = model.where(:lo_code => data['LO_LO_CODE'] ).exists? ? model.where(:lo_code => data['LO_LO_CODE'] ).first : model.new(:lo_code => data['LO_LO_CODE'] )
194
+ when 'CabooseRets::OpenHouse' then obj = m.where(:id => data['ID'].to_i ).exists? ? m.where(:id => data['ID'].to_i ).first : m.new(:id => data['ID'].to_i )
195
+ when 'CabooseRets::Media' then obj = m.where(:media_id => data['MEDIA_ID'] ).exists? ? m.where(:media_id => data['MEDIA_ID'] ).first : m.new(:media_id => data['MEDIA_ID'] )
196
+ when 'CabooseRets::CommercialProperty' then obj = m.where(:id => data['MLS_ACCT'].to_i ).exists? ? m.where(:id => data['MLS_ACCT'].to_i ).first : m.new(:id => data['MLS_ACCT'].to_i )
197
+ when 'CabooseRets::LandProperty' then obj = m.where(:id => data['MLS_ACCT'].to_i ).exists? ? m.where(:id => data['MLS_ACCT'].to_i ).first : m.new(:id => data['MLS_ACCT'].to_i )
198
+ when 'CabooseRets::MultiFamilyProperty' then obj = m.where(:id => data['MLS_ACCT'].to_i ).exists? ? m.where(:id => data['MLS_ACCT'].to_i ).first : m.new(:id => data['MLS_ACCT'].to_i )
199
+ when 'CabooseRets::ResidentialProperty' then obj = m.where(:id => data['MLS_ACCT'].to_i ).exists? ? m.where(:id => data['MLS_ACCT'].to_i ).first : m.new(:id => data['MLS_ACCT'].to_i )
200
+ when 'CabooseRets::Agent' then obj = m.where(:la_code => data['LA_LA_CODE'] ).exists? ? m.where(:la_code => data['LA_LA_CODE'] ).first : m.new(:la_code => data['LA_LA_CODE'] )
201
+ when 'CabooseRets::Office' then obj = m.where(:lo_code => data['LO_LO_CODE'] ).exists? ? m.where(:lo_code => data['LO_LO_CODE'] ).first : m.new(:lo_code => data['LO_LO_CODE'] )
189
202
  end
190
- return m
203
+ return obj
191
204
  end
192
205
 
193
206
  #=============================================================================
@@ -1,3 +1,3 @@
1
1
  module CabooseRets
2
- VERSION = '0.0.37'
2
+ VERSION = '0.0.38'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: caboose-rets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.37
4
+ version: 0.0.38
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Barry
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-13 00:00:00.000000000 Z
11
+ date: 2014-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: caboose-cms