caboose-rets 0.1.174 → 0.1.179
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/caboose_rets/agents_controller.rb +3 -3
- data/app/controllers/caboose_rets/properties_controller.rb +5 -13
- data/app/models/caboose_rets/property.rb +7 -2
- data/app/models/caboose_rets/rets_importer.rb +7 -3
- data/app/models/caboose_rets/search_option.rb +5 -4
- data/lib/caboose_rets/version.rb +1 -1
- data/lib/tasks/caboose_rets.rake +0 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 153c5b061caf36972cb829fa5bd3059daacdade6fc9841e75c5b14760b5b087e
|
4
|
+
data.tar.gz: 57d1bcde45bf5e180b93e33f5b649ad9cdb39966fb38bb0db418057464c23cc7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 70da0fcdc60dff4f7879d0890cc4aa8fe46f537f9930bf4fbc4687d854208f2e745f68d44be586c7ff6be6c5591ab8893a4f934228e197e11161c84d4a1eacc3
|
7
|
+
data.tar.gz: 82a1c054feb766a3d8d832bf84fc28ce7fd85aa9b3d6114d6e660365b5d8fea37881c40ea77f24eabe57181cc16f63fb020f011d7926623f4107ef6108046acb
|
@@ -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/:
|
20
|
+
# @route GET /agents/:id/contact
|
21
21
|
def contact
|
22
|
-
@agent = Agent.where(:
|
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
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
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
|
-
|
727
|
-
|
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
|
@@ -26,7 +26,7 @@ class CabooseRets::SearchOption < ActiveRecord::Base
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
# Delete all flagged
|
29
|
+
# Delete all flagged
|
30
30
|
self.where(:flag_for_delete => true).delete_all
|
31
31
|
end
|
32
32
|
|
@@ -44,7 +44,7 @@ class CabooseRets::SearchOption < ActiveRecord::Base
|
|
44
44
|
so.save
|
45
45
|
end
|
46
46
|
end
|
47
|
-
elsif field == 'street_address'
|
47
|
+
elsif field == 'street_address'
|
48
48
|
CabooseRets::Property.where(:status => "Active", :property_type => "Residential").where("street_name is not null and street_number is not null").order(:id).all.each do |prop|
|
49
49
|
add = "#{prop.street_number} #{prop.street_name} #{prop.street_suffix}"
|
50
50
|
val = add.blank? ? nil : add.strip
|
@@ -74,12 +74,13 @@ class CabooseRets::SearchOption < ActiveRecord::Base
|
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
77
|
-
def self.results(str, count_per_name = 10)
|
77
|
+
def self.results(str, count_per_name = 10)
|
78
|
+
s = str.blank? ? '' : str.downcase.strip
|
78
79
|
q = ["select * from (
|
79
80
|
select id, name, field, value, row_number() over (partition by name order by field) as rownum
|
80
81
|
from rets_search_options
|
81
82
|
where lower(value) like ?
|
82
|
-
) tmp where rownum < #{count_per_name}", "%#{
|
83
|
+
) tmp where rownum < #{count_per_name}", "%#{s}%"]
|
83
84
|
rows = ActiveRecord::Base.connection.select_rows(ActiveRecord::Base.send(:sanitize_sql_array, q))
|
84
85
|
arr = rows.collect{ |row| { :id => row[0].to_i, :name => row[1], :field => row[2], :text => row[3] }}
|
85
86
|
return arr
|
data/lib/caboose_rets/version.rb
CHANGED
data/lib/tasks/caboose_rets.rake
CHANGED
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.
|
4
|
+
version: 0.1.179
|
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-
|
11
|
+
date: 2021-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: caboose-cms
|