caboose-cms 0.9.193 → 0.9.194
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/assets/javascripts/caboose/main.js +35 -34
- data/app/assets/stylesheets/caboose/login.scss +95 -0
- data/app/controllers/caboose/application_controller.rb +1 -1
- data/app/controllers/caboose/block_type_categories_controller.rb +25 -2
- data/app/controllers/caboose/block_types_controller.rb +34 -35
- data/app/controllers/caboose/login_controller.rb +33 -37
- data/app/controllers/caboose/pages_controller.rb +2 -7
- data/app/controllers/caboose/register_controller.rb +12 -14
- data/app/controllers/caboose/users_controller.rb +40 -46
- data/app/mailers/caboose/login_mailer.rb +3 -2
- data/app/models/caboose/authenticator.rb +2 -2
- data/app/models/caboose/block_type_category.rb +4 -2
- data/app/models/caboose/schema.rb +4 -2
- data/app/views/caboose/block_type_categories/admin_edit.html.erb +43 -0
- data/app/views/caboose/block_type_categories/admin_index.html.erb +23 -0
- data/app/{assets/javascripts/caboose/testing.js → views/caboose/block_type_categories/admin_new.html.erb} +0 -0
- data/app/views/caboose/block_types/admin_edit.html.erb +8 -8
- data/app/views/caboose/extras/error.html.erb +1 -1
- data/app/views/caboose/login/forgot_password_form.html.erb +38 -51
- data/app/views/caboose/login/index.html.erb +41 -64
- data/app/views/caboose/login/reset_password_form.html.erb +35 -35
- data/app/views/caboose/register/index.html.erb +51 -44
- data/lib/caboose/version.rb +1 -1
- metadata +6 -8
- data/app/assets/javascripts/caboose/cart_old.js +0 -184
- data/app/assets/javascripts/caboose/checkout_old.js +0 -151
- data/app/assets/javascripts/caboose/product_new.js +0 -306
- data/app/assets/javascripts/caboose/product_old.js +0 -324
- data/app/assets/stylesheets/caboose/login.css +0 -134
@@ -214,14 +214,16 @@ class Caboose::Schema < Caboose::Utilities::Schema
|
|
214
214
|
],
|
215
215
|
Caboose::BlockTypeCategory => [
|
216
216
|
[ :parent_id , :integer ],
|
217
|
-
[ :name , :string ]
|
217
|
+
[ :name , :string ],
|
218
|
+
[ :sort_order, :integer ],
|
219
|
+
[ :show_in_sidebar, :boolean, { :default => true }]
|
218
220
|
],
|
219
221
|
Caboose::BlockTypeSource => [
|
220
222
|
[ :name , :string ],
|
221
223
|
[ :url , :string ],
|
222
224
|
[ :token , :string ],
|
223
225
|
[ :priority , :integer, { :default => 0 }],
|
224
|
-
[ :active , :boolean, { :default => true }]
|
226
|
+
[ :active , :boolean, { :default => true }]
|
225
227
|
],
|
226
228
|
Caboose::BlockTypeSummary => [
|
227
229
|
[ :block_type_source_id , :integer ],
|
@@ -0,0 +1,43 @@
|
|
1
|
+
<h1>Edit Block Type Category</h1>
|
2
|
+
|
3
|
+
<p><div id='blocktypecategory_<%= @btc.id %>_name' ></div></p>
|
4
|
+
<p><div id='blocktypecategory_<%= @btc.id %>_parent_id' ></div></p>
|
5
|
+
<p><div id='blocktypecategory_<%= @btc.id %>_sort_order' ></div></p>
|
6
|
+
<p><div id='blocktypecategory_<%= @btc.id %>_show_in_sidebar' ></div></p>
|
7
|
+
|
8
|
+
<h5>Blocks</h5>
|
9
|
+
<ul>
|
10
|
+
<% Caboose::BlockType.where(:block_type_category_id => @btc.id).order(:id).all.each do |bt| %>
|
11
|
+
<li><a href="/admin/block-types/<%= bt.id %>"><%= bt.description %></a></li>
|
12
|
+
<% end %>
|
13
|
+
</ul>
|
14
|
+
<br />
|
15
|
+
|
16
|
+
<a href="/admin/block-type-categories" class="caboose-btn">< Back</a>
|
17
|
+
|
18
|
+
<% content_for :caboose_css do %>
|
19
|
+
<style type='text/css'>
|
20
|
+
|
21
|
+
</style>
|
22
|
+
<% end %>
|
23
|
+
<% content_for :caboose_js do %>
|
24
|
+
<%= javascript_include_tag "caboose/model/all" %>
|
25
|
+
<script type="text/javascript">
|
26
|
+
|
27
|
+
$(document).ready(function() {
|
28
|
+
new ModelBinder({
|
29
|
+
name: 'BlockTypeCategory',
|
30
|
+
id: <%= @btc.id %>,
|
31
|
+
update_url: '/admin/block-type-categories/<%= @btc.id %>',
|
32
|
+
authenticity_token: '<%= form_authenticity_token %>',
|
33
|
+
attributes: [
|
34
|
+
{ name: 'name' , nice_name: 'Name', type: 'text' , value: <%= raw Caboose.json(@btc.name) %>, width: 400 },
|
35
|
+
{ name: 'parent_id' , nice_name: 'Parent', type: 'text' , value: <%= raw Caboose.json(@btc.parent_id) %>, width: 400 },
|
36
|
+
{ name: 'sort_order' , nice_name: 'Sort Order', type: 'text' , value: <%= raw Caboose.json(@btc.sort_order) %>, width: 400 },
|
37
|
+
{ name: 'show_in_sidebar' , nice_name: 'Show in Sidebar', type: 'checkbox' , value: <%= raw Caboose.json(@btc.show_in_sidebar) %>, width: 400 }
|
38
|
+
]
|
39
|
+
});
|
40
|
+
});
|
41
|
+
|
42
|
+
</script>
|
43
|
+
<% end %>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<h1>Block Type Categories</h1>
|
2
|
+
|
3
|
+
<ul>
|
4
|
+
<% @btc.each do |btc| %>
|
5
|
+
<li>
|
6
|
+
<a href="/admin/block-type-categories/<%= btc.id %>"><%= btc.name %></a>
|
7
|
+
<ul>
|
8
|
+
<% btc.children.each do |btc2| %>
|
9
|
+
<li>
|
10
|
+
<a href="/admin/block-type-categories/<%= btc2.id %>"><%= btc2.name %></a>
|
11
|
+
<ul>
|
12
|
+
<% btc2.children.each do |btc3| %>
|
13
|
+
<li>
|
14
|
+
<a href="/admin/block-type-categories/<%= btc3.id %>"><%= btc3.name %></a>
|
15
|
+
</li>
|
16
|
+
<% end %>
|
17
|
+
</ul>
|
18
|
+
</li>
|
19
|
+
<% end %>
|
20
|
+
</ul>
|
21
|
+
</li>
|
22
|
+
<% end %>
|
23
|
+
</ul>
|
File without changes
|
@@ -25,17 +25,17 @@ bt = @block_type
|
|
25
25
|
<p><div id='blocktype_<%= bt.id %>_default' ></div></p>
|
26
26
|
<p><div id='blocktype_<%= bt.id %>_width' ></div></p>
|
27
27
|
<p><div id='blocktype_<%= bt.id %>_height' ></div></p>
|
28
|
-
<p><div id='blocktype_<%= bt.id %>_fixed_placeholder' ></div></p>
|
28
|
+
<!-- <p><div id='blocktype_<%= bt.id %>_fixed_placeholder' ></div></p> -->
|
29
29
|
<p><div id='blocktype_<%= bt.id %>_options_url' ></div></p>
|
30
30
|
<p><div id='blocktype_<%= bt.id %>_options' ></div></p>
|
31
|
-
<p><div id='blocktype_<%= bt.id %>_is_global' ></div></p>
|
31
|
+
<!-- <p><div id='blocktype_<%= bt.id %>_is_global' ></div></p> -->
|
32
32
|
<p><div id='blocktype_<%= bt.id %>_use_render_function' ></div></p>
|
33
33
|
<p><div id='blocktype_<%= bt.id %>_use_render_function_for_layout' ></div></p>
|
34
34
|
<p><div id='blocktype_<%= bt.id %>_use_js_for_modal' ></div></p>
|
35
35
|
<p><div id='blocktype_<%= bt.id %>_allow_child_blocks' ></div></p>
|
36
36
|
<p><div id='blocktype_<%= bt.id %>_default_child_block_type_id' ></div></p>
|
37
|
-
<p><div id='blocktype_<%= bt.id %>_default_constrain' ></div></p>
|
38
|
-
<p><div id='blocktype_<%= bt.id %>_default_full_width' ></div></p>
|
37
|
+
<!-- <p><div id='blocktype_<%= bt.id %>_default_constrain' ></div></p>
|
38
|
+
<p><div id='blocktype_<%= bt.id %>_default_full_width' ></div></p> -->
|
39
39
|
<p><div id='blocktype_<%= bt.id %>_default_included' ></div></p>
|
40
40
|
<p>
|
41
41
|
|
@@ -100,7 +100,7 @@ $(document).ready(function() {
|
|
100
100
|
{ name: 'description' , sort: 'description' , show: true , bulk_edit: false, nice_name: 'Description' , type: 'text' , value: function(bt) { return bt.description; }, width: 400 },
|
101
101
|
{ name: 'field_type' , sort: 'field_type' , show: true , bulk_edit: false, nice_name: 'Field type' , type: 'select' , value: function(bt) { return bt.field_type; }, width: 400, options_url: '/admin/block-types/field-type-options' },
|
102
102
|
{ name: 'block_type_category_id' , sort: 'block_type_category_id' , show: false , bulk_edit: false, nice_name: 'Category' , type: 'select' , value: function(bt) { return bt.block_type_category_id; }, width: 400, options_url: '/admin/block-type-categories/tree-options' },
|
103
|
-
|
103
|
+
// { name: 'is_global' , sort: 'is_global' , show: false , bulk_edit: false, nice_name: 'Global' , type: 'checkbox' , value: function(bt) { return bt.is_global; }, text: function(bt) { return bt.is_global ? 'Yes' : 'No' }, width: 400 },
|
104
104
|
{ name: 'use_render_function' , sort: 'use_render_function' , show: true , bulk_edit: false, nice_name: 'Use Render Function' , type: 'checkbox' , value: function(bt) { return bt.use_render_function; }, text: function(bt) { return bt.use_render_function ? 'Yes' : 'No' }, width: 400 },
|
105
105
|
{ name: 'use_render_function_for_layout' , sort: 'use_render_function_for_layout' , show: true , bulk_edit: false, nice_name: 'Use Render Function for Modal' , type: 'checkbox' , value: function(bt) { return bt.use_render_function_for_layout; }, text: function(bt) { return bt.use_render_function_for_layout ? 'Yes' : 'No' }, width: 400 },
|
106
106
|
{ name: 'use_js_for_modal' , sort: 'use_js_for_modal' , show: true , bulk_edit: false, nice_name: 'Use JS for Modal' , type: 'checkbox' , value: function(bt) { return bt.use_js_for_modal; }, text: function(bt) { return bt.use_js_for_modal ? 'Yes' : 'No' }, width: 400 },
|
@@ -109,9 +109,9 @@ $(document).ready(function() {
|
|
109
109
|
{ name: 'default' , sort: 'default' , show: false , bulk_edit: false, nice_name: 'Default value' , type: 'text' , value: function(bt) { return bt.default; }, width: 400 },
|
110
110
|
{ name: 'width' , sort: 'width' , show: false , bulk_edit: false, nice_name: 'Width' , type: 'text' , value: function(bt) { return bt.width; }, width: 400 },
|
111
111
|
{ name: 'height' , sort: 'height' , show: false , bulk_edit: false, nice_name: 'Height' , type: 'text' , value: function(bt) { return bt.height; }, width: 400 },
|
112
|
-
|
113
|
-
|
114
|
-
|
112
|
+
// { name: 'fixed_placeholder' , sort: 'fixed_placeholder' , show: false , bulk_edit: false, nice_name: 'Fixed placeholder' , type: 'checkbox' , value: function(bt) { return bt.fixed_placeholder; }, text: function(bt) { return bt.fixed_placeholder ? 'Yes' : 'No' }, width: 400 },
|
113
|
+
// { name: 'default_constrain' , sort: 'default_constrain' , show: false , bulk_edit: false, nice_name: 'Constrain by Default' , type: 'checkbox' , value: function(bt) { return bt.default_constrain; }, text: function(bt) { return bt.default_constrain ? 'Yes' : 'No' }, width: 400 },
|
114
|
+
// { name: 'default_full_width' , sort: 'default_full_width' , show: false , bulk_edit: false, nice_name: 'Full Width by Default' , type: 'checkbox' , value: function(bt) { return bt.default_full_width; }, text: function(bt) { return bt.default_full_width ? 'Yes' : 'No' }, width: 400 },
|
115
115
|
{ name: 'options_url' , sort: 'options_url' , show: false , bulk_edit: false, nice_name: 'Options URL' , type: 'text' , value: function(bt) { return bt.options_url; }, width: 400 },
|
116
116
|
{ name: 'options_function' , sort: 'options_function' , show: false , bulk_edit: false, nice_name: 'Options Function' , type: 'textarea' , value: function(bt) { return bt.options_function; }, width: 400, height: 100 },
|
117
117
|
{ name: 'options' , sort: 'options' , show: false , bulk_edit: false, nice_name: 'Options' , type: 'textarea' , value: function(bt) { return bt.options; }, width: 400, height: 100 }
|
@@ -1,59 +1,46 @@
|
|
1
|
-
|
2
|
-
<
|
3
|
-
|
4
|
-
<div id='content3'>
|
1
|
+
<div class="caboose-login-wrapper">
|
2
|
+
<div class="caboose-login-form-wrapper">
|
3
|
+
<h5>Forgot Password</h5>
|
5
4
|
<p>Enter your username or email address and we'll send you a link that lets you reset your password.</p>
|
6
|
-
<
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
5
|
+
<form action="/login/forgot-password" method="POST" id="caboose-login-form">
|
6
|
+
<div class="field">
|
7
|
+
<label for="caboose-login-username">Username or Email Address</label>
|
8
|
+
<input type="text" name="username" id="caboose-login-username" />
|
9
|
+
</div>
|
10
|
+
<input type="hidden" name="return_url" value="<%= @return_url %>" />
|
11
|
+
<div class="caboose-links">
|
12
|
+
<% if @site.allow_self_registration %>
|
13
|
+
<a href="/register?return_url=<%= @return_url %>">Create an account</a>
|
14
|
+
<% end %>
|
15
|
+
<a href="/login?return_url=<%= @return_url %>" class="caboose-forgot-password">Back to login</a>
|
16
|
+
</div>
|
17
|
+
<input type="submit" class="btn" id="caboose-login-btn" value="Reset Password" onclick="caboose_user_forgot();return false;" />
|
18
|
+
</form>
|
19
|
+
<div id="caboose-login-message"></div>
|
13
20
|
</div>
|
14
|
-
</
|
21
|
+
</div>
|
15
22
|
|
16
|
-
<% content_for :
|
17
|
-
|
18
|
-
#modal_content input[type="checkbox"] { position: relative; }
|
19
|
-
</style>
|
23
|
+
<% content_for :css do %>
|
24
|
+
<%= stylesheet_link_tag 'caboose/login' %>
|
20
25
|
<% end %>
|
21
|
-
<% content_for :caboose_js do %>
|
22
|
-
<script type='text/javascript'>
|
23
|
-
|
24
|
-
var modal = false;
|
25
|
-
$(window).load(function() {
|
26
|
-
modal = new CabooseModal(400);
|
27
|
-
});
|
28
26
|
|
29
|
-
|
27
|
+
<% content_for :js do %>
|
28
|
+
<script type="text/javascript">
|
29
|
+
function caboose_user_forgot()
|
30
30
|
{
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
$('#content3').empty().append(div);
|
45
|
-
modal.autosize();
|
46
|
-
}
|
47
|
-
//if (resp.redirect != false) <%= @modal ? "" : "parent." %>window.location = resp.redirect;
|
48
|
-
//else parent.location.reload(true);
|
49
|
-
},
|
50
|
-
error: function() {
|
51
|
-
modal.autosize("<p class='note error'>Error</p>");
|
52
|
-
}
|
53
|
-
});
|
31
|
+
$('#caboose-login-message').html("<p class='note loading'>Retrieving your account...</p>");
|
32
|
+
$.ajax({
|
33
|
+
url: '/login/forgot-password',
|
34
|
+
type: 'post',
|
35
|
+
data: $('#caboose-login-form').serialize(),
|
36
|
+
success: function(resp) {
|
37
|
+
if (resp.error) $('#caboose-login-message').html("<p class='note error'>" + resp.error + "</p>");
|
38
|
+
else if (resp.success) {
|
39
|
+
$('#caboose-login-form').slideUp();
|
40
|
+
$('#caboose-login-message').html("<p class='note success'>" + resp.success + "</p>");
|
41
|
+
}
|
42
|
+
}
|
43
|
+
});
|
54
44
|
}
|
55
45
|
</script>
|
56
|
-
<% end %>
|
57
|
-
<%= content_for :caboose_css do %>
|
58
|
-
<%= stylesheet_link_tag "caboose/login", :media => "all" %>
|
59
|
-
<% end %>
|
46
|
+
<% end %>
|
@@ -1,70 +1,47 @@
|
|
1
|
-
<
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
<p class="buttons">
|
26
|
-
<input type="button" class="btn" value="Cancel" onclick="parent.$.fn.colorbox.close();" />
|
27
|
-
<input type="submit" class="btn" value="Login" onclick='login(); return false;' />
|
28
|
-
</p>
|
29
|
-
</form>
|
1
|
+
<div class="caboose-login-wrapper">
|
2
|
+
<div class="caboose-login-form-wrapper">
|
3
|
+
<h5>User Login</h5>
|
4
|
+
<form action="/login" method="POST" id="caboose-login-form">
|
5
|
+
<div class="field">
|
6
|
+
<label for="caboose-login-username">Username or Email Address</label>
|
7
|
+
<input type="text" name="username" id="caboose-login-username" />
|
8
|
+
</div>
|
9
|
+
<div class="field">
|
10
|
+
<label for="caboose-login-password">Password</label>
|
11
|
+
<input type="password" name="password" id="caboose-login-password" />
|
12
|
+
</div>
|
13
|
+
<input type="hidden" name="return_url" value="<%= @return_url %>" />
|
14
|
+
<div class="caboose-links">
|
15
|
+
<% if @site.allow_self_registration %>
|
16
|
+
<a href="/register?return_url=<%= @return_url %>">Create an account</a>
|
17
|
+
<% end %>
|
18
|
+
<a href="/login/forgot-password?return_url=<%= @return_url %>">Forgot your password?</a>
|
19
|
+
</div>
|
20
|
+
<input type="submit" class="btn" id="caboose-login-btn" value="Login" onclick="caboose_user_login();return false;" />
|
21
|
+
</form>
|
22
|
+
<div id="caboose-login-message"></div>
|
23
|
+
</div>
|
24
|
+
</div>
|
30
25
|
|
31
|
-
|
32
|
-
<%= stylesheet_link_tag
|
33
|
-
<style type="text/css">
|
34
|
-
#modal_content input[type=checkbox] { position: relative; }
|
35
|
-
</style>
|
26
|
+
<% content_for :css do %>
|
27
|
+
<%= stylesheet_link_tag 'caboose/login' %>
|
36
28
|
<% end %>
|
37
29
|
|
38
|
-
<% content_for :
|
30
|
+
<% content_for :js do %>
|
39
31
|
<script type="text/javascript">
|
40
|
-
|
41
|
-
|
42
|
-
$(
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
success: function(response) {
|
54
|
-
if (response.error) modal.autosize("<p class='note error'>" + response.error + "</p>");
|
55
|
-
else if (response.redirect != false)
|
56
|
-
{
|
57
|
-
if (response.modal)
|
58
|
-
window.location = response.redirect;
|
59
|
-
else
|
60
|
-
parent.window.location = response.redirect;
|
61
|
-
}
|
62
|
-
else parent.location.reload(true);
|
63
|
-
},
|
64
|
-
error: function() {
|
65
|
-
modal.autosize("<p class='note error'>Error</p>");
|
66
|
-
}
|
67
|
-
});
|
32
|
+
function caboose_user_login()
|
33
|
+
{
|
34
|
+
$('#caboose-login-message').html("<p class='note loading'>Logging in...</p>");
|
35
|
+
$.ajax({
|
36
|
+
url: '/login',
|
37
|
+
type: 'post',
|
38
|
+
data: $('#caboose-login-form').serialize(),
|
39
|
+
success: function(resp) {
|
40
|
+
if (resp.error) $('#caboose-login-message').html("<p class='note error'>" + resp.error + "</p>");
|
41
|
+
else if (resp.redirect != false) window.location = resp.redirect;
|
42
|
+
else window.location.reload(true);
|
43
|
+
}
|
44
|
+
});
|
68
45
|
}
|
69
46
|
</script>
|
70
|
-
<% end %>
|
47
|
+
<% end %>
|
@@ -1,46 +1,46 @@
|
|
1
|
-
<
|
1
|
+
<div class="caboose-login-wrapper">
|
2
|
+
<div class="caboose-login-form-wrapper">
|
3
|
+
<% if @user.nil? %>
|
4
|
+
<p class='note error'>The given reset ID is invalid.</p>
|
5
|
+
<% else %>
|
6
|
+
<h5>Reset Password</h5>
|
7
|
+
<p>Please enter a new password for your account.</p>
|
8
|
+
<form action="/login/reset-password" method="POST" id="caboose-reset-form">
|
9
|
+
<input type='hidden' name='id' id='id' value='<%= @reset_id %>' />
|
10
|
+
<div class="field">
|
11
|
+
<label for="caboose-register-password1">Password</label>
|
12
|
+
<input type="password" name="pass1" id="caboose-register-password1" />
|
13
|
+
</div>
|
14
|
+
<div class="field">
|
15
|
+
<label for="caboose-register-password2">Confirm Password</label>
|
16
|
+
<input type="password" name="pass2" id="caboose-register-password2" />
|
17
|
+
</div>
|
18
|
+
<input type="submit" class="btn" id="caboose-login-btn" value="Reset Password" onclick="caboose_user_reset();return false;" />
|
19
|
+
</form>
|
20
|
+
<div id="caboose-login-message"></div>
|
21
|
+
<% end %>
|
22
|
+
</div>
|
23
|
+
</div>
|
2
24
|
|
3
|
-
<%
|
4
|
-
|
5
|
-
<p class='buttons'><input type='button' value='Close' onclick="parent.window.location='/';" /></p>
|
6
|
-
<% else %>
|
7
|
-
<form action='/login/reset-password' method='post' id='reset_password_form'>
|
8
|
-
<input type='hidden' name='id' id='id' value='<%= @reset_id %>' />
|
9
|
-
<table cellpadding='4' cellspacing='0' border='0'>
|
10
|
-
<tr><td>New Password: </td><td><input type='password' name='pass1' id='pass1' style='width: 250px;' /></td></tr>
|
11
|
-
<tr><td>Confirm: </td><td><input type='password' name='pass2' id='pass2' style='width: 250px;' /></td></tr>
|
12
|
-
</table><br />
|
13
|
-
<div id='message'></div>
|
14
|
-
<p class='buttons'>
|
15
|
-
<input type='submit' value='Reset Password' onclick='reset_password(); return false;' />
|
16
|
-
<input type='button' value='Cancel' onclick="window.location='/';" />
|
17
|
-
</p>
|
18
|
-
</form>
|
25
|
+
<% content_for :css do %>
|
26
|
+
<%= stylesheet_link_tag 'caboose/login' %>
|
19
27
|
<% end %>
|
20
28
|
|
21
|
-
|
22
|
-
<script type=
|
23
|
-
|
24
|
-
var modal = false;
|
25
|
-
$(window).load(function() {
|
26
|
-
modal = new CabooseModal(400);
|
27
|
-
});
|
28
|
-
|
29
|
-
<% if !@user.nil? %>
|
30
|
-
function reset_password()
|
29
|
+
<% content_for :js do %>
|
30
|
+
<script type="text/javascript">
|
31
|
+
function caboose_user_reset()
|
31
32
|
{
|
33
|
+
$('#caboose-login-message').html("<p class='note loading'>Resetting your password...</p>");
|
32
34
|
$.ajax({
|
33
35
|
url: '/login/reset-password',
|
34
36
|
type: 'post',
|
35
|
-
data: $('#
|
37
|
+
data: $('#caboose-reset-form').serialize(),
|
36
38
|
success: function(resp) {
|
37
|
-
if (resp.error)
|
38
|
-
if (resp.redirect)
|
39
|
-
|
39
|
+
if (resp.error) $('#caboose-login-message').html("<p class='note error'>" + resp.error + "</p>");
|
40
|
+
else if (resp.redirect)
|
41
|
+
window.location = resp.redirect;
|
42
|
+
}
|
40
43
|
});
|
41
44
|
}
|
42
|
-
<% end %>
|
43
|
-
|
44
45
|
</script>
|
45
|
-
<% end %>
|
46
|
-
|
46
|
+
<% end %>
|
@@ -1,49 +1,56 @@
|
|
1
|
+
<div class="caboose-login-wrapper">
|
2
|
+
<div class="caboose-login-form-wrapper">
|
3
|
+
<h5>Create an Account</h5>
|
4
|
+
<form action="/register" method="POST" id="caboose-register-form">
|
5
|
+
<div class="field">
|
6
|
+
<label for="caboose-register-firstname">First Name</label>
|
7
|
+
<input type="text" name="first_name" id="caboose-register-firstname" />
|
8
|
+
</div>
|
9
|
+
<div class="field">
|
10
|
+
<label for="caboose-register-lastname">Last Name</label>
|
11
|
+
<input type="text" name="last_name" id="caboose-register-lastname" />
|
12
|
+
</div>
|
13
|
+
<div class="field">
|
14
|
+
<label for="caboose-register-email">Email Address</label>
|
15
|
+
<input type="email" name="email" id="caboose-register-email" />
|
16
|
+
</div>
|
17
|
+
<div class="field">
|
18
|
+
<label for="caboose-register-password1">Password</label>
|
19
|
+
<input type="password" name="pass1" id="caboose-register-password1" />
|
20
|
+
</div>
|
21
|
+
<div class="field">
|
22
|
+
<label for="caboose-register-password2">Confirm Password</label>
|
23
|
+
<input type="password" name="pass2" id="caboose-register-password2" />
|
24
|
+
</div>
|
25
|
+
<input type="hidden" name="return_url" value="<%= @return_url %>" />
|
26
|
+
<div class="caboose-links">
|
27
|
+
<a href="/login?return_url=<%= @return_url %>">Login to an existing account</a>
|
28
|
+
<a href="/login/forgot-password?return_url=<%= @return_url %>">Forgot your password?</a>
|
29
|
+
</div>
|
30
|
+
<input type="submit" class="btn" id="caboose-login-btn" value="Register" onclick="caboose_user_register();return false;" />
|
31
|
+
</form>
|
32
|
+
<div id="caboose-login-message"></div>
|
33
|
+
</div>
|
34
|
+
</div>
|
1
35
|
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
<p class='other_options'>
|
6
|
-
<a href='/login?return_url=<%= @return_url %>'>Already a member?</a>
|
7
|
-
</p>
|
8
|
-
<input type='hidden' name='return_url' value='<%= @return_url %>' />
|
9
|
-
<input type='text' name='first_name' id='first_name' placeholder='First name' />
|
10
|
-
<input type='text' name='last_name' id='last_name' placeholder='Last name' />
|
11
|
-
<input type='text' name='email' id='email' placeholder='Email address' />
|
12
|
-
<input type='text' name='phone' id='phone' placeholder='Phone number' />
|
13
|
-
<input type='password' name='pass1' id='pass1' placeholder='Password' />
|
14
|
-
<input type='password' name='pass2' id='pass2' placeholder='Confirm password' />
|
15
|
-
<div id='message'></div>
|
16
|
-
<p>
|
17
|
-
<input type='button' id='btn_cancel' value='Cancel' onclick="parent.$.fn.colorbox.close();" />
|
18
|
-
<input type='submit' id='btn_register' value='Register' onclick='register(); return false;' />
|
19
|
-
</p>
|
20
|
-
</form>
|
36
|
+
<% content_for :css do %>
|
37
|
+
<%= stylesheet_link_tag 'caboose/login' %>
|
38
|
+
<% end %>
|
21
39
|
|
22
|
-
<% content_for :
|
23
|
-
<script type=
|
24
|
-
|
25
|
-
function register()
|
40
|
+
<% content_for :js do %>
|
41
|
+
<script type="text/javascript">
|
42
|
+
function caboose_user_register()
|
26
43
|
{
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
else
|
38
|
-
parent.location.reload(true);
|
39
|
-
},
|
40
|
-
error: function() {
|
41
|
-
modal.autosize("<p class='note error'>Error</p>");
|
42
|
-
}
|
43
|
-
});
|
44
|
+
$('#caboose-login-message').html("<p class='note loading'>Registering...</p>");
|
45
|
+
$.ajax({
|
46
|
+
url: '/register',
|
47
|
+
type: 'post',
|
48
|
+
data: $('#caboose-register-form').serialize(),
|
49
|
+
success: function(resp) {
|
50
|
+
if (resp.error) $('#caboose-login-message').html("<p class='note error'>" + resp.error + "</p>");
|
51
|
+
else if (resp.redirect != false) window.location = resp.redirect;
|
52
|
+
}
|
53
|
+
});
|
44
54
|
}
|
45
55
|
</script>
|
46
|
-
<% end %>
|
47
|
-
<%= content_for :caboose_css do %>
|
48
|
-
<%= stylesheet_link_tag "caboose/register", :media => "all" %>
|
49
|
-
<% end %>
|
56
|
+
<% end %>
|