caboose-rets 0.1.7 → 0.1.8
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 +4 -4
- data/app/controllers/caboose_rets/residential_controller.rb +7 -0
- data/app/models/caboose_rets/schema.rb +5 -0
- data/app/models/caboose_rets/search_option.rb +44 -0
- data/config/routes.rb +1 -0
- data/lib/caboose_rets/version.rb +1 -1
- data/lib/tasks/caboose_rets.rake +5 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8b9427dfa683fee1e5be758b91721d68fe8ce144
|
4
|
+
data.tar.gz: 17b46b6354a55b034e0d5443851d5de066a1790a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b274434916e0c7c0ca9c3f39d29cc6e44d3c260ab977288253a666888d426ccfa802a5176b57af81de03d80009c75b65e8de0010498e2e0e89a7f674bc25fc85
|
7
|
+
data.tar.gz: 2ccd0afd3c0410df03885d134acd9bdda95cf2fa915f885a07df7bde701e57a54967026475352e55783dc5339996d291f60dc59daf9fb19ea4857fc15f4d9ed6
|
@@ -2,6 +2,13 @@
|
|
2
2
|
module CabooseRets
|
3
3
|
class ResidentialController < ApplicationController
|
4
4
|
|
5
|
+
# GET /residential/search-options?q=rock quary
|
6
|
+
def search_options
|
7
|
+
count = params[:count_per_name] ? params[:count_per_name] : 10
|
8
|
+
arr = SearchOption.results(params[:q], count)
|
9
|
+
render :json => arr
|
10
|
+
end
|
11
|
+
|
5
12
|
# GET /residential
|
6
13
|
def index
|
7
14
|
params[:street_num_like] = params[:street_name_like].tr('A-z', '').tr(' ', '') unless params[:street_name_like].nil?
|
@@ -844,6 +844,11 @@ class CabooseRets::Schema < Caboose::Utilities::Schema
|
|
844
844
|
[ :uri , :text ],
|
845
845
|
[ :notify , :boolean ]
|
846
846
|
],
|
847
|
+
CabooseRets::SearchOption => [
|
848
|
+
[ :name , :string ],
|
849
|
+
[ :field , :string ],
|
850
|
+
[ :value , :string ]
|
851
|
+
],
|
847
852
|
Caboose::Site => [
|
848
853
|
[ :use_rets , :boolean, { :default => false }]
|
849
854
|
]
|
@@ -0,0 +1,44 @@
|
|
1
|
+
class CabooseRets::SearchOption < ActiveRecord::Base
|
2
|
+
self.table_name = "rets_search_options"
|
3
|
+
|
4
|
+
attr_accessible :id, :name, :field, :value
|
5
|
+
|
6
|
+
def self.update_search_options
|
7
|
+
|
8
|
+
names = {
|
9
|
+
'City' => ['city'],
|
10
|
+
'County' => ['county'],
|
11
|
+
'Zip Code' => ['zip'],
|
12
|
+
'Schools' => ['elem_school', 'middle_school', 'high_school'],
|
13
|
+
'MLS Area' => ['area'],
|
14
|
+
'Neighborhood' => ['subdivision'],
|
15
|
+
'Street Name' => ['street_name'],
|
16
|
+
'Property Type' => ['prop_type'],
|
17
|
+
'MLS Number' => ['mls_acct']
|
18
|
+
#'feature',
|
19
|
+
#'location',
|
20
|
+
}
|
21
|
+
names.each do |name, fields|
|
22
|
+
fields.each do |field|
|
23
|
+
q = ["select distinct(#{field}) from rets_residential"]
|
24
|
+
rows = ActiveRecord::Base.connection.select_rows(ActiveRecord::Base.send(:sanitize_sql_array, q))
|
25
|
+
rows.each do |row|
|
26
|
+
so = self.where(:name => name, :field => field, :value => row[0]).first
|
27
|
+
self.create( :name => name, :field => field, :value => row[0]) if so.nil?
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.results(str, count_per_name = 10)
|
34
|
+
q = ["select * from (
|
35
|
+
select name, field, value, row_number() over (partition by name order by field) as rownum
|
36
|
+
from rets_search_options
|
37
|
+
where lower(value) like ?
|
38
|
+
) tmp where rownum < #{count_per_name}", "%#{str}%"]
|
39
|
+
rows = ActiveRecord::Base.connection.select_rows(ActiveRecord::Base.send(:sanitize_sql_array, q))
|
40
|
+
arr = rows.collect{ |row| { :name => row[0], :field => row[1], :value => row[2] }}
|
41
|
+
return arr
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
data/config/routes.rb
CHANGED
@@ -39,6 +39,7 @@ CabooseRets::Engine.routes.draw do
|
|
39
39
|
put "/admin/commercial/:mls_acct" => "commercial#admin_update"
|
40
40
|
post "/admin/commercial/:mls_acct" => "commercial#admin_update"
|
41
41
|
|
42
|
+
get "/residential/search-options" => "residential#search_options"
|
42
43
|
get "/residential/search:search_params" => "residential#index", :constraints => {:search_params => /.*/}
|
43
44
|
get "/residential/:mls_acct/details" => "residential#details"
|
44
45
|
get "/residential/:mls_acct" => "residential#details"
|
data/lib/caboose_rets/version.rb
CHANGED
data/lib/tasks/caboose_rets.rake
CHANGED
@@ -7,6 +7,11 @@ namespace :caboose_rets do
|
|
7
7
|
# CabooseRets::RetsImporter.delete_old_properties
|
8
8
|
#end
|
9
9
|
|
10
|
+
desc "Update search options"
|
11
|
+
task :update_search_options => :environment do
|
12
|
+
CabooseRets::SearchOption.update_search_options
|
13
|
+
end
|
14
|
+
|
10
15
|
desc "Initializes the database for a caboose installation"
|
11
16
|
task :rename_media => :environment do
|
12
17
|
CabooseRets::Media.rename_media
|
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.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Barry
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: caboose-cms
|
@@ -65,6 +65,7 @@ files:
|
|
65
65
|
- app/models/caboose_rets/saved_property.rb
|
66
66
|
- app/models/caboose_rets/saved_search.rb
|
67
67
|
- app/models/caboose_rets/schema.rb
|
68
|
+
- app/models/caboose_rets/search_option.rb
|
68
69
|
- app/views/caboose/blocks/_layout_rets.html.erb
|
69
70
|
- app/views/caboose/blocks/_rets_agent_details.html.erb
|
70
71
|
- app/views/caboose/blocks/_rets_agent_listings.html.erb
|