caboose-rets 0.1.173 → 0.1.178

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,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d696008a55d4db2c7e4355676577b1125127c58fbda6e18570f02db82b2d5c40
4
- data.tar.gz: 8d87073dd33a633bc18ed370fdd5d7211fb7ad8918559062551955be50544a1c
3
+ metadata.gz: d1336b86c680261a9752197de165a1f305858cce9ca7f26f44a3ab3fba71c33a
4
+ data.tar.gz: 500e94bad563fbfc06ab78e248feeb8bd16c922512eee1afe3bcdb8c723c39c9
5
5
  SHA512:
6
- metadata.gz: 7156982635d8c2588036a898809ac2101c975fcb69059b4047c2768186bdfc3d5beaeb2dd9294ed2a245460498bb3019a5531f71777bd2b97262e61f99646034
7
- data.tar.gz: a3fafd917d276b72e04752df7c426ea939ad61408a52e26aafc81c0beca79467d8b63e238c06ec88eca5aa96090e1a790e99077f668eb11009f8a9f117f1878b
6
+ metadata.gz: 1e7bc97528befb03b32a1b135ed382da561178632e2c652521224daaa30a0325f755da8a3b2b0d6fa3173bcabb206dc3f5994031d449ff178962698f81a50cbb
7
+ data.tar.gz: 25a9f443649a6662354537ef68cb631dbd2a33362791784c9f393ece9fb16e90c1b50d3b4c5bd2136bd398925ac55db610dd8e4a6ea4a7a99e3742df89390a60
@@ -14,12 +14,12 @@ module CabooseRets
14
14
  @agent = Agent.where(:mls_id => params[:mls_id]).where("office_mls_id ILIKE ?", @site.rets_office_id).first if !params[:mls_id].blank?
15
15
  @agent = Agent.where(:slug => params[:slug]).where("office_mls_id ILIKE ?", @site.rets_office_id).first if !params[:slug].blank?
16
16
  @listings = Property.where("list_agent_mls_id ILIKE ? OR co_list_agent_mls_id ILIKE ?", @agent.mls_id, @agent.mls_id).where(:status => 'Active').order('list_price desc').all
17
- end
17
+ end
18
18
 
19
19
  # @route GET /real-estate/agents/:slug/contact
20
- # @route GET /agents/:mls_id/contact
20
+ # @route GET /agents/:id/contact
21
21
  def contact
22
- @agent = Agent.where(:mls_id => params[:mls_id]).where("office_mls_id ILIKE ?", @site.rets_office_id).first if !params[:mls_id].blank?
22
+ @agent = Agent.where(:id => params[:id]).first if !params[:id].blank?
23
23
  @agent = Agent.where(:slug => params[:slug]).where("office_mls_id ILIKE ?", @site.rets_office_id).first if !params[:slug].blank?
24
24
  end
25
25
 
@@ -143,27 +143,19 @@ module CabooseRets
143
143
 
144
144
  @related = Property.near("#{@property.latitude}, #{@property.longitude}", 50).where(:property_type => @property.property_type, :status => 'Active', :property_subtype => @property.property_subtype).where(price_where,price_min,price_max).where(beds_where,beds_min,beds_max).where("mls_number != ?",@property.mls_number).order('distance asc').limit(3) if @property
145
145
 
146
- if @property.nil?
147
- @mls_number = params[:mls_number]
148
- # CabooseRets::RetsImporter.delay(:priority => 10, :queue => 'rets').import_property(@mls_number.to_i)
149
- render 'caboose_rets/properties/property_not_exists'
150
- return
151
- end
146
+ render :file => "caboose/extras/error404", :layout => "caboose/application", :status => 404 and return if @property.nil?
152
147
 
153
148
  @block_options = {
154
149
  :mls_number => params[:mls_number],
155
150
  :property => @property,
156
151
  :saved => @saved,
157
- # :agent => @property ? @property.where(:list_agent_mls_id => @property.list_agent_mls_id).first : nil,
158
152
  :form_authenticity_token => form_authenticity_token
159
153
  }
160
154
 
161
- if @property.nil?
162
- @mls = params[:mls]
163
- # CabooseRets::RetsImporter.delay(:priority => 10, :queue => 'rets').import_property(@mls_number.to_i)
164
- render 'caboose_rets/properties/property_not_exists'
165
- return
166
- end
155
+ @page.title = @property.full_address
156
+ @page.meta_description = @property.meta_description(@site)
157
+ @page.uri = "properties/#{@property.mls_number}/details"
158
+
167
159
  end
168
160
 
169
161
  #=============================================================================
@@ -41,12 +41,17 @@ class CabooseRets::Property <ActiveRecord::Base
41
41
 
42
42
  def full_address
43
43
  address = "#{self.unit_number.blank? ? '' : 'Unit ' + self.unit_number + ', '}#{self.street_number} #{self.street_dir_prefix.blank? ? '' : self.street_dir_prefix + ' '}#{self.street_name.blank? ? '' : self.street_name.titleize}#{self.street_suffix.blank? ? '' : ' ' + self.street_suffix.titleize}#{self.street_dir_suffix.blank? ? '' : ' ' + self.street_dir_suffix}"
44
- return address.blank? ? '' : address.gsub('Mc ','Mc')
44
+ return address.blank? ? '' : address.gsub('Mc ','Mc').gsub('Mlk',"MLK").gsub(" Us ", " US ").gsub(" Th ", "th ").gsub("Mcfarland","McFarland")
45
45
  end
46
46
 
47
47
  def full_address_city
48
48
  address = "#{self.unit_number.blank? ? '' : 'Unit ' + self.unit_number + ', '}#{self.street_number} #{self.street_dir_prefix.blank? ? '' : self.street_dir_prefix + ' '}#{self.street_name.blank? ? '' : self.street_name.titleize}#{self.street_suffix.blank? ? '' : ' ' + self.street_suffix.titleize}#{self.street_dir_suffix.blank? ? '' : ' ' + self.street_dir_suffix}#{self.city.blank? ? '' : '<br />' + self.city.titleize + ', ' + self.state_or_province + ' ' + self.postal_code}"
49
- return address.blank? ? '' : address.gsub('Mc ','Mc')
49
+ return address.blank? ? '' : address.gsub('Mc ','Mc').gsub('Mlk',"MLK").gsub(" Us ", " US ").gsub(" Th ", "th ").gsub("Mcfarland","McFarland")
50
+ end
51
+
52
+ def meta_description(site)
53
+ fa = self.full_address_city.blank? ? nil : self.full_address_city.gsub("<br />",", ")
54
+ return "View the property listed for sale at #{fa}. #{site.description}"
50
55
  end
51
56
 
52
57
  def parse(data)
@@ -723,10 +723,14 @@ class CabooseRets::RetsImporter # < ActiveRecord::Base
723
723
  if count == 0 || (count == 1 && Delayed::Job.where(q).first.locked_at)
724
724
  self.delay(:run_at => 20.minutes.from_now, :priority => 10, :queue => 'rets').update_rets
725
725
  end
726
- # Delete old logs
727
- CabooseRets::Log.where("timestamp < ?",(DateTime.now - 7.days)).destroy_all
726
+
727
+ # Delete RETS logs over 7 days old
728
+ dt = DateTime.now - 7.days
729
+ sql = "delete from rets_logs where timestamp < '#{dt}';"
730
+ ActiveRecord::Base.connection.select_all(sql)
731
+
728
732
  # Update search options
729
- CabooseRets::SearchOption.delay(:queue => "rets").update_search_options
733
+ CabooseRets::SearchOption.delay(:queue => "rets", :priority => 15).update_search_options
730
734
  end
731
735
 
732
736
  def self.last_updated
@@ -25,9 +25,8 @@ class CabooseRets::SearchOption < ActiveRecord::Base
25
25
  self.update_search_options_for_field(name, field)
26
26
  end
27
27
  end
28
-
29
-
30
- # Delete all flagged
28
+
29
+ # Delete all flagged
31
30
  self.where(:flag_for_delete => true).delete_all
32
31
  end
33
32
 
@@ -75,12 +74,13 @@ class CabooseRets::SearchOption < ActiveRecord::Base
75
74
  end
76
75
  end
77
76
 
78
- def self.results(str, count_per_name = 10)
77
+ def self.results(str, count_per_name = 10)
78
+ s = str.blank? ? '' : str.downcase.strip
79
79
  q = ["select * from (
80
80
  select id, name, field, value, row_number() over (partition by name order by field) as rownum
81
81
  from rets_search_options
82
82
  where lower(value) like ?
83
- ) tmp where rownum < #{count_per_name}", "%#{str}%"]
83
+ ) tmp where rownum < #{count_per_name}", "%#{s}%"]
84
84
  rows = ActiveRecord::Base.connection.select_rows(ActiveRecord::Base.send(:sanitize_sql_array, q))
85
85
  arr = rows.collect{ |row| { :id => row[0].to_i, :name => row[1], :field => row[2], :text => row[3] }}
86
86
  return arr
@@ -1,3 +1,3 @@
1
1
  module CabooseRets
2
- VERSION = '0.1.173'
2
+ VERSION = '0.1.178'
3
3
  end
@@ -292,7 +292,6 @@ namespace :caboose_rets do
292
292
  ensure
293
293
  unlock_task_if_last_updated(task_started)
294
294
  end
295
- CabooseRets::SearchOption.delay(:queue => "rets").update_search_options
296
295
  end
297
296
 
298
297
  def last_updated
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.1.173
4
+ version: 0.1.178
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Barry
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-25 00:00:00.000000000 Z
11
+ date: 2021-07-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: caboose-cms