caboose-rets 0.0.2
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 +15 -0
- data/MIT-LICENSE +20 -0
- data/README.md +4 -0
- data/Rakefile +38 -0
- data/app/controllers/caboose_rets/agents_controller.rb +169 -0
- data/app/controllers/caboose_rets/application_controller.rb +6 -0
- data/app/controllers/caboose_rets/commercial_controller.rb +281 -0
- data/app/controllers/caboose_rets/land_controller.rb +69 -0
- data/app/controllers/caboose_rets/open_houses_controller.rb +60 -0
- data/app/controllers/caboose_rets/residential_controller.rb +108 -0
- data/app/helpers/caboose_rets/application_helper.rb +4 -0
- data/app/models/caboose_rets/agent.rb +65 -0
- data/app/models/caboose_rets/commercial_property.rb +214 -0
- data/app/models/caboose_rets/land_property.rb +143 -0
- data/app/models/caboose_rets/media.rb +23 -0
- data/app/models/caboose_rets/multi_family_property.rb +198 -0
- data/app/models/caboose_rets/office.rb +27 -0
- data/app/models/caboose_rets/open_house.rb +19 -0
- data/app/models/caboose_rets/residential_property.rb +236 -0
- data/app/models/caboose_rets/rets_importer.rb +303 -0
- data/app/models/caboose_rets/rets_plugin.rb +26 -0
- data/app/views/caboose_rets/agents/_admin_top_nav.html.erb +7 -0
- data/app/views/caboose_rets/agents/admin_edit.html.erb +28 -0
- data/app/views/caboose_rets/agents/admin_edit_bio.html.erb +31 -0
- data/app/views/caboose_rets/agents/admin_edit_contact_info.html.erb +31 -0
- data/app/views/caboose_rets/agents/admin_edit_mls_info.html.erb +71 -0
- data/app/views/caboose_rets/agents/admin_index.html.erb +48 -0
- data/app/views/caboose_rets/agents/details.html.erb +140 -0
- data/app/views/caboose_rets/agents/index.html.erb +163 -0
- data/app/views/caboose_rets/agents/listings.html.erb +121 -0
- data/app/views/caboose_rets/commercial/admin_edit.html.erb +452 -0
- data/app/views/caboose_rets/commercial/admin_index.html.erb +46 -0
- data/app/views/caboose_rets/commercial/details.html.erb +134 -0
- data/app/views/caboose_rets/commercial/index.html.erb +87 -0
- data/app/views/caboose_rets/open_houses/admin_new.html.erb +31 -0
- data/app/views/caboose_rets/residential/admin_edit.html.erb +250 -0
- data/app/views/caboose_rets/residential/admin_index.html.erb +44 -0
- data/app/views/caboose_rets/residential/details.html.erb +139 -0
- data/app/views/caboose_rets/residential/index.html.erb +102 -0
- data/app/views/caboose_rets/residential/residential_not_exists.html.erb +15 -0
- data/app/views/caboose_rets/residential/test_form.html.erb +4 -0
- data/config/routes.rb +87 -0
- data/lib/caboose-rets.rb +4 -0
- data/lib/caboose_rets/caboose_rets_helper.rb +2 -0
- data/lib/caboose_rets/engine.rb +7 -0
- data/lib/caboose_rets/version.rb +3 -0
- data/lib/tasks/caboose_rets.rake +855 -0
- data/test/caboose_test.rb +7 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +59 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +4 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/test.log +25 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/test_helper.rb +15 -0
- metadata +169 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
<% p = @property %>
|
|
2
|
+
|
|
3
|
+
<% content_for :caboose_css do %>
|
|
4
|
+
<style type="text/css">
|
|
5
|
+
.realtor_info { background-color: white; padding: 10px; margin-bottom: 20px; text-align: center; border: 1px solid #d0d0d0;}
|
|
6
|
+
</style>
|
|
7
|
+
<% end %>
|
|
8
|
+
|
|
9
|
+
<div class="l-wrapper">
|
|
10
|
+
<div class="l-section">
|
|
11
|
+
<div class="l-sidebar-border inflate-tenor-baritone">
|
|
12
|
+
<div class="sidebar-aside">
|
|
13
|
+
<% if @agent %>
|
|
14
|
+
<div class="realtor_info">
|
|
15
|
+
<h4>Advantage Agent</h4>
|
|
16
|
+
<img src="https://s3.amazonaws.com/advantagerealtygroup.com/agents/<%= @agent.id %>_thumb.jpg?<%= DateTime.now.strftime('%F') %>" alt="<%= @agent.first_name %> <%= @agent.last_name %>" />
|
|
17
|
+
<br />
|
|
18
|
+
<a href="/agents/<%= @agent.la_code %>"><%= @agent.first_name %> <%= @agent.last_name %></a><br>
|
|
19
|
+
<a href="tel:<%= @agent.car_phone %>"><%= @agent.car_phone %></a>
|
|
20
|
+
</div>
|
|
21
|
+
<% end %>
|
|
22
|
+
<% if p.sale_lease %>
|
|
23
|
+
<h4 class="h-type-highlight"><%= p.sale_lease %></h4>
|
|
24
|
+
<% end %>
|
|
25
|
+
|
|
26
|
+
<address class="h-type-h5">
|
|
27
|
+
<% if p.street_num && p.street_name %> <%= p.street_num %> <%= p.street_name %> <% end %><br />
|
|
28
|
+
<%= p.city %>, <%= p.state %> <% if p.zip != '0' %> <%= p.zip %>
|
|
29
|
+
</address>
|
|
30
|
+
|
|
31
|
+
<p id="price" class="h-space-mvs h-type-highlight h-type-h4"><%=h number_to_currency(p.current_price, :precision => 0) %></p>
|
|
32
|
+
|
|
33
|
+
<% if p.sale_lease %>
|
|
34
|
+
<p id="mls" class="h-space-mvs h-type-highlight h-type-h4">MLS #<%=p.mls_acct%></p>
|
|
35
|
+
<% end %>
|
|
36
|
+
|
|
37
|
+
<% if p.street_num && p.street_name && p.city && p.state && p.zip %>
|
|
38
|
+
<div class="m-map-small h-border h-space-mbm" address="<%=p.street_num%> <%=p.street_name%> <%=p.city%>, <%=p.state%> <%=p.zip%>"></div>
|
|
39
|
+
<% end %>
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
<h4 class="h-space-mvt">Directions</h4>
|
|
44
|
+
<p class="paragraph"><%=p.directions%></p>
|
|
45
|
+
|
|
46
|
+
<% if @agent %>
|
|
47
|
+
<h4 class="h-space-mvt">Contact <%= @agent.first_name %> <%= @agent.last_name %> </h4>
|
|
48
|
+
<% else %>
|
|
49
|
+
<h4 class="h-space-mvt">Contact Advantage</h4>
|
|
50
|
+
<% end %>
|
|
51
|
+
|
|
52
|
+
<%= form_for @message, :url => "/contact/create", :html => {:class => "m-form", :'accept-charset' => "utf-8", :method => "POST" } do |f| %>
|
|
53
|
+
|
|
54
|
+
<%= f.text_field :name, :placeholder => "Name", :value => "", :id => "contact_name", :maxlength => "150" %>
|
|
55
|
+
<%= f.text_field :email, :placeholder => "Email", :value => "", :id => "contact_addres", :maxlength => "150" %>
|
|
56
|
+
<%= f.text_area :body, :placeholder => "Message", :cols => "50", :rows => "4", :id => "contact_message", :class => "contact_message" %>
|
|
57
|
+
|
|
58
|
+
<p class="h-space-mvs">
|
|
59
|
+
Please enter the word you see in the image below:
|
|
60
|
+
<img src="/images/captchas/1374955003.9265.jpg" width="140" height="30" style="border:0;" alt=" " />
|
|
61
|
+
</p>
|
|
62
|
+
<p><input type="text" name="captcha" /></p>
|
|
63
|
+
|
|
64
|
+
<input class="m-btn-red btn-large h-float-right h-space-mts" type="submit" value="Send" />
|
|
65
|
+
<% end %>
|
|
66
|
+
</div> <!-- .sidebar-aside -->
|
|
67
|
+
|
|
68
|
+
<div class="sidebar-body">
|
|
69
|
+
<% tiny_img = "https://s3.amazonaws.com/advantagerealtygroup.com/residential/#{@property.mls_acct}_%d_tiny.jpg" %>
|
|
70
|
+
<% large_img = "https://s3.amazonaws.com/advantagerealtygroup.com/residential/#{@property.mls_acct}_%d_large.jpg" %>
|
|
71
|
+
|
|
72
|
+
<% if p.sale_lease %>
|
|
73
|
+
<figure class="m-banner" style="background-image: url('https://s3.amazonaws.com/advantagerealtygroup.com/commercial/<%= p.mls_acct %>_1_thumb.jpg');"> <!-- url(rets_images/$category/{$mls}_1.jpg) -->
|
|
74
|
+
<figure class="banner-sub" style="background-image: url(http://placehold.it/480x320); display:none;"></figure> <!-- url(rets_images/$category/{$mls}_2.jpg) -->
|
|
75
|
+
</figure> <!-- .m-banner -->
|
|
76
|
+
<% else %>
|
|
77
|
+
<div class="photos" style="text-align: center;">
|
|
78
|
+
<% if @property.photo_count.to_i >= 1 %>
|
|
79
|
+
<a class="photo" style="display: block; margin: 25px;" href="<%= large_img % 1 %>"><img src="<%= large_img % 1 %>"/></a>
|
|
80
|
+
<div style="display: block;">
|
|
81
|
+
<% (2..@property.photo_count.to_i).each do |i| %>
|
|
82
|
+
<% if i != 2 && (i - 2) % 8 == 0 %></div><div style="display: block;"><% end %>
|
|
83
|
+
<a class="photo" style="float: left; display: block; width: 12.5%; padding: 2px;" href="<%= large_img % i %>">
|
|
84
|
+
<img style="display: block; width: 100%;" src="<%= tiny_img % i %>"/>
|
|
85
|
+
</a>
|
|
86
|
+
<% end %>
|
|
87
|
+
</div>
|
|
88
|
+
<% end %>
|
|
89
|
+
</div>
|
|
90
|
+
<div style="clear: both;"></div>
|
|
91
|
+
<% end %>
|
|
92
|
+
|
|
93
|
+
<p class="paragraph"><%=p.remarks%></p>
|
|
94
|
+
|
|
95
|
+
<h4 class="h-type-standard h-type-highlight h-type-caps">Property Details</h4>
|
|
96
|
+
|
|
97
|
+
<ul class="m-list-bullet h-space-mts">
|
|
98
|
+
<% if p.price_sqft != "" %><li><strong>Square Footage</strong>: <%=h number_to_currency p.price_sqft%></li><% end %>
|
|
99
|
+
<% if p.acreage != "" %><li><strong>Acreage</strong>: <%=p.acreage%></li><% end %>
|
|
100
|
+
</ul> <!-- .m-list-bullet -->
|
|
101
|
+
|
|
102
|
+
<h4 class="h-type-standard h-type-highlight h-type-caps h-space-mts">Additional Info</h4>
|
|
103
|
+
|
|
104
|
+
<ul>
|
|
105
|
+
<li><strong>Interior</strong>: <%=p.ftr_interior%></li>
|
|
106
|
+
<li><strong>Cooling</strong>: <%=p.ftr_cooling%></li>
|
|
107
|
+
<li><strong>Heating</strong>: <%=p.ftr_heating%></li>
|
|
108
|
+
<li><strong>Year Built</strong>: <%=p.year_built%></li>
|
|
109
|
+
</ul>
|
|
110
|
+
<br>
|
|
111
|
+
<% if p.virtual_tour %><a href='<%= p.virtual_tour %>' target='_blank'>Virtual Tour</a><% end %>
|
|
112
|
+
|
|
113
|
+
<a data-pin-do="buttonPin" data-pin-config="beside" href="//pinterest.com/pin/create/button/?url=<%= request.original_url %>&media=<%= large_img % 1 %>" ></a>
|
|
114
|
+
</div> <!-- .sidebar-body -->
|
|
115
|
+
</div> <!-- .l-sidebar -->
|
|
116
|
+
</div> <!-- .body-section -->
|
|
117
|
+
</div> <!-- .l-wrapper -->
|
|
118
|
+
<% end %>
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
<div class="body-sink"></div>
|
|
122
|
+
|
|
123
|
+
<% content_for :caboose_js do %>
|
|
124
|
+
<%= javascript_include_tag '//assets.pinterest.com/js/pinit.js' %>
|
|
125
|
+
<script type="text/javascript">
|
|
126
|
+
$(document).ready(function(){
|
|
127
|
+
$('.photo').colorbox({rel:'photo'});
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
<% unless flash[:notice].blank? %>
|
|
131
|
+
alert('<%= flash[:notice] %>');
|
|
132
|
+
<% end %>
|
|
133
|
+
</script>
|
|
134
|
+
<% end %>
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<div class="l-wrapper">
|
|
2
|
+
<div class="l-sidebar-border inflate-tenor-baritone h-space-pvm">
|
|
3
|
+
<div class="sidebar-body l-grid-border">
|
|
4
|
+
<p></p>
|
|
5
|
+
<a class="m-btn" href="/search/commercial">Search Commercial Listings</a>
|
|
6
|
+
<div class="l-grid inflate-baritone-bass listing">
|
|
7
|
+
|
|
8
|
+
<% if @properties.nil? || @properties == [] %>
|
|
9
|
+
<div class='no-results'>No results found</div>
|
|
10
|
+
<% else %>
|
|
11
|
+
<% @properties.each do |p| %>
|
|
12
|
+
<div class='grid-row'>
|
|
13
|
+
<div class='grid-unit-1of4 list-part' id='list1'>
|
|
14
|
+
<a href="/commercial/<%= p.mls_acct %>/details"><img src='https://s3.amazonaws.com/advantagerealtygroup.com/commercial/<%= p.mls_acct %>_1_thumb.jpg' width="400" /></a><br>
|
|
15
|
+
<div id='list-meta'>
|
|
16
|
+
<span class='address'><%= p.street_num %> <%= p.street_name.titleize %></span><br> <!-- , {city}, {state} {zip} -->
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
<div class='grid-unit-1of4 list-part' id='list2'>
|
|
20
|
+
<% if p.current_price != 0 %>
|
|
21
|
+
<span class='price'><%=h number_to_currency(p.current_price, :precision => 0) %></span><br>
|
|
22
|
+
<% end %>
|
|
23
|
+
<div class="info-meta">
|
|
24
|
+
<% if p.price_sqft != "" %>
|
|
25
|
+
<span class='list-info'>Price/Sq. ft: <span class='sqftprice'><%=h number_to_currency p.price_sqft %></span></span><br>
|
|
26
|
+
<% end %>
|
|
27
|
+
</div>
|
|
28
|
+
<span>MLS#: <%= p.mls_acct %></span>
|
|
29
|
+
</div>
|
|
30
|
+
<div class='grid-unit-1of4 list-part' id='list3'>
|
|
31
|
+
<div class='desc-container'><span class='description'><%= p.remarks %></span></div>
|
|
32
|
+
</div>
|
|
33
|
+
<div class='grid-unit-1of4 list-part' id='list4'>
|
|
34
|
+
<a href="/commercial/<%= p.mls_acct %>/details" class="m-btn-ornate">
|
|
35
|
+
<div class="btn-inner see-more">MORE DETAILS</div>
|
|
36
|
+
</a>
|
|
37
|
+
<br>
|
|
38
|
+
<% if p.lo_code == '46' && p.agent %>
|
|
39
|
+
<a href="/agents/<%=p.agent.la_code %>" class="m-btn-ornate">
|
|
40
|
+
<div class="btn-inner contact-btn">Contact <%= p.agent.first_name.titleize %> <%= p.agent.last_name.titleize %></div>
|
|
41
|
+
</a>
|
|
42
|
+
<% else %>
|
|
43
|
+
<a href="/agents/048540000" class="m-btn-ornate"><div class="btn-inner contact-btn">Contact Advantage</div></a>
|
|
44
|
+
<% end %>
|
|
45
|
+
<br>
|
|
46
|
+
<% if p.virtual_tour %>
|
|
47
|
+
<a href="<%= p.virtual_tour %>" class="m-btn-ornate"><div class="btn-inner contact-btn">Take Virtual Tour</div></a>
|
|
48
|
+
<% end %>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
<% end %>
|
|
52
|
+
<%= @gen.generate.html_safe %>
|
|
53
|
+
<% end %>
|
|
54
|
+
|
|
55
|
+
</div>
|
|
56
|
+
</div> <!-- .sidebar-body -->
|
|
57
|
+
</div> <!-- .l-sidebar -->
|
|
58
|
+
</div> <!-- .l-wrapper -->
|
|
59
|
+
|
|
60
|
+
<% content_for :caboose_js do %>
|
|
61
|
+
<script type='text/javascript'>
|
|
62
|
+
function toTitleCase(str) {
|
|
63
|
+
return str.replace(/\w\S*/g, function(txt) {
|
|
64
|
+
if (txt != "of" && txt != "<br>") {
|
|
65
|
+
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
|
|
66
|
+
} else {
|
|
67
|
+
return txt
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
$.fn.digits = function(){
|
|
73
|
+
return this.each(function(){
|
|
74
|
+
$(this).text( $(this).text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") );
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
function precise_round(num, decimals){
|
|
78
|
+
return Math.round(num * Math.pow(10, decimals)) / Math.pow(10,decimals);
|
|
79
|
+
}
|
|
80
|
+
$('.price').digits()
|
|
81
|
+
$.each($(".sqftprice") , function() { $(this).text(precise_round($(this).text(),2)) });
|
|
82
|
+
//$.each($(".advantage_agent") , function() { $(this).text(toTitleCase($(this).text())) });
|
|
83
|
+
//$.each($(".contact-btn") , function() { $(this).text(toTitleCase($(this).text())) });
|
|
84
|
+
//$.each($(".address") , function() { $(this).text(toTitleCase($(this).text())) });
|
|
85
|
+
//$.each($(".school") , function() { $(this).text(toTitleCase($(this).text())) });
|
|
86
|
+
</script>
|
|
87
|
+
<% end %>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
|
|
2
|
+
<h1>New Open House</h1>
|
|
3
|
+
<p><input type='text' id='mls' name='mls' placeholder='Property MLS#' style="width: 400px;" /></p>
|
|
4
|
+
<p>Open House on <input type='text' id='date_time' name='date_time' placeholder='Date and Time' style="width: 400px;" /> at [address]</p>
|
|
5
|
+
<div id='message'></div>
|
|
6
|
+
<p><input type='submit' value='Add Post' onclick='add_open_house();' /></p>
|
|
7
|
+
|
|
8
|
+
<% content_for :caboose_js do %>
|
|
9
|
+
<%= javascript_include_tag "caboose/model/all" %>
|
|
10
|
+
<script type='text/javascript'>
|
|
11
|
+
|
|
12
|
+
function add_open_house()
|
|
13
|
+
{
|
|
14
|
+
$('#message').html("<p class='loading'>Adding post...</p>");
|
|
15
|
+
$.ajax({
|
|
16
|
+
url: '/admin/open-houses',
|
|
17
|
+
type: 'post',
|
|
18
|
+
data: {
|
|
19
|
+
authenticity_token: "<%= form_authenticity_token %>",
|
|
20
|
+
mls: $('#mls').val(),
|
|
21
|
+
date_time: $('#date_time').val()
|
|
22
|
+
},
|
|
23
|
+
success: function(resp) {
|
|
24
|
+
if (resp.error) $('#message').html("<p class='note error'>" + resp.error + "</p>");
|
|
25
|
+
if (resp.redirect) window.location = resp.redirect
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
</script>
|
|
31
|
+
<% end %>
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
<%
|
|
2
|
+
p = @property
|
|
3
|
+
%>
|
|
4
|
+
<h1>Edit Residential Property</h1>
|
|
5
|
+
|
|
6
|
+
<p>
|
|
7
|
+
<input type='button' value='< Back' onclick="window.location='/admin/residential';" />
|
|
8
|
+
<input type='button' value='Manually Refresh from MLS' onclick="refresh_property_from_mls('<%= p.mls_acct %>');" />
|
|
9
|
+
</p>
|
|
10
|
+
<div id='message'><%= raw flash[:message] ? flash[:message] : "" %></div>
|
|
11
|
+
|
|
12
|
+
<table class='data'>
|
|
13
|
+
<tr><td>acreage </td><td><%= p.acreage %></td></tr>
|
|
14
|
+
<tr><td>agent_notes </td><td><%= p.agent_notes %></td></tr>
|
|
15
|
+
<tr><td>agent_other_contact_desc </td><td><%= p.agent_other_contact_desc %></td></tr>
|
|
16
|
+
<tr><td>agent_other_contact_phone </td><td><%= p.agent_other_contact_phone %></td></tr>
|
|
17
|
+
<tr><td>annual_taxes </td><td><%= p.annual_taxes %></td></tr>
|
|
18
|
+
<tr><td>area </td><td><%= p.area %></td></tr>
|
|
19
|
+
<tr><td>avm_automated_sales_disabled </td><td><%= p.avm_automated_sales_disabled %></td></tr>
|
|
20
|
+
<tr><td>avm_instant_valuation_disabled</td><td><%= p.avm_instant_valuation_disabled %></td></tr>
|
|
21
|
+
<tr><td>basement_yn </td><td><%= p.basement_yn %></td></tr>
|
|
22
|
+
<tr><td>baths </td><td><%= p.baths %></td></tr>
|
|
23
|
+
<tr><td>baths_full </td><td><%= p.baths_full %></td></tr>
|
|
24
|
+
<tr><td>baths_half </td><td><%= p.baths_half %></td></tr>
|
|
25
|
+
<tr><td>bedrooms </td><td><%= p.bedrooms %></td></tr>
|
|
26
|
+
<tr><td>bom_date </td><td><%= p.bom_date %></td></tr>
|
|
27
|
+
<tr><td>book_number </td><td><%= p.book_number %></td></tr>
|
|
28
|
+
<tr><td>book_page </td><td><%= p.book_page %></td></tr>
|
|
29
|
+
<tr><td>book_type </td><td><%= p.book_type %></td></tr>
|
|
30
|
+
<tr><td>buyer_broker </td><td><%= p.buyer_broker %></td></tr>
|
|
31
|
+
<tr><td>buyer_broker_type </td><td><%= p.buyer_broker_type %></td></tr>
|
|
32
|
+
<tr><td>buyer_name </td><td><%= p.buyer_name %></td></tr>
|
|
33
|
+
<tr><td>category </td><td><%= p.category %></td></tr>
|
|
34
|
+
<tr><td>city </td><td><%= p.city %></td></tr>
|
|
35
|
+
<tr><td>city_code </td><td><%= p.city_code %></td></tr>
|
|
36
|
+
<tr><td>co_la_code </td><td><%= p.co_la_code %></td></tr>
|
|
37
|
+
<tr><td>co_lo_code </td><td><%= p.co_lo_code %></td></tr>
|
|
38
|
+
<tr><td>co_sa_code </td><td><%= p.co_sa_code %></td></tr>
|
|
39
|
+
<tr><td>co_so_code </td><td><%= p.co_so_code %></td></tr>
|
|
40
|
+
<tr><td>construction_date_comp </td><td><%= p.construction_date_comp %></td></tr>
|
|
41
|
+
<tr><td>construction_status </td><td><%= p.construction_status %></td></tr>
|
|
42
|
+
<tr><td>contacts </td><td><%= p.contacts %></td></tr>
|
|
43
|
+
<tr><td>contr_broker </td><td><%= p.contr_broker %></td></tr>
|
|
44
|
+
<tr><td>contr_broker_type </td><td><%= p.contr_broker_type %></td></tr>
|
|
45
|
+
<tr><td>converted </td><td><%= p.converted %></td></tr>
|
|
46
|
+
<tr><td>county </td><td><%= p.county %></td></tr>
|
|
47
|
+
<tr><td>current_price </td><td><%= p.current_price %></td></tr>
|
|
48
|
+
<tr><td>currentlease_yn </td><td><%= p.currentlease_yn %></td></tr>
|
|
49
|
+
<tr><td>date_created </td><td><%= p.date_created %></td></tr>
|
|
50
|
+
<tr><td>date_modified </td><td><%= p.date_modified %></td></tr>
|
|
51
|
+
<tr><td>df_yn </td><td><%= p.df_yn %></td></tr>
|
|
52
|
+
<tr><td>directions </td><td><%= p.directions %></td></tr>
|
|
53
|
+
<tr><td>display_address_yn </td><td><%= p.display_address_yn %></td></tr>
|
|
54
|
+
<tr><td>dom </td><td><%= p.dom %></td></tr>
|
|
55
|
+
<tr><td>elem_school </td><td><%= p.elem_school %></td></tr>
|
|
56
|
+
<tr><td>expire_date </td><td><%= p.expire_date %></td></tr>
|
|
57
|
+
<tr><td>flood_plain </td><td><%= p.flood_plain %></td></tr>
|
|
58
|
+
<tr><td>foreclosure_yn </td><td><%= p.foreclosure_yn %></td></tr>
|
|
59
|
+
<tr><td>ftr_age </td><td><%= p.ftr_age %></td></tr>
|
|
60
|
+
<tr><td>ftr_appliances </td><td><%= p.ftr_appliances %></td></tr>
|
|
61
|
+
<tr><td>ftr_attic </td><td><%= p.ftr_attic %></td></tr>
|
|
62
|
+
<tr><td>ftr_basement </td><td><%= p.ftr_basement %></td></tr>
|
|
63
|
+
<tr><td>ftr_citycommunit </td><td><%= p.ftr_citycommunit %></td></tr>
|
|
64
|
+
<tr><td>ftr_construction </td><td><%= p.ftr_construction %></td></tr>
|
|
65
|
+
<tr><td>ftr_cooling </td><td><%= p.ftr_cooling %></td></tr>
|
|
66
|
+
<tr><td>ftr_diningroom </td><td><%= p.ftr_diningroom %></td></tr>
|
|
67
|
+
<tr><td>ftr_docs_on_file </td><td><%= p.ftr_docs_on_file %></td></tr>
|
|
68
|
+
<tr><td>ftr_drive </td><td><%= p.ftr_drive %></td></tr>
|
|
69
|
+
<tr><td>ftr_exterior </td><td><%= p.ftr_exterior %></td></tr>
|
|
70
|
+
<tr><td>ftr_fireplace </td><td><%= p.ftr_fireplace %></td></tr>
|
|
71
|
+
<tr><td>ftr_garage </td><td><%= p.ftr_garage %></td></tr>
|
|
72
|
+
<tr><td>ftr_heating </td><td><%= p.ftr_heating %></td></tr>
|
|
73
|
+
<tr><td>ftr_hoaamenities </td><td><%= p.ftr_hoaamenities %></td></tr>
|
|
74
|
+
<tr><td>ftr_hoaincludes </td><td><%= p.ftr_hoaincludes %></td></tr>
|
|
75
|
+
<tr><td>ftr_interior </td><td><%= p.ftr_interior %></td></tr>
|
|
76
|
+
<tr><td>ftr_landscaping </td><td><%= p.ftr_landscaping %></td></tr>
|
|
77
|
+
<tr><td>ftr_laundry </td><td><%= p.ftr_laundry %></td></tr>
|
|
78
|
+
<tr><td>ftr_lotdesc </td><td><%= p.ftr_lotdesc %></td></tr>
|
|
79
|
+
<tr><td>ftr_miscellaneous </td><td><%= p.ftr_miscellaneous %></td></tr>
|
|
80
|
+
<tr><td>ftr_pool </td><td><%= p.ftr_pool %></td></tr>
|
|
81
|
+
<tr><td>ftr_porchpatio </td><td><%= p.ftr_porchpatio %></td></tr>
|
|
82
|
+
<tr><td>ftr_possession </td><td><%= p.ftr_possession %></td></tr>
|
|
83
|
+
<tr><td>ftr_roof </td><td><%= p.ftr_roof %></td></tr>
|
|
84
|
+
<tr><td>ftr_sewer </td><td><%= p.ftr_sewer %></td></tr>
|
|
85
|
+
<tr><td>ftr_showing </td><td><%= p.ftr_showing %></td></tr>
|
|
86
|
+
<tr><td>ftr_terms </td><td><%= p.ftr_terms %></td></tr>
|
|
87
|
+
<tr><td>ftr_warrantyprogrm </td><td><%= p.ftr_warrantyprogrm %></td></tr>
|
|
88
|
+
<tr><td>ftr_waterheater </td><td><%= p.ftr_waterheater %></td></tr>
|
|
89
|
+
<tr><td>ftr_watersupply </td><td><%= p.ftr_watersupply %></td></tr>
|
|
90
|
+
<tr><td>ftr_window_treat </td><td><%= p.ftr_window_treat %></td></tr>
|
|
91
|
+
<tr><td>ftr_windows </td><td><%= p.ftr_windows %></td></tr>
|
|
92
|
+
<tr><td>geo_precision </td><td><%= p.geo_precision %></td></tr>
|
|
93
|
+
<tr><td>georesult </td><td><%= p.georesult %></td></tr>
|
|
94
|
+
<tr><td>high_school </td><td><%= p.high_school %></td></tr>
|
|
95
|
+
<tr><td>hoa_fee </td><td><%= p.hoa_fee %></td></tr>
|
|
96
|
+
<tr><td>hoa_fee_yn </td><td><%= p.hoa_fee_yn %></td></tr>
|
|
97
|
+
<tr><td>hoa_term </td><td><%= p.hoa_term %></td></tr>
|
|
98
|
+
<tr><td>homestead_yn </td><td><%= p.homestead_yn %></td></tr>
|
|
99
|
+
<tr><td>internet_yn </td><td><%= p.internet_yn %></td></tr>
|
|
100
|
+
<tr><td>la_code </td><td><%= p.la_code %></td></tr>
|
|
101
|
+
<tr><td>lease_exp_date </td><td><%= p.lease_exp_date %></td></tr>
|
|
102
|
+
<tr><td>legals </td><td><%= p.legals %></td></tr>
|
|
103
|
+
<tr><td>levels </td><td><%= p.levels %></td></tr>
|
|
104
|
+
<tr><td>list_date </td><td><%= p.list_date %></td></tr>
|
|
105
|
+
<tr><td>list_price </td><td><%= p.list_price %></td></tr>
|
|
106
|
+
<tr><td>listing_type </td><td><%= p.listing_type %></td></tr>
|
|
107
|
+
<tr><td>lo_code </td><td><%= p.lo_code %></td></tr>
|
|
108
|
+
<tr><td>lot_dimensions </td><td><%= p.lot_dimensions %></td></tr>
|
|
109
|
+
<tr><td>master_bed_lvl </td><td><%= p.master_bed_lvl %></td></tr>
|
|
110
|
+
<tr><td>media_flag </td><td><%= p.media_flag %></td></tr>
|
|
111
|
+
<tr><td>middle_school </td><td><%= p.middle_school %></td></tr>
|
|
112
|
+
<tr><td>mls_acct </td><td><%= p.mls_acct %></td></tr>
|
|
113
|
+
<tr><td>off_mkt_date </td><td><%= p.off_mkt_date %></td></tr>
|
|
114
|
+
<tr><td>off_mkt_days </td><td><%= p.off_mkt_days %></td></tr>
|
|
115
|
+
<tr><td>office_notes </td><td><%= p.office_notes %></td></tr>
|
|
116
|
+
<tr><td>onsite_days_hours </td><td><%= p.onsite_days_hours %></td></tr>
|
|
117
|
+
<tr><td>onsite_yn </td><td><%= p.onsite_yn %></td></tr>
|
|
118
|
+
<tr><td>orig_lp </td><td><%= p.orig_lp %></td></tr>
|
|
119
|
+
<tr><td>other_fee </td><td><%= p.other_fee %></td></tr>
|
|
120
|
+
<tr><td>other_fee_type </td><td><%= p.other_fee_type %></td></tr>
|
|
121
|
+
<tr><td>outlier_yn </td><td><%= p.outlier_yn %></td></tr>
|
|
122
|
+
<tr><td>owner_name </td><td><%= p.owner_name %></td></tr>
|
|
123
|
+
<tr><td>owner_phone </td><td><%= p.owner_phone %></td></tr>
|
|
124
|
+
<tr><td>parcel_id </td><td><%= p.parcel_id %></td></tr>
|
|
125
|
+
<tr><td>pending_date </td><td><%= p.pending_date %></td></tr>
|
|
126
|
+
<tr><td>photo_count </td><td><%= p.photo_count %></td></tr>
|
|
127
|
+
<tr><td>photo_date_modified </td><td><%= p.photo_date_modified %></td></tr>
|
|
128
|
+
<tr><td>price_change_date </td><td><%= p.price_change_date %></td></tr>
|
|
129
|
+
<tr><td>price_sqft </td><td><%= p.price_sqft %></td></tr>
|
|
130
|
+
<tr><td>proj_close_date </td><td><%= p.proj_close_date %></td></tr>
|
|
131
|
+
<tr><td>prop_id </td><td><%= p.prop_id %></td></tr>
|
|
132
|
+
<tr><td>prop_type </td><td><%= p.prop_type %></td></tr>
|
|
133
|
+
<tr><td>remarks </td><td><%= p.remarks %></td></tr>
|
|
134
|
+
<tr><td>right_red_date </td><td><%= p.right_red_date %></td></tr>
|
|
135
|
+
<tr><td>rm_bath1 </td><td><%= p.rm_bath1 %></td></tr>
|
|
136
|
+
<tr><td>rm_bath1_desc </td><td><%= p.rm_bath1_desc %></td></tr>
|
|
137
|
+
<tr><td>rm_bath2 </td><td><%= p.rm_bath2 %></td></tr>
|
|
138
|
+
<tr><td>rm_bath2_desc </td><td><%= p.rm_bath2_desc %></td></tr>
|
|
139
|
+
<tr><td>rm_bath3 </td><td><%= p.rm_bath3 %></td></tr>
|
|
140
|
+
<tr><td>rm_bath3_desc </td><td><%= p.rm_bath3_desc %></td></tr>
|
|
141
|
+
<tr><td>rm_br1 </td><td><%= p.rm_br1 %></td></tr>
|
|
142
|
+
<tr><td>rm_br1_desc </td><td><%= p.rm_br1_desc %></td></tr>
|
|
143
|
+
<tr><td>rm_br2 </td><td><%= p.rm_br2 %></td></tr>
|
|
144
|
+
<tr><td>rm_br2_desc </td><td><%= p.rm_br2_desc %></td></tr>
|
|
145
|
+
<tr><td>rm_br3 </td><td><%= p.rm_br3 %></td></tr>
|
|
146
|
+
<tr><td>rm_br3_desc </td><td><%= p.rm_br3_desc %></td></tr>
|
|
147
|
+
<tr><td>rm_br4 </td><td><%= p.rm_br4 %></td></tr>
|
|
148
|
+
<tr><td>rm_br4_desc </td><td><%= p.rm_br4_desc %></td></tr>
|
|
149
|
+
<tr><td>rm_br5 </td><td><%= p.rm_br5 %></td></tr>
|
|
150
|
+
<tr><td>rm_br5_desc </td><td><%= p.rm_br5_desc %></td></tr>
|
|
151
|
+
<tr><td>rm_brkfst </td><td><%= p.rm_brkfst %></td></tr>
|
|
152
|
+
<tr><td>rm_brkfst_desc </td><td><%= p.rm_brkfst_desc %></td></tr>
|
|
153
|
+
<tr><td>rm_den </td><td><%= p.rm_den %></td></tr>
|
|
154
|
+
<tr><td>rm_den_desc </td><td><%= p.rm_den_desc %></td></tr>
|
|
155
|
+
<tr><td>rm_dining </td><td><%= p.rm_dining %></td></tr>
|
|
156
|
+
<tr><td>rm_dining_desc </td><td><%= p.rm_dining_desc %></td></tr>
|
|
157
|
+
<tr><td>rm_family </td><td><%= p.rm_family %></td></tr>
|
|
158
|
+
<tr><td>rm_family_desc </td><td><%= p.rm_family_desc %></td></tr>
|
|
159
|
+
<tr><td>rm_foyer </td><td><%= p.rm_foyer %></td></tr>
|
|
160
|
+
<tr><td>rm_foyer_desc </td><td><%= p.rm_foyer_desc %></td></tr>
|
|
161
|
+
<tr><td>rm_great </td><td><%= p.rm_great %></td></tr>
|
|
162
|
+
<tr><td>rm_great_desc </td><td><%= p.rm_great_desc %></td></tr>
|
|
163
|
+
<tr><td>rm_kitchen </td><td><%= p.rm_kitchen %></td></tr>
|
|
164
|
+
<tr><td>rm_kitchen_desc </td><td><%= p.rm_kitchen_desc %></td></tr>
|
|
165
|
+
<tr><td>rm_kitchen2 </td><td><%= p.rm_kitchen2 %></td></tr>
|
|
166
|
+
<tr><td>rm_kitchen2_desc </td><td><%= p.rm_kitchen2_desc %></td></tr>
|
|
167
|
+
<tr><td>rm_laundry </td><td><%= p.rm_laundry %></td></tr>
|
|
168
|
+
<tr><td>rm_laundry_desc </td><td><%= p.rm_laundry_desc %></td></tr>
|
|
169
|
+
<tr><td>rm_living </td><td><%= p.rm_living %></td></tr>
|
|
170
|
+
<tr><td>rm_living_desc </td><td><%= p.rm_living_desc %></td></tr>
|
|
171
|
+
<tr><td>rm_lrdr </td><td><%= p.rm_lrdr %></td></tr>
|
|
172
|
+
<tr><td>rm_lrdr_desc </td><td><%= p.rm_lrdr_desc %></td></tr>
|
|
173
|
+
<tr><td>rm_master </td><td><%= p.rm_master %></td></tr>
|
|
174
|
+
<tr><td>rm_master_desc </td><td><%= p.rm_master_desc %></td></tr>
|
|
175
|
+
<tr><td>rm_other1 </td><td><%= p.rm_other1 %></td></tr>
|
|
176
|
+
<tr><td>rm_other1_desc </td><td><%= p.rm_other1_desc %></td></tr>
|
|
177
|
+
<tr><td>rm_other1_name </td><td><%= p.rm_other1_name %></td></tr>
|
|
178
|
+
<tr><td>rm_other2 </td><td><%= p.rm_other2 %></td></tr>
|
|
179
|
+
<tr><td>rm_other2_desc </td><td><%= p.rm_other2_desc %></td></tr>
|
|
180
|
+
<tr><td>rm_other2_name </td><td><%= p.rm_other2_name %></td></tr>
|
|
181
|
+
<tr><td>rm_other3 </td><td><%= p.rm_other3 %></td></tr>
|
|
182
|
+
<tr><td>rm_other3_desc </td><td><%= p.rm_other3_desc %></td></tr>
|
|
183
|
+
<tr><td>rm_other3_name </td><td><%= p.rm_other3_name %></td></tr>
|
|
184
|
+
<tr><td>rm_other4 </td><td><%= p.rm_other4 %></td></tr>
|
|
185
|
+
<tr><td>rm_other4_desc </td><td><%= p.rm_other4_desc %></td></tr>
|
|
186
|
+
<tr><td>rm_other4_name </td><td><%= p.rm_other4_name %></td></tr>
|
|
187
|
+
<tr><td>rm_recrm </td><td><%= p.rm_recrm %></td></tr>
|
|
188
|
+
<tr><td>rm_recrm_desc </td><td><%= p.rm_recrm_desc %></td></tr>
|
|
189
|
+
<tr><td>rm_study </td><td><%= p.rm_study %></td></tr>
|
|
190
|
+
<tr><td>rm_study_desc </td><td><%= p.rm_study_desc %></td></tr>
|
|
191
|
+
<tr><td>rm_sun </td><td><%= p.rm_sun %></td></tr>
|
|
192
|
+
<tr><td>rm_sun_desc </td><td><%= p.rm_sun_desc %></td></tr>
|
|
193
|
+
<tr><td>sa_code </td><td><%= p.sa_code %></td></tr>
|
|
194
|
+
<tr><td>sale_lease </td><td><%= p.sale_lease %></td></tr>
|
|
195
|
+
<tr><td>sale_notes </td><td><%= p.sale_notes %></td></tr>
|
|
196
|
+
<tr><td>so_code </td><td><%= p.so_code %></td></tr>
|
|
197
|
+
<tr><td>sold_date </td><td><%= p.sold_date %></td></tr>
|
|
198
|
+
<tr><td>sold_price </td><td><%= p.sold_price %></td></tr>
|
|
199
|
+
<tr><td>sold_terms </td><td><%= p.sold_terms %></td></tr>
|
|
200
|
+
<tr><td>sqft_source </td><td><%= p.sqft_source %></td></tr>
|
|
201
|
+
<tr><td>state </td><td><%= p.state %></td></tr>
|
|
202
|
+
<tr><td>status </td><td><%= p.status %></td></tr>
|
|
203
|
+
<tr><td>status_date </td><td><%= p.status_date %></td></tr>
|
|
204
|
+
<tr><td>status_flag </td><td><%= p.status_flag %></td></tr>
|
|
205
|
+
<tr><td>street_dir </td><td><%= p.street_dir %></td></tr>
|
|
206
|
+
<tr><td>street_name </td><td><%= p.street_name %></td></tr>
|
|
207
|
+
<tr><td>street_num </td><td><%= p.street_num %></td></tr>
|
|
208
|
+
<tr><td>style </td><td><%= p.style %></td></tr>
|
|
209
|
+
<tr><td>sub_agent </td><td><%= p.sub_agent %></td></tr>
|
|
210
|
+
<tr><td>sub_agent_type </td><td><%= p.sub_agent_type %></td></tr>
|
|
211
|
+
<tr><td>subdivision </td><td><%= p.subdivision %></td></tr>
|
|
212
|
+
<tr><td>take_photo_yn </td><td><%= p.take_photo_yn %></td></tr>
|
|
213
|
+
<tr><td>third_party_comm_yn </td><td><%= p.third_party_comm_yn %></td></tr>
|
|
214
|
+
<tr><td>tot_heat_sqft </td><td><%= p.tot_heat_sqft %></td></tr>
|
|
215
|
+
<tr><td>unit_num </td><td><%= p.unit_num %></td></tr>
|
|
216
|
+
<tr><td>upload_source </td><td><%= p.upload_source %></td></tr>
|
|
217
|
+
<tr><td>valuation_yn </td><td><%= p.valuation_yn %></td></tr>
|
|
218
|
+
<tr><td>vt_yn </td><td><%= p.vt_yn %></td></tr>
|
|
219
|
+
<tr><td>waterfront </td><td><%= p.waterfront %></td></tr>
|
|
220
|
+
<tr><td>wf_feet </td><td><%= p.wf_feet %></td></tr>
|
|
221
|
+
<tr><td>withdrawn_date </td><td><%= p.withdrawn_date %></td></tr>
|
|
222
|
+
<tr><td>year_built </td><td><%= p.year_built %></td></tr>
|
|
223
|
+
<tr><td>year_built_source </td><td><%= p.year_built_source %></td></tr>
|
|
224
|
+
<tr><td>zip </td><td><%= p.zip %></td></tr>
|
|
225
|
+
</table>
|
|
226
|
+
|
|
227
|
+
<% content_for :caboose_js do %>
|
|
228
|
+
<%= javascript_include_tag "caboose/model/all" %>
|
|
229
|
+
<script type='text/javascript'>
|
|
230
|
+
|
|
231
|
+
function refresh_property_from_mls(mls_acct)
|
|
232
|
+
{
|
|
233
|
+
modal.autosize("<p class='loading'>Refreshing property info and images from MLS...</p>");
|
|
234
|
+
$.ajax({
|
|
235
|
+
url: '/admin/residential/' + mls_acct + '/refresh',
|
|
236
|
+
success: function(resp) {
|
|
237
|
+
if (resp.error)
|
|
238
|
+
modal.autosize("<p class='note error'>" + resp.error + "</p>");
|
|
239
|
+
if (resp.reload)
|
|
240
|
+
location.reload();
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
var modal = false;
|
|
246
|
+
$(window).load(function() {
|
|
247
|
+
modal = new CabooseModal(800);
|
|
248
|
+
});
|
|
249
|
+
</script>
|
|
250
|
+
<% end %>
|