caboose-rets 0.1.18 → 0.1.19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/caboose_rets/admin_media.js +7 -7
  3. data/app/assets/javascripts/caboose_rets/caboose_rets.js +8 -8
  4. data/app/controllers/caboose_rets/agents_controller.rb +67 -75
  5. data/app/controllers/caboose_rets/offices_controller.rb +4 -4
  6. data/app/controllers/caboose_rets/open_houses_controller.rb +3 -3
  7. data/app/controllers/caboose_rets/properties_controller.rb +160 -0
  8. data/app/controllers/caboose_rets/rets_controller.rb +2 -2
  9. data/app/controllers/caboose_rets/rets_media_controller.rb +13 -13
  10. data/app/controllers/caboose_rets/saved_properties_controller.rb +35 -35
  11. data/app/models/caboose_rets/agent.rb +42 -55
  12. data/app/models/caboose_rets/agent_meta.rb +7 -7
  13. data/app/models/caboose_rets/media.rb +63 -57
  14. data/app/models/caboose_rets/office.rb +35 -21
  15. data/app/models/caboose_rets/open_house.rb +15 -15
  16. data/app/models/caboose_rets/property.rb +203 -0
  17. data/app/models/caboose_rets/rets_importer.rb +193 -233
  18. data/app/models/caboose_rets/rets_importer_bak.rb +77 -77
  19. data/app/models/caboose_rets/rets_importer_old.rb +625 -0
  20. data/app/models/caboose_rets/saved_property.rb +4 -4
  21. data/app/models/caboose_rets/saved_search.rb +36 -33
  22. data/app/models/caboose_rets/schema.rb +324 -855
  23. data/app/models/caboose_rets/schema_past.rb +918 -0
  24. data/app/models/caboose_rets/search_option.rb +6 -6
  25. data/app/views/caboose/blocks/_layout_rets.html.erb +9 -6
  26. data/app/views/caboose/blocks/_rets_agent_listings.html.erb +3 -3
  27. data/app/views/caboose_rets/agents/index.html.erb +23 -40
  28. data/app/views/caboose_rets/media/admin_property_media.html.erb +2 -2
  29. data/app/views/caboose_rets/{residential → properties}/_search_form.html.erb +42 -42
  30. data/app/views/caboose_rets/{residential → properties}/admin_edit.html.erb +7 -7
  31. data/app/views/caboose_rets/{land → properties}/admin_index.html.erb +11 -11
  32. data/app/views/caboose_rets/properties/details.html.erb +127 -0
  33. data/app/views/caboose_rets/{land → properties}/index.html.erb +0 -0
  34. data/app/views/caboose_rets/{residential/residential_not_exists.html.erb → properties/property_not_exists.html.erb} +4 -5
  35. data/app/views/caboose_rets/{residential → properties}/test_form.html.erb +1 -1
  36. data/app/views/caboose_rets/rets/admin_import_form.html.erb +1 -1
  37. data/config/routes.rb +70 -55
  38. data/lib/caboose-rets.rb +1 -1
  39. data/lib/caboose_rets/engine.rb +3 -3
  40. data/lib/caboose_rets/version.rb +1 -1
  41. data/lib/rets/base/core.rb +1 -1
  42. data/lib/rets/base/sax_search.rb +1 -1
  43. data/lib/tasks/caboose_rets.rake +106 -17
  44. metadata +16 -50
  45. data/app/controllers/caboose_rets/commercial_controller.rb +0 -349
  46. data/app/controllers/caboose_rets/land_controller.rb +0 -144
  47. data/app/controllers/caboose_rets/multi_family_controller.rb +0 -107
  48. data/app/controllers/caboose_rets/residential_controller.rb +0 -163
  49. data/app/models/caboose_rets/commercial_property.rb +0 -214
  50. data/app/models/caboose_rets/land_property.rb +0 -144
  51. data/app/models/caboose_rets/multi_family_property.rb +0 -199
  52. data/app/models/caboose_rets/residential_property.rb +0 -236
  53. data/app/views/caboose/blocks/_rets_commercial_details.html.erb +0 -192
  54. data/app/views/caboose/blocks/_rets_commercial_headers.html.erb +0 -17
  55. data/app/views/caboose/blocks/_rets_commercial_index.html.erb +0 -71
  56. data/app/views/caboose/blocks/_rets_commercial_row.html.erb +0 -39
  57. data/app/views/caboose/blocks/_rets_commercial_search_form.html.erb +0 -201
  58. data/app/views/caboose/blocks/_rets_land_details.html.erb +0 -165
  59. data/app/views/caboose/blocks/_rets_land_index.html.erb +0 -63
  60. data/app/views/caboose/blocks/_rets_land_row.html.erb +0 -58
  61. data/app/views/caboose/blocks/_rets_land_search_form.html.erb +0 -194
  62. data/app/views/caboose/blocks/_rets_multifamily_details.html.erb +0 -161
  63. data/app/views/caboose/blocks/_rets_multifamily_index.html.erb +0 -63
  64. data/app/views/caboose/blocks/_rets_multifamily_row.html.erb +0 -56
  65. data/app/views/caboose/blocks/_rets_multifamily_search_form.html.erb +0 -273
  66. data/app/views/caboose/blocks/_rets_openhouse_details.html.erb +0 -12
  67. data/app/views/caboose/blocks/_rets_openhouses_index.html.erb +0 -79
  68. data/app/views/caboose/blocks/_rets_residential_details.html.erb +0 -243
  69. data/app/views/caboose/blocks/_rets_residential_index.html.erb +0 -65
  70. data/app/views/caboose/blocks/_rets_residential_row.html.erb +0 -59
  71. data/app/views/caboose/blocks/_rets_residential_search_form.html.erb +0 -304
  72. data/app/views/caboose_rets/commercial/admin_edit.html.erb +0 -269
  73. data/app/views/caboose_rets/commercial/admin_index.html.erb +0 -51
  74. data/app/views/caboose_rets/commercial/admin_new.html.erb +0 -57
  75. data/app/views/caboose_rets/commercial/details.html.erb +0 -0
  76. data/app/views/caboose_rets/commercial/index.html.erb +0 -87
  77. data/app/views/caboose_rets/land/admin_edit.html.erb +0 -156
  78. data/app/views/caboose_rets/land/details.html.erb +0 -0
  79. data/app/views/caboose_rets/multi_family/admin_edit.html.erb +0 -211
  80. data/app/views/caboose_rets/multi_family/admin_index.html.erb +0 -46
  81. data/app/views/caboose_rets/residential/admin_index.html.erb +0 -46
  82. data/app/views/caboose_rets/residential/details.html.erb +0 -0
  83. data/app/views/caboose_rets/residential/index.html.erb +0 -0
@@ -1,51 +0,0 @@
1
- <h1>Commercial Properties</h1>
2
-
3
- <% content_for :caboose_css do %>
4
- <style type='text/css'>
5
- #search_form_wrapper { margin-bottom: 10px; position: absolute; top:0; right: 0; }
6
- </style>
7
- <% end %>
8
-
9
- <div id='search_form_wrapper'>
10
- <form action='/admin/commercial' method='get' id='search_form'>
11
- <input type='text' name='mls_acct' placeholder='MLS #' value="<%= @gen.params['mls_acct'] %>" style='width: 100px;' />
12
- <input type='submit' value='Search' />
13
- </form>
14
- </div>
15
-
16
- <p>
17
- <a href='/admin/rets/import'>Import new property from MLS</a> |
18
- <a href='/admni/commercial/new'>New custom commercial property</a>
19
- </p>
20
-
21
- <table class='data' id='properties_table'>
22
- <tr>
23
- <%= raw @gen.sortable_table_headings({
24
- 'mls_acct' => 'MLS #',
25
- 'street_num, street_name' => 'Address',
26
- 'la_code' => 'Agent',
27
- 'lo_code' => 'Office'
28
- })
29
- %>
30
- </tr>
31
- <% @properties.each do |p| %>
32
- <% agent = p.agent %>
33
- <% office = p.office %>
34
- <tr onclick="window.location='/admin/commercial/<%= p.mls_acct %>/edit';">
35
- <td><%= raw p.mls_acct %></td>
36
- <td><%= raw "#{p.street_num} #{p.street_name}, #{p.city}" %></td>
37
- <td><%= p.agent ? "#{agent.first_name} #{agent.last_name}" : p.la_code %></td>
38
- <td><%= p.office ? office.lo_name : p.lo_code %></td>
39
- </tr>
40
- <% end %>
41
- </table>
42
-
43
- <p><%= raw @gen.generate %></p>
44
-
45
- <% content_for :caboose_js do %>
46
- <script type='text/javascript'>
47
- $(document).ready(function() {
48
- var modal = new CabooseModal(800);
49
- });
50
- </script>
51
- <% end %>
@@ -1,57 +0,0 @@
1
- <h1>New Custom Commercial Property</h1>
2
-
3
- <% content_for :caboose_css do %>
4
- <style type='text/css'>
5
- #search_form_wrapper { margin-bottom: 10px; position: absolute; top:0; right: 0; }
6
- </style>
7
- <% end %>
8
-
9
- <form action='/admin/commercial' method='post' id='commercial_form'>
10
- <input type='hidden' name='authenticity_token' value='<%= form_authenticity_token %>' />
11
- <p>Office:
12
- <select name='lo_code'>
13
- <option value=''>-- Select an office --</option>
14
- <% @offices.each do |office| %>
15
- <option value="<%= office.lo_code %>"><%= office.lo_name %></option>
16
- <% end %>
17
- </select>
18
- </p>
19
- <p>Agent:
20
- <select name='la_code'>
21
- <option value=''>-- Select an agent --</option>
22
- <% @agents.each do |agent| %>
23
- <option value="<%= agent.la_code %>"><%= agent.first_name %> <%= agent.last_name %></option>
24
- <% end %>
25
- </select>
26
- </p>
27
- <div id='message'></div>
28
- <p>
29
- <input type='button' value='< Back' onclick="window.location='/admin/commercial';" />
30
- <input type='submit' value='Add Property' onclick='add_commercial_property(); return false;' />
31
- </p>
32
- </form>
33
-
34
- <% content_for :caboose_js do %>
35
- <script type='text/javascript'>
36
-
37
- function add_commercial_property()
38
- {
39
- modal.autosize("<p class='loading'>Adding property...</p>");
40
- $.ajax({
41
- url: '/admin/commercial',
42
- type: 'post',
43
- data: $('#commercial_form').serialize(),
44
- success: function(resp) {
45
- if (resp.error) modal.autosize("<p class='note error'>" + resp.error + "</p>");
46
- if (resp.success) modal.autosize("<p class='note success'>" + resp.success + "</p>");
47
- if (resp.redirect) window.location = resp.redirect;
48
- }
49
- });
50
- }
51
-
52
- var model = false;
53
- $(document).ready(function() {
54
- modal = new CabooseModal(800);
55
- });
56
- </script>
57
- <% end %>
@@ -1,87 +0,0 @@
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 %>
@@ -1,156 +0,0 @@
1
- <%
2
- p = @property
3
- %>
4
- <h1>Edit Land Property</h1>
5
-
6
- <p>
7
- <input type='button' value='< Back' onclick="window.location='/admin/land';" />
8
- <input type='button' value='Manually Refresh from MLS' onclick="refresh_property_from_mls('<%= p.mls_acct %>');" />
9
- </p>
10
- <div id='message'></div>
11
-
12
- <table class='data'>
13
- <tr><td>acreage </td><td><%= p.acreage %></td></tr>
14
- <tr><td>acreage_source </td><td><%= p.acreage_source %></td></tr>
15
- <tr><td>adjoining_land_use </td><td><%= p.adjoining_land_use %></td></tr>
16
- <tr><td>agent_notes </td><td><%= p.agent_notes %></td></tr>
17
- <tr><td>agent_other_contact_desc </td><td><%= p.agent_other_contact_desc %></td></tr>
18
- <tr><td>agent_other_contact_phone </td><td><%= p.agent_other_contact_phone %></td></tr>
19
- <tr><td>annual_taxes </td><td><%= p.annual_taxes %></td></tr>
20
- <tr><td>area </td><td><%= p.area %></td></tr>
21
- <tr><td>bom_date </td><td><%= p.bom_date %></td></tr>
22
- <tr><td>book_number </td><td><%= p.book_number %></td></tr>
23
- <tr><td>book_page </td><td><%= p.book_page %></td></tr>
24
- <tr><td>book_type </td><td><%= p.book_type %></td></tr>
25
- <tr><td>buyer_broker </td><td><%= p.buyer_broker %></td></tr>
26
- <tr><td>buyer_broker_type </td><td><%= p.buyer_broker_type %></td></tr>
27
- <tr><td>buyer_name </td><td><%= p.buyer_name %></td></tr>
28
- <tr><td>category </td><td><%= p.category %></td></tr>
29
- <tr><td>city </td><td><%= p.city %></td></tr>
30
- <tr><td>city_code </td><td><%= p.city_code %></td></tr>
31
- <tr><td>co_la_code </td><td><%= p.co_la_code %></td></tr>
32
- <tr><td>co_lo_code </td><td><%= p.co_lo_code %></td></tr>
33
- <tr><td>co_sa_code </td><td><%= p.co_sa_code %></td></tr>
34
- <tr><td>co_so_code </td><td><%= p.co_so_code %></td></tr>
35
- <tr><td>contacts </td><td><%= p.contacts %></td></tr>
36
- <tr><td>contr_broker </td><td><%= p.contr_broker %></td></tr>
37
- <tr><td>contr_broker_type </td><td><%= p.contr_broker_type %></td></tr>
38
- <tr><td>converted </td><td><%= p.converted %></td></tr>
39
- <tr><td>county </td><td><%= p.county %></td></tr>
40
- <tr><td>current_price </td><td><%= p.current_price %></td></tr>
41
- <tr><td>date_created </td><td><%= p.date_created %></td></tr>
42
- <tr><td>date_modified </td><td><%= p.date_modified %></td></tr>
43
- <tr><td>df_yn </td><td><%= p.df_yn %></td></tr>
44
- <tr><td>directions </td><td><%= p.directions %></td></tr>
45
- <tr><td>display_address_yn </td><td><%= p.display_address_yn %></td></tr>
46
- <tr><td>dom </td><td><%= p.dom %></td></tr>
47
- <tr><td>elem_school </td><td><%= p.elem_school %></td></tr>
48
- <tr><td>expire_date </td><td><%= p.expire_date %></td></tr>
49
- <tr><td>ftr_access </td><td><%= p.ftr_access %></td></tr>
50
- <tr><td>ftr_docs_on_file </td><td><%= p.ftr_docs_on_file %></td></tr>
51
- <tr><td>ftr_existing_struct </td><td><%= p.ftr_existing_struct %></td></tr>
52
- <tr><td>ftr_extras </td><td><%= p.ftr_extras %></td></tr>
53
- <tr><td>ftr_internet </td><td><%= p.ftr_internet %></td></tr>
54
- <tr><td>ftr_lotdesc </td><td><%= p.ftr_lotdesc %></td></tr>
55
- <tr><td>ftr_mineralrights </td><td><%= p.ftr_mineralrights %></td></tr>
56
- <tr><td>ftr_possibleuse </td><td><%= p.ftr_possibleuse %></td></tr>
57
- <tr><td>ftr_restrictions </td><td><%= p.ftr_restrictions %></td></tr>
58
- <tr><td>ftr_sewer </td><td><%= p.ftr_sewer %></td></tr>
59
- <tr><td>ftr_showing </td><td><%= p.ftr_showing %></td></tr>
60
- <tr><td>ftr_terms </td><td><%= p.ftr_terms %></td></tr>
61
- <tr><td>ftr_topography </td><td><%= p.ftr_topography %></td></tr>
62
- <tr><td>ftr_utils </td><td><%= p.ftr_utils %></td></tr>
63
- <tr><td>ftr_zoning </td><td><%= p.ftr_zoning %></td></tr>
64
- <tr><td>geo_precision </td><td><%= p.geo_precision %></td></tr>
65
- <tr><td>georesult </td><td><%= p.georesult %></td></tr>
66
- <tr><td>high_school </td><td><%= p.high_school %></td></tr>
67
- <tr><td>internet_yn </td><td><%= p.internet_yn %></td></tr>
68
- <tr><td>la_code </td><td><%= p.la_code %></td></tr>
69
- <tr><td>legal_block </td><td><%= p.legal_block %></td></tr>
70
- <tr><td>legal_lot </td><td><%= p.legal_lot %></td></tr>
71
- <tr><td>legal_section </td><td><%= p.legal_section %></td></tr>
72
- <tr><td>legals </td><td><%= p.legals %></td></tr>
73
- <tr><td>list_date </td><td><%= p.list_date %></td></tr>
74
- <tr><td>list_price </td><td><%= p.list_price %></td></tr>
75
- <tr><td>listing_type </td><td><%= p.listing_type %></td></tr>
76
- <tr><td>lo_code </td><td><%= p.lo_code %></td></tr>
77
- <tr><td>lot_dim_source </td><td><%= p.lot_dim_source %></td></tr>
78
- <tr><td>lot_dimensions </td><td><%= p.lot_dimensions %></td></tr>
79
- <tr><td>media_flag </td><td><%= p.media_flag %></td></tr>
80
- <tr><td>middle_school </td><td><%= p.middle_school %></td></tr>
81
- <tr><td>mls_acct </td><td><%= p.mls_acct %></td></tr>
82
- <tr><td>municipality </td><td><%= p.municipality %></td></tr>
83
- <tr><td>off_mkt_date </td><td><%= p.off_mkt_date %></td></tr>
84
- <tr><td>off_mkt_days </td><td><%= p.off_mkt_days %></td></tr>
85
- <tr><td>office_notes </td><td><%= p.office_notes %></td></tr>
86
- <tr><td>orig_lp </td><td><%= p.orig_lp %></td></tr>
87
- <tr><td>orig_price </td><td><%= p.orig_price %></td></tr>
88
- <tr><td>other_fee </td><td><%= p.other_fee %></td></tr>
89
- <tr><td>other_fee_type </td><td><%= p.other_fee_type %></td></tr>
90
- <tr><td>owner_name </td><td><%= p.owner_name %></td></tr>
91
- <tr><td>owner_phone </td><td><%= p.owner_phone %></td></tr>
92
- <tr><td>parcel_id </td><td><%= p.parcel_id %></td></tr>
93
- <tr><td>pending_date </td><td><%= p.pending_date %></td></tr>
94
- <tr><td>photo_count </td><td><%= p.photo_count %></td></tr>
95
- <tr><td>photo_date_modified </td><td><%= p.photo_date_modified %></td></tr>
96
- <tr><td>price_change_date </td><td><%= p.price_change_date %></td></tr>
97
- <tr><td>price_sqft </td><td><%= p.price_sqft %></td></tr>
98
- <tr><td>proj_close_date </td><td><%= p.proj_close_date %></td></tr>
99
- <tr><td>prop_id </td><td><%= p.prop_id %></td></tr>
100
- <tr><td>prop_type </td><td><%= p.prop_type %></td></tr>
101
- <tr><td>remarks </td><td><%= p.remarks %></td></tr>
102
- <tr><td>road_frontage_ft </td><td><%= p.road_frontage_ft %></td></tr>
103
- <tr><td>sa_code </td><td><%= p.sa_code %></td></tr>
104
- <tr><td>sale_lease </td><td><%= p.sale_lease %></td></tr>
105
- <tr><td>sale_notes </td><td><%= p.sale_notes %></td></tr>
106
- <tr><td>so_code </td><td><%= p.so_code %></td></tr>
107
- <tr><td>sold_date </td><td><%= p.sold_date %></td></tr>
108
- <tr><td>sold_price </td><td><%= p.sold_price %></td></tr>
109
- <tr><td>sold_terms </td><td><%= p.sold_terms %></td></tr>
110
- <tr><td>state </td><td><%= p.state %></td></tr>
111
- <tr><td>status </td><td><%= p.status %></td></tr>
112
- <tr><td>status_date </td><td><%= p.status_date %></td></tr>
113
- <tr><td>status_flag </td><td><%= p.status_flag %></td></tr>
114
- <tr><td>street </td><td><%= p.street %></td></tr>
115
- <tr><td>street_dir </td><td><%= p.street_dir %></td></tr>
116
- <tr><td>street_name </td><td><%= p.street_name %></td></tr>
117
- <tr><td>street_num </td><td><%= p.street_num %></td></tr>
118
- <tr><td>sub_agent </td><td><%= p.sub_agent %></td></tr>
119
- <tr><td>sub_agent_type </td><td><%= p.sub_agent_type %></td></tr>
120
- <tr><td>subdivision </td><td><%= p.subdivision %></td></tr>
121
- <tr><td>third_party_comm_yn </td><td><%= p.third_party_comm_yn %></td></tr>
122
- <tr><td>unit_num </td><td><%= p.unit_num %></td></tr>
123
- <tr><td>upload_source </td><td><%= p.upload_source %></td></tr>
124
- <tr><td>valuation_yn </td><td><%= p.valuation_yn %></td></tr>
125
- <tr><td>vt_yn </td><td><%= p.vt_yn %></td></tr>
126
- <tr><td>waterfront </td><td><%= p.waterfront %></td></tr>
127
- <tr><td>waterfront_yn </td><td><%= p.waterfront_yn %></td></tr>
128
- <tr><td>wf_feet </td><td><%= p.wf_feet %></td></tr>
129
- <tr><td>withdrawn_date </td><td><%= p.withdrawn_date %></td></tr>
130
- <tr><td>zip </td><td><%= p.zip %></td></tr>
131
- <tr><td>zoning_northport </td><td><%= p.zoning_northport %></td></tr>
132
- <tr><td>zoning_tusc </td><td><%= p.zoning_tusc %></td></tr>
133
- </table><br />
134
-
135
- <% content_for :caboose_js do %>
136
- <%= javascript_include_tag "caboose/model/all" %>
137
- <script type='text/javascript'>
138
-
139
- function refresh_property_from_mls(mls_acct)
140
- {
141
- modal.autosize("<p class='loading'>Refreshing property info and images from MLS...</p>");
142
- $.ajax({
143
- url: '/admin/land/' + mls_acct + '/refresh',
144
- success: function(resp) {
145
- if (resp.error) modal.autosize("<p class='note error'>" + resp.error + "</p>");
146
- if (resp.success) modal.autosize("<p class='note success'>" + resp.success + "</p>");
147
- }
148
- });
149
- }
150
-
151
- var modal = false;
152
- $(window).load(function() {
153
- modal = new CabooseModal(800);
154
- });
155
- </script>
156
- <% end %>
@@ -1,211 +0,0 @@
1
- <%
2
- p = @property
3
- %>
4
- <h1>Multi-Family Property</h1>
5
-
6
- <p>
7
- <input type='button' value='< Back' onclick="window.location='/admin/multi-family';" />
8
- <input type='button' value='Manually Refresh from MLS' onclick="refresh_property_from_mls('<%= p.mls_acct %>');" />
9
- </p>
10
- <div id='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>bom_date </td><td><%= p.bom_date %></td></tr>
20
- <tr><td>book_number </td><td><%= p.book_number %></td></tr>
21
- <tr><td>book_page </td><td><%= p.book_page %></td></tr>
22
- <tr><td>book_type </td><td><%= p.book_type %></td></tr>
23
- <tr><td>box_on_unit </td><td><%= p.box_on_unit %></td></tr>
24
- <tr><td>buyer_broker </td><td><%= p.buyer_broker %></td></tr>
25
- <tr><td>buyer_broker_type </td><td><%= p.buyer_broker_type %></td></tr>
26
- <tr><td>buyer_name </td><td><%= p.buyer_name %></td></tr>
27
- <tr><td>category </td><td><%= p.category %></td></tr>
28
- <tr><td>city </td><td><%= p.city %></td></tr>
29
- <tr><td>city_code </td><td><%= p.city_code %></td></tr>
30
- <tr><td>contacts </td><td><%= p.contacts %></td></tr>
31
- <tr><td>contr_broker </td><td><%= p.contr_broker %></td></tr>
32
- <tr><td>contr_broker_type </td><td><%= p.contr_broker_type %></td></tr>
33
- <tr><td>county </td><td><%= p.county %></td></tr>
34
- <tr><td>co_la_code </td><td><%= p.co_la_code %></td></tr>
35
- <tr><td>co_lo_code </td><td><%= p.co_lo_code %></td></tr>
36
- <tr><td>co_sa_code </td><td><%= p.co_sa_code %></td></tr>
37
- <tr><td>co_so_code </td><td><%= p.co_so_code %></td></tr>
38
- <tr><td>current_price </td><td><%= p.current_price %></td></tr>
39
- <tr><td>date_created </td><td><%= p.date_created %></td></tr>
40
- <tr><td>date_leased </td><td><%= p.date_leased %></td></tr>
41
- <tr><td>date_modified </td><td><%= p.date_modified %></td></tr>
42
- <tr><td>df_yn </td><td><%= p.df_yn %></td></tr>
43
- <tr><td>directions </td><td><%= p.directions %></td></tr>
44
- <tr><td>display_address_yn </td><td><%= p.display_address_yn %></td></tr>
45
- <tr><td>dom </td><td><%= p.dom %></td></tr>
46
- <tr><td>elem_school </td><td><%= p.elem_school %></td></tr>
47
- <tr><td>expenses_association </td><td><%= p.expenses_association %></td></tr>
48
- <tr><td>expenses_insurance </td><td><%= p.expenses_insurance %></td></tr>
49
- <tr><td>expenses_maintenance </td><td><%= p.expenses_maintenance %></td></tr>
50
- <tr><td>expenses_management </td><td><%= p.expenses_management %></td></tr>
51
- <tr><td>expenses_other </td><td><%= p.expenses_other %></td></tr>
52
- <tr><td>expenses_tax </td><td><%= p.expenses_tax %></td></tr>
53
- <tr><td>expire_date </td><td><%= p.expire_date %></td></tr>
54
- <tr><td>flood_plain </td><td><%= p.flood_plain %></td></tr>
55
- <tr><td>ftr_building_type </td><td><%= p.ftr_building_type %></td></tr>
56
- <tr><td>ftr_construction </td><td><%= p.ftr_construction %></td></tr>
57
- <tr><td>ftr_cooling </td><td><%= p.ftr_cooling %></td></tr>
58
- <tr><td>ftr_exterior </td><td><%= p.ftr_exterior %></td></tr>
59
- <tr><td>ftr_exterioramenit </td><td><%= p.ftr_exterioramenit %></td></tr>
60
- <tr><td>ftr_floors </td><td><%= p.ftr_floors %></td></tr>
61
- <tr><td>ftr_heating </td><td><%= p.ftr_heating %></td></tr>
62
- <tr><td>ftr_interior </td><td><%= p.ftr_interior %></td></tr>
63
- <tr><td>ftr_rent_incl </td><td><%= p.ftr_rent_incl %></td></tr>
64
- <tr><td>ftr_roof </td><td><%= p.ftr_roof %></td></tr>
65
- <tr><td>ftr_roof_age </td><td><%= p.ftr_roof_age %></td></tr>
66
- <tr><td>ftr_showing </td><td><%= p.ftr_showing %></td></tr>
67
- <tr><td>ftr_utils </td><td><%= p.ftr_utils %></td></tr>
68
- <tr><td>ftr_zoning </td><td><%= p.ftr_zoning %></td></tr>
69
- <tr><td>georesult </td><td><%= p.georesult %></td></tr>
70
- <tr><td>geo_precision </td><td><%= p.geo_precision %></td></tr>
71
- <tr><td>high_school </td><td><%= p.high_school %></td></tr>
72
- <tr><td>hoa_fee </td><td><%= p.hoa_fee %></td></tr>
73
- <tr><td>hoa_fee_yn </td><td><%= p.hoa_fee_yn %></td></tr>
74
- <tr><td>hoa_term </td><td><%= p.hoa_term %></td></tr>
75
- <tr><td>income </td><td><%= p.income %></td></tr>
76
- <tr><td>income_other </td><td><%= p.income_other %></td></tr>
77
- <tr><td>income_rent </td><td><%= p.income_rent %></td></tr>
78
- <tr><td>internet_yn </td><td><%= p.internet_yn %></td></tr>
79
- <tr><td>la_code </td><td><%= p.la_code %></td></tr>
80
- <tr><td>legals </td><td><%= p.legals %></td></tr>
81
- <tr><td>limited_service_yn </td><td><%= p.limited_service_yn %></td></tr>
82
- <tr><td>listing_type </td><td><%= p.listing_type %></td></tr>
83
- <tr><td>list_date </td><td><%= p.list_date %></td></tr>
84
- <tr><td>list_price </td><td><%= p.list_price %></td></tr>
85
- <tr><td>lot_dimensions </td><td><%= p.lot_dimensions %></td></tr>
86
- <tr><td>lot_dimensions_source </td><td><%= p.lot_dimensions_source %></td></tr>
87
- <tr><td>lo_code </td><td><%= p.lo_code %></td></tr>
88
- <tr><td>management </td><td><%= p.management %></td></tr>
89
- <tr><td>media_flag </td><td><%= p.media_flag %></td></tr>
90
- <tr><td>middle_school </td><td><%= p.middle_school %></td></tr>
91
- <tr><td>mls_acct </td><td><%= p.mls_acct %></td></tr>
92
- <tr><td>municipality </td><td><%= p.municipality %></td></tr>
93
- <tr><td>num_units </td><td><%= p.num_units %></td></tr>
94
- <tr><td>num_units_occupied </td><td><%= p.num_units_occupied %></td></tr>
95
- <tr><td>office_notes </td><td><%= p.office_notes %></td></tr>
96
- <tr><td>off_mkt_date </td><td><%= p.off_mkt_date %></td></tr>
97
- <tr><td>off_mkt_days </td><td><%= p.off_mkt_days %></td></tr>
98
- <tr><td>orig_lp </td><td><%= p.orig_lp %></td></tr>
99
- <tr><td>orig_price </td><td><%= p.orig_price %></td></tr>
100
- <tr><td>other_fee </td><td><%= p.other_fee %></td></tr>
101
- <tr><td>other_fee_type </td><td><%= p.other_fee_type %></td></tr>
102
- <tr><td>owner_name </td><td><%= p.owner_name %></td></tr>
103
- <tr><td>owner_phone </td><td><%= p.owner_phone %></td></tr>
104
- <tr><td>parcel_id </td><td><%= p.parcel_id %></td></tr>
105
- <tr><td>pending_date </td><td><%= p.pending_date %></td></tr>
106
- <tr><td>photo_count </td><td><%= p.photo_count %></td></tr>
107
- <tr><td>photo_date_modified </td><td><%= p.photo_date_modified %></td></tr>
108
- <tr><td>price_change_date </td><td><%= p.price_change_date %></td></tr>
109
- <tr><td>price_sqft </td><td><%= p.price_sqft %></td></tr>
110
- <tr><td>proj_close_date </td><td><%= p.proj_close_date %></td></tr>
111
- <tr><td>prop_id </td><td><%= p.prop_id %></td></tr>
112
- <tr><td>prop_type </td><td><%= p.prop_type %></td></tr>
113
- <tr><td>remarks </td><td><%= p.remarks %></td></tr>
114
- <tr><td>sale_notes </td><td><%= p.sale_notes %></td></tr>
115
- <tr><td>sale_rent </td><td><%= p.sale_rent %></td></tr>
116
- <tr><td>sa_code </td><td><%= p.sa_code %></td></tr>
117
- <tr><td>sold_date </td><td><%= p.sold_date %></td></tr>
118
- <tr><td>sold_price </td><td><%= p.sold_price %></td></tr>
119
- <tr><td>sold_terms </td><td><%= p.sold_terms %></td></tr>
120
- <tr><td>so_code </td><td><%= p.so_code %></td></tr>
121
- <tr><td>state </td><td><%= p.state %></td></tr>
122
- <tr><td>status </td><td><%= p.status %></td></tr>
123
- <tr><td>status_date </td><td><%= p.status_date %></td></tr>
124
- <tr><td>status_flag </td><td><%= p.status_flag %></td></tr>
125
- <tr><td>street </td><td><%= p.street %></td></tr>
126
- <tr><td>street_dir </td><td><%= p.street_dir %></td></tr>
127
- <tr><td>street_name </td><td><%= p.street_name %></td></tr>
128
- <tr><td>street_num </td><td><%= p.street_num %></td></tr>
129
- <tr><td>subdivision </td><td><%= p.subdivision %></td></tr>
130
- <tr><td>sub_agent </td><td><%= p.sub_agent %></td></tr>
131
- <tr><td>sub_agent_type </td><td><%= p.sub_agent_type %></td></tr>
132
- <tr><td>third_party_comm_yn </td><td><%= p.third_party_comm_yn %></td></tr>
133
- <tr><td>tot_heat_sqft </td><td><%= p.tot_heat_sqft %></td></tr>
134
- <tr><td>u1_baths </td><td><%= p.u1_baths %></td></tr>
135
- <tr><td>u1_num </td><td><%= p.u1_num %></td></tr>
136
- <tr><td>u1_occ </td><td><%= p.u1_occ %></td></tr>
137
- <tr><td>u1_rent </td><td><%= p.u1_rent %></td></tr>
138
- <tr><td>u1_sqft </td><td><%= p.u1_sqft %></td></tr>
139
- <tr><td>u1_yn </td><td><%= p.u1_yn %></td></tr>
140
- <tr><td>u2_baths </td><td><%= p.u2_baths %></td></tr>
141
- <tr><td>u2_num </td><td><%= p.u2_num %></td></tr>
142
- <tr><td>u2_occ </td><td><%= p.u2_occ %></td></tr>
143
- <tr><td>u2_rent </td><td><%= p.u2_rent %></td></tr>
144
- <tr><td>u2_sqft </td><td><%= p.u2_sqft %></td></tr>
145
- <tr><td>u2_yn </td><td><%= p.u2_yn %></td></tr>
146
- <tr><td>u3_baths </td><td><%= p.u3_baths %></td></tr>
147
- <tr><td>u3_num </td><td><%= p.u3_num %></td></tr>
148
- <tr><td>u3_occ </td><td><%= p.u3_occ %></td></tr>
149
- <tr><td>u3_rent </td><td><%= p.u3_rent %></td></tr>
150
- <tr><td>u3_sqft </td><td><%= p.u3_sqft %></td></tr>
151
- <tr><td>u3_yn </td><td><%= p.u3_yn %></td></tr>
152
- <tr><td>u4_baths </td><td><%= p.u4_baths %></td></tr>
153
- <tr><td>u4_num </td><td><%= p.u4_num %></td></tr>
154
- <tr><td>u4_occ </td><td><%= p.u4_occ %></td></tr>
155
- <tr><td>u4_rent </td><td><%= p.u4_rent %></td></tr>
156
- <tr><td>u4_sqft </td><td><%= p.u4_sqft %></td></tr>
157
- <tr><td>u4_yn </td><td><%= p.u4_yn %></td></tr>
158
- <tr><td>u5_baths </td><td><%= p.u5_baths %></td></tr>
159
- <tr><td>u5_num </td><td><%= p.u5_num %></td></tr>
160
- <tr><td>u5_occ </td><td><%= p.u5_occ %></td></tr>
161
- <tr><td>u5_rent </td><td><%= p.u5_rent %></td></tr>
162
- <tr><td>u5_sqft </td><td><%= p.u5_sqft %></td></tr>
163
- <tr><td>u5_yn </td><td><%= p.u5_yn %></td></tr>
164
- <tr><td>u6_baths </td><td><%= p.u6_baths %></td></tr>
165
- <tr><td>u6_num </td><td><%= p.u6_num %></td></tr>
166
- <tr><td>u6_occ </td><td><%= p.u6_occ %></td></tr>
167
- <tr><td>u6_rent </td><td><%= p.u6_rent %></td></tr>
168
- <tr><td>u6_sqft </td><td><%= p.u6_sqft %></td></tr>
169
- <tr><td>u6_yn </td><td><%= p.u6_yn %></td></tr>
170
- <tr><td>u7_baths </td><td><%= p.u7_baths %></td></tr>
171
- <tr><td>u7_num </td><td><%= p.u7_num %></td></tr>
172
- <tr><td>u7_occ </td><td><%= p.u7_occ %></td></tr>
173
- <tr><td>u7_rent </td><td><%= p.u7_rent %></td></tr>
174
- <tr><td>u7_sqft </td><td><%= p.u7_sqft %></td></tr>
175
- <tr><td>u7_yn </td><td><%= p.u7_yn %></td></tr>
176
- <tr><td>u8_num </td><td><%= p.u8_num %></td></tr>
177
- <tr><td>u8_occ </td><td><%= p.u8_occ %></td></tr>
178
- <tr><td>u8_rent </td><td><%= p.u8_rent %></td></tr>
179
- <tr><td>u8_sqft </td><td><%= p.u8_sqft %></td></tr>
180
- <tr><td>u8_yn </td><td><%= p.u8_yn %></td></tr>
181
- <tr><td>unit_num </td><td><%= p.unit_num %></td></tr>
182
- <tr><td>upload_source </td><td><%= p.upload_source %></td></tr>
183
- <tr><td>valuation_yn </td><td><%= p.valuation_yn %></td></tr>
184
- <tr><td>vt_yn </td><td><%= p.vt_yn %></td></tr>
185
- <tr><td>withdrawn_date </td><td><%= p.withdrawn_date %></td></tr>
186
- <tr><td>year_built </td><td><%= p.year_built %></td></tr>
187
- <tr><td>zip </td><td><%= p.zip %></td></tr>
188
- </table><br />
189
-
190
- <% content_for :caboose_js do %>
191
- <%= javascript_include_tag "caboose/model/all" %>
192
- <script type='text/javascript'>
193
-
194
- function refresh_property_from_mls(mls_acct)
195
- {
196
- modal.autosize("<p class='loading'>Refreshing property info and images from MLS...</p>");
197
- $.ajax({
198
- url: '/admin/multi-family/' + mls_acct + '/refresh',
199
- success: function(resp) {
200
- if (resp.error) modal.autosize("<p class='note error'>" + resp.error + "</p>");
201
- if (resp.success) modal.autosize("<p class='note success'>" + resp.success + "</p>");
202
- }
203
- });
204
- }
205
-
206
- var modal = false;
207
- $(window).load(function() {
208
- modal = new CabooseModal(800);
209
- });
210
- </script>
211
- <% end %>