caboose-rets 0.1.26 → 0.1.27
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 +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 %>
|