caboose-rets 0.1.26 → 0.1.27
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/agents_controller.rb +76 -119
- data/app/models/caboose_rets/agent.rb +2 -2
- data/app/models/caboose_rets/agent_meta.rb +5 -3
- data/app/models/caboose_rets/media.rb +2 -1
- data/app/models/caboose_rets/rets_importer.rb +2 -2
- data/app/models/caboose_rets/rets_plugin.rb +10 -10
- data/app/models/caboose_rets/schema.rb +2 -1
- data/app/views/caboose_rets/agents/admin_edit.html.erb +69 -14
- data/app/views/caboose_rets/agents/admin_edit_sort.html.erb +82 -0
- data/app/views/caboose_rets/agents/admin_index.html.erb +49 -39
- data/app/views/caboose_rets/agents/details.html.erb +8 -139
- data/app/views/caboose_rets/agents/index.html.erb +12 -144
- data/config/routes.rb +13 -13
- data/lib/caboose_rets/version.rb +1 -1
- metadata +21 -25
- data/app/views/caboose_rets/agents/_admin_top_nav.html.erb +0 -7
- data/app/views/caboose_rets/agents/admin_edit_bio.html.erb +0 -31
- data/app/views/caboose_rets/agents/admin_edit_contact_info.html.erb +0 -31
- data/app/views/caboose_rets/agents/admin_edit_mls_info.html.erb +0 -69
- data/app/views/caboose_rets/agents/listings.html.erb +0 -121
@@ -1,7 +0,0 @@
|
|
1
|
-
<div class='top_right_controls'>
|
2
|
-
<input type='button' value='General' onclick="window.location='/admin/agents/<%= @agent.id %>/edit';" />
|
3
|
-
<input type='button' value='Bio' onclick="window.location='/admin/agents/<%= @agent.id %>/edit-bio';" />
|
4
|
-
<input type='button' value='Contact Info' onclick="window.location='/admin/agents/<%= @agent.id %>/edit-contact-info';" />
|
5
|
-
<input type='button' value='MLS Info' onclick="window.location='/admin/agents/<%= @agent.id %>/edit-mls-info';" />
|
6
|
-
</div>
|
7
|
-
<p>Agent: <%= "#{@agent.first_name} #{@agent.last_name}, #{@agent.la_code}" %></p>
|
@@ -1,31 +0,0 @@
|
|
1
|
-
<h1>Edit Agent</h1>
|
2
|
-
<%= render :partial => 'caboose_rets/agents/admin_top_nav' %>
|
3
|
-
|
4
|
-
<div id='agent_<%= @agent.id %>_bio'></div>
|
5
|
-
|
6
|
-
<p style='clear: both;'><input type='button' value='< Back' onclick="window.location='/admin/agents';" /></p>
|
7
|
-
|
8
|
-
<% content_for :caboose_js do %>
|
9
|
-
<%= javascript_include_tag "caboose/model/all" %>
|
10
|
-
<script type='text/javascript'>
|
11
|
-
$(document).ready(function() {
|
12
|
-
m = new ModelBinder({
|
13
|
-
name: 'Agent',
|
14
|
-
id: <%= @agent.id %>,
|
15
|
-
update_url: '/admin/agents/<%= @agent.id %>',
|
16
|
-
authenticity_token: '<%= form_authenticity_token %>',
|
17
|
-
attributes: [{
|
18
|
-
name: 'bio',
|
19
|
-
nice_name: 'Bio',
|
20
|
-
type: 'textarea',
|
21
|
-
value: <%= raw Caboose.json(@agent.bio) %>,
|
22
|
-
width: 600,
|
23
|
-
height: 250
|
24
|
-
}]
|
25
|
-
});
|
26
|
-
});
|
27
|
-
$(window).load(function() {
|
28
|
-
var modal = new CabooseModal(800);
|
29
|
-
});
|
30
|
-
</script>
|
31
|
-
<% end %>
|
@@ -1,31 +0,0 @@
|
|
1
|
-
<h1>Edit Agent</h1>
|
2
|
-
<%= render :partial => 'caboose_rets/agents/admin_top_nav' %>
|
3
|
-
|
4
|
-
<div id='agent_<%= @agent.id %>_contact_info' ></div>
|
5
|
-
|
6
|
-
<p style='clear: both;'><input type='button' value='< Back' onclick="window.location='/admin/agents';" /></p>
|
7
|
-
|
8
|
-
<% content_for :caboose_js do %>
|
9
|
-
<%= javascript_include_tag "caboose/model/all" %>
|
10
|
-
<script type='text/javascript'>
|
11
|
-
$(document).ready(function() {
|
12
|
-
m = new ModelBinder({
|
13
|
-
name: 'Agent',
|
14
|
-
id: <%= @agent.id %>,
|
15
|
-
update_url: '/admin/agents/<%= @agent.id %>',
|
16
|
-
authenticity_token: '<%= form_authenticity_token %>',
|
17
|
-
attributes: [{
|
18
|
-
name: 'contact_info',
|
19
|
-
nice_name: 'Contact Info',
|
20
|
-
type: 'textarea',
|
21
|
-
value: <%= raw Caboose.json(@agent.contact_info) %>,
|
22
|
-
width: 750,
|
23
|
-
height: 250
|
24
|
-
}]
|
25
|
-
});
|
26
|
-
});
|
27
|
-
$(window).load(function() {
|
28
|
-
var modal = new CabooseModal(800);
|
29
|
-
});
|
30
|
-
</script>
|
31
|
-
<% end %>
|
@@ -1,69 +0,0 @@
|
|
1
|
-
<h1>Edit Agent</h1>
|
2
|
-
<%= render :partial => 'caboose_rets/agents/admin_top_nav' %>
|
3
|
-
|
4
|
-
<p>
|
5
|
-
<input type='button' value='< Back' onclick="window.location='/admin/agents';" />
|
6
|
-
<input type='button' value='Refresh from MLS' onclick="refresh_agent_from_mls(<%= @agent.id %>);" />
|
7
|
-
</p>
|
8
|
-
<div id='message'><%= raw flash[:message] ? flash[:message] : "" %></div>
|
9
|
-
|
10
|
-
<table class='data'>
|
11
|
-
<tr><td>beeper_phone </td><td><%= @agent.beeper_phone %></td></tr>
|
12
|
-
<tr><td>car_phone </td><td><%= @agent.car_phone %></td></tr>
|
13
|
-
<tr><td>date_created </td><td><%= @agent.date_created %></td></tr>
|
14
|
-
<tr><td>date_modified </td><td><%= @agent.date_modified %></td></tr>
|
15
|
-
<tr><td>defaultemail </td><td><%= @agent.defaultemail %></td></tr>
|
16
|
-
<tr><td>fax_phone </td><td><%= @agent.fax_phone %></td></tr>
|
17
|
-
<tr><td>first_name </td><td><%= @agent.first_name %></td></tr>
|
18
|
-
<tr><td>home_phone </td><td><%= @agent.home_phone %></td></tr>
|
19
|
-
<tr><td>la_code </td><td><%= @agent.la_code %></td></tr>
|
20
|
-
<tr><td>last_name </td><td><%= @agent.last_name %></td></tr>
|
21
|
-
<tr><td>lo_code </td><td><%= @agent.lo_code %></td></tr>
|
22
|
-
<tr><td>mail_addr1 </td><td><%= @agent.mail_addr1 %></td></tr>
|
23
|
-
<tr><td>mail_addr2 </td><td><%= @agent.mail_addr2 %></td></tr>
|
24
|
-
<tr><td>mail_city </td><td><%= @agent.mail_city %></td></tr>
|
25
|
-
<tr><td>mail_state </td><td><%= @agent.mail_state %></td></tr>
|
26
|
-
<tr><td>mail_zip </td><td><%= @agent.mail_zip %></td></tr>
|
27
|
-
<tr><td>member_email </td><td><%= @agent.member_email %></td></tr>
|
28
|
-
<tr><td>member_page </td><td><%= @agent.member_page %></td></tr>
|
29
|
-
<tr><td>member_status </td><td><%= @agent.member_status %></td></tr>
|
30
|
-
<tr><td>nrds_id </td><td><%= @agent.nrds_id %></td></tr>
|
31
|
-
<tr><td>office_phone </td><td><%= @agent.office_phone %></td></tr>
|
32
|
-
<tr><td>other_phone </td><td><%= @agent.other_phone %></td></tr>
|
33
|
-
<tr><td>phone_change_date </td><td><%= @agent.phone_change_date %></td></tr>
|
34
|
-
<tr><td>phone_direct_office </td><td><%= @agent.phone_direct_office %></td></tr>
|
35
|
-
<tr><td>phone_home_fax </td><td><%= @agent.phone_home_fax %></td></tr>
|
36
|
-
<tr><td>phone_pager </td><td><%= @agent.phone_pager %></td></tr>
|
37
|
-
<tr><td>phone_second_home </td><td><%= @agent.phone_second_home %></td></tr>
|
38
|
-
<tr><td>phone_toll_free </td><td><%= @agent.phone_toll_free %></td></tr>
|
39
|
-
<tr><td>phone_voice_mail </td><td><%= @agent.phone_voice_mail %></td></tr>
|
40
|
-
<tr><td>phone_voice_pager </td><td><%= @agent.phone_voice_pager %></td></tr>
|
41
|
-
<tr><td>photo_count </td><td><%= @agent.photo_count %></td></tr>
|
42
|
-
<tr><td>photo_date_modified </td><td><%= @agent.photo_date_modified %></td></tr>
|
43
|
-
</table>
|
44
|
-
|
45
|
-
<p><input type='button' value='< Back' onclick="window.location='/admin/agents';" /></p>
|
46
|
-
|
47
|
-
<% content_for :caboose_js do %>
|
48
|
-
<%= javascript_include_tag "caboose/model/all" %>
|
49
|
-
<script type='text/javascript'>
|
50
|
-
|
51
|
-
function refresh_agent_from_mls(agent_id)
|
52
|
-
{
|
53
|
-
modal.autosize("<p class='loading'>Refreshing agent info from MLS...</p>");
|
54
|
-
$.ajax({
|
55
|
-
url: '/admin/agents/' + agent_id + '/refresh',
|
56
|
-
success: function(resp) {
|
57
|
-
if (resp.error) modal.autosize("<p class='note error'>" + resp.error + "</p>");
|
58
|
-
if (resp.success) modal.autosize("<p class='note success'>" + resp.success + "</p>");
|
59
|
-
}
|
60
|
-
});
|
61
|
-
}
|
62
|
-
|
63
|
-
var modal = false;
|
64
|
-
$(window).load(function() {
|
65
|
-
modal = new CabooseModal(800);
|
66
|
-
});
|
67
|
-
|
68
|
-
</script>
|
69
|
-
<% end %>
|
@@ -1,121 +0,0 @@
|
|
1
|
-
<style type="text/css">
|
2
|
-
#recaptcha_area, #recaptcha_table {width: auto !important;}
|
3
|
-
#recaptcha_image {width: 175px !important;}
|
4
|
-
#recaptcha_image img{width:100% !important;padding: 0px;}
|
5
|
-
fieldset.captcha{width:157px !important;}
|
6
|
-
#recaptcha_image {width:157px !important;}
|
7
|
-
#recaptcha_container {margin: 0px;padding: 0px;width: 157px !important;}
|
8
|
-
input#recaptcha_response_field{padding:0px;}
|
9
|
-
</style>
|
10
|
-
|
11
|
-
<div class="l-wrapper">
|
12
|
-
<div class="l-sidebar inflate-bass h-space-ptm">
|
13
|
-
<div class="sidebar-aside"><a class="m-btn btn-red" href="/agents">Back to Agents</a></div>
|
14
|
-
<div class="sidebar-body"><h3><%= @agent.first_name %> <%= @agent.last_name %></h3></div>
|
15
|
-
</div> <!-- .l-sidebar -->
|
16
|
-
</div> <!-- .l-wrapper -->
|
17
|
-
|
18
|
-
<div class="l-wrapper">
|
19
|
-
<div class="body-section">
|
20
|
-
<div class="l-sidebar inflate-bass sidebar-border h-space-pbm">
|
21
|
-
<div class="sidebar-aside">
|
22
|
-
<!-- <a class="m-btn btn-red" href="/agents">Back to Agents</a> -->
|
23
|
-
<figure class="h-space-mvm"><img src="https://s3.amazonaws.com/advantagerealtygroup.com/agents/<%=@agent.id%>_thumb.jpg" width="150" class="h-border" /></figure>
|
24
|
-
|
25
|
-
<% if @agent.contact_info.nil? || @agent.contact_info.strip.length == 0 %>
|
26
|
-
<% if @agent.office_phone.strip.length > 0 %><p><small><strong>Work Phone: </strong></small> <a href="tel:<%= @agent.office_phone %>"><%= @agent.office_phone %></a></p><% end %>
|
27
|
-
<% if @agent.car_phone.strip.length > 0 %><p><small><strong>Cell Phone: </strong></small> <a href="tel:<%= @agent.car_phone %>"><%= @agent.car_phone %></a></p><% end %>
|
28
|
-
<% if @agent.home_phone.strip.length > 0 %><p><small><strong>Home Phone: </strong> </small><a href="tel:<%= @agent.home_phone %>"><%= @agent.home_phone %></a></p><% end %>
|
29
|
-
<% if @agent.member_email.strip.length > 0 %><p><small><strong>Email: </strong> </small><a href="mailto:<%= @agent.member_email %>"><%= @agent.member_email %></a></p><% end %>
|
30
|
-
<% else %>
|
31
|
-
<%= raw @agent.contact_info %>
|
32
|
-
<% end %>
|
33
|
-
<hr />
|
34
|
-
|
35
|
-
<h4><i class="m-icon-contact"></i> Contact Agent</h4>
|
36
|
-
<%= form_for @message, :url => "/contact/create", :html => {:class => "m-form h-space-pbm", :'accept-charset' => "utf-8", :method => "POST" } do |f| %>
|
37
|
-
<%= f.hidden_field :la_code, :value => @agent.la_code %>
|
38
|
-
<%= f.text_field :name, :placeholder => "Full Name", :id => "contact_name", :maxlength => "150" %>
|
39
|
-
<%= f.text_field :email, :placeholder => "Email", :id => "contact_addres", :maxlength => "150" %>
|
40
|
-
<%= f.text_area :body, :placeholder => "Message", :cols => "50", :rows => "4", :id => "contact_message", :class => "contact_message" %>
|
41
|
-
<%=
|
42
|
-
recaptcha_tags :noscript => false
|
43
|
-
%>
|
44
|
-
<!-- <input type="hidden" name="mls_number" type="hidden" value="mls_acct"> -->
|
45
|
-
<input class="m-btn btn-right btn-red h-space-mts" type="submit" value="submit">
|
46
|
-
<% end %>
|
47
|
-
</div> <!-- .sidebar-aside -->
|
48
|
-
|
49
|
-
<div class="sidebar-body">
|
50
|
-
<article><%= raw @agent.bio %></article>
|
51
|
-
<hr />
|
52
|
-
|
53
|
-
<% @property_groups.select{ |pg| !pg[:properties].empty? }.each do |pg| %>
|
54
|
-
<h4><%= pg[:title] %></h4>
|
55
|
-
<ul class="m-list-border">
|
56
|
-
<% pg[:properties].each do |l| %>
|
57
|
-
<li class="l-media inflate-bass center-on-mobile">
|
58
|
-
<figure class="media-aside">
|
59
|
-
<a href="/<%= pg[:url_prefix] %>/<%= l.mls_acct %>/details"><img class="h-border" src="https://s3.amazonaws.com/advantagerealtygroup.com/<%= pg[:url_prefix] %>/<%=l.mls_acct%>_1_thumb.jpg" width="150" /></a>
|
60
|
-
</figure>
|
61
|
-
<div class="media-body h-pos">
|
62
|
-
<p class="pos-top-right h-type-highlight"><strong>MLS#<%=l.mls_acct%></strong></p>
|
63
|
-
|
64
|
-
<% if l.street_num != '0' && l.street_name != "" %>
|
65
|
-
|
66
|
-
<h5>
|
67
|
-
<% if l.unit_num != "" %>
|
68
|
-
Unit <%= l.unit_num %>,
|
69
|
-
<% end %>
|
70
|
-
<%=l.street_num%> <%=l.street_name%>
|
71
|
-
</h5>
|
72
|
-
<% end %>
|
73
|
-
|
74
|
-
<p><small><%=l.city%>, <%=l.state%> <%=l.zip%></small></p>
|
75
|
-
|
76
|
-
<div class="l-grid grid-row inflate-tenor">
|
77
|
-
<div class="grid-unit-1of4">
|
78
|
-
<% if pg[:type] == 'RES' || pg[:type] == 'COM' %>
|
79
|
-
<a class="m-btn btn-red" href="/<%= pg[:url_prefix] %>/<%= l.mls_acct %>/details">See More</a>
|
80
|
-
<% else %>
|
81
|
-
<p> </p>
|
82
|
-
<% end %>
|
83
|
-
</div>
|
84
|
-
<% if pg[:type] == 'RES' %>
|
85
|
-
<div class="grid-unit-1of4">Beds<br /><%= l.bedrooms %></div>
|
86
|
-
<div class="grid-unit-1of4">Full Baths<br /><%= l.baths_full %></div>
|
87
|
-
<% end %>
|
88
|
-
<div class="grid-unit-1of4">Price<br />
|
89
|
-
<% if l.current_price.nil? || l.current_price == '0' || l.current_price == 0 %>
|
90
|
-
Available Upon Inquiry<% else %><%= h number_to_currency l.current_price %>
|
91
|
-
<% end %>
|
92
|
-
</div>
|
93
|
-
</div> <!-- .l-grid -->
|
94
|
-
</div> <!-- .media-body -->
|
95
|
-
</li>
|
96
|
-
<% end %>
|
97
|
-
</ul>
|
98
|
-
<% end %>
|
99
|
-
|
100
|
-
</div> <!-- .sidebar-body -->
|
101
|
-
</div> <!-- .l-sidebar -->
|
102
|
-
|
103
|
-
<hr />
|
104
|
-
|
105
|
-
<footer class="h-type-center h-space-pam">
|
106
|
-
<h3>The Advantage Realty Group, Inc.</h3>
|
107
|
-
<p>The perfect home awaits.</p>
|
108
|
-
<p>Let us help you.</p>
|
109
|
-
</footer>
|
110
|
-
</div> <!-- .body-section -->
|
111
|
-
</div> <!-- .l-wrapper -->
|
112
|
-
|
113
|
-
<div class="body-sink"></div>
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
<% unless flash[:notice].blank? %>
|
118
|
-
<script type="text/javascript">
|
119
|
-
alert('<%= flash[:notice] %>');
|
120
|
-
</script>
|
121
|
-
<% end %>
|