caboose-cms 0.5.90 → 0.5.91
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/app/assets/images/caboose/credit_cards.png +0 -0
- data/app/assets/images/caboose/lock.png +0 -0
- data/app/assets/stylesheets/caboose/checkout.css.scss +79 -15
- data/app/assets/stylesheets/caboose/model_binder.css +1 -1
- data/app/controllers/caboose/block_types_controller.rb +4 -2
- data/app/controllers/caboose/domains_controller.rb +16 -1
- data/app/controllers/caboose/social_controller.rb +41 -0
- data/app/models/caboose/core_plugin.rb +1 -0
- data/app/models/caboose/product.rb +13 -0
- data/app/models/caboose/schema.rb +15 -0
- data/app/models/caboose/site.rb +4 -0
- data/app/models/caboose/social_config.rb +17 -0
- data/app/models/caboose/variant.rb +4 -0
- data/app/views/caboose/block_type_store/admin_index.html.erb +3 -0
- data/app/views/caboose/checkout/payment.html.erb +24 -3
- data/app/views/caboose/pages/_admin_header.html.erb +1 -1
- data/app/views/caboose/pages/admin_edit_layout.html.erb +1 -1
- data/app/views/caboose/sites/admin_edit.html.erb +5 -2
- data/app/views/caboose/social/admin_edit.html.erb +46 -0
- data/config/routes.rb +9 -0
- data/lib/caboose/version.rb +1 -1
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MDUyNzNmNTFiNGI2ODE3ZDI0YmViNzg5MDBiMDRhNjVmZGEzOTNlZA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MmNlZmIzZWM5YTRjOTE1MjYwMGNjN2JjMWE0OGMwZmE5MmU0MmU2ZQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MTllOTY3MTRkMzg5OWM3ZGYwOWM2N2U2MjQ5NjVlZjM0OGEwNjRkNjM1YmU2
|
10
|
+
YTMxNjRlZDA3YjlmNTcyZmNhZjBkOTA3MjA0ZDAwNjc2OTg3M2U3NjhmZGJl
|
11
|
+
NDMyNGRjN2U3Y2NkNjMyNzhjNWI2NDI2ZDY2NTQyYjJmNzU5NTY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MzA4ZmNjN2E0ZmYxMGJkYjA3MmE1ZTVhNjAzOTE5MTJlZGExOTIyN2FlYjNl
|
14
|
+
MjZlNTJhZmZkNTJkZGRlYWM0NThiNjk5YTJmYTQyYTU2OWFlZjE1NzE0ODc2
|
15
|
+
NDZjYmMyZjk3MzdlY2NjZDEyNDExNzVhNjMyYmRkZTMwMzkwOWQ=
|
Binary file
|
Binary file
|
@@ -304,24 +304,88 @@
|
|
304
304
|
|
305
305
|
#checkout #checkout-payment {
|
306
306
|
margin: 42px 0;
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
307
|
+
background: #EFEFEF;
|
308
|
+
-webkit-border-radius: 5px;
|
309
|
+
-moz-border-radius: 5px;
|
310
|
+
-ms-border-radius: 5px;
|
311
|
+
-o-border-radius: 5px;
|
312
|
+
border-radius: 5px;
|
313
|
+
border: 1px solid #d8d8d8;
|
314
|
+
|
315
|
+
.field {
|
316
|
+
border-bottom: 1px solid #d8d8d8;
|
313
317
|
width: 100%;
|
318
|
+
padding: 10px 2%;
|
319
|
+
&::after {
|
320
|
+
content: ".";
|
321
|
+
visibility: hidden;
|
322
|
+
display: block;
|
323
|
+
height: 0;
|
324
|
+
clear: both;
|
325
|
+
}
|
326
|
+
&:last-of-type { border-bottom: 0; }
|
327
|
+
.field-text {
|
328
|
+
float: left;
|
329
|
+
font-size: 14px;
|
330
|
+
color: #000;
|
331
|
+
line-height: 31px;
|
332
|
+
}
|
333
|
+
&#credit-card {
|
334
|
+
background: #fff;
|
335
|
+
-webkit-border-top-left-radius: 5px;
|
336
|
+
-webkit-border-top-right-radius: 5px;
|
337
|
+
-moz-border-radius-topleft: 5px;
|
338
|
+
-moz-border-radius-topright: 5px;
|
339
|
+
border-top-left-radius: 5px;
|
340
|
+
border-top-right-radius: 5px;
|
341
|
+
.icons {
|
342
|
+
float: right;
|
343
|
+
width: 120px;
|
344
|
+
position: relative;
|
345
|
+
top: 5px;
|
346
|
+
}
|
347
|
+
}
|
348
|
+
&#card-number {
|
349
|
+
.field-text {
|
350
|
+
width: 20%;
|
351
|
+
}
|
352
|
+
input[type="text"] {
|
353
|
+
background: transparent;
|
354
|
+
font-size: 15px;
|
355
|
+
border-width: 0;
|
356
|
+
outline-width: 0;
|
357
|
+
height: auto;
|
358
|
+
}
|
359
|
+
.icons {
|
360
|
+
width: 20px;
|
361
|
+
float: right;
|
362
|
+
position: relative;
|
363
|
+
top: 7px;
|
364
|
+
}
|
365
|
+
}
|
366
|
+
&#expiry {
|
367
|
+
padding: 15px 2% 5px 2%;
|
368
|
+
.field-text {
|
369
|
+
width: 20%;
|
370
|
+
position: relative;
|
371
|
+
bottom: 3px;
|
372
|
+
}
|
373
|
+
select {
|
374
|
+
&#month {
|
375
|
+
width: 20%;
|
376
|
+
min-width: 100px;
|
377
|
+
}
|
378
|
+
&#year {
|
379
|
+
width: 20%;
|
380
|
+
min-width: 100px;
|
381
|
+
}
|
382
|
+
}
|
383
|
+
}
|
314
384
|
}
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
width: 100px;
|
319
|
-
}
|
385
|
+
|
386
|
+
|
387
|
+
|
320
388
|
iframe { display: none }
|
321
|
-
form {
|
322
|
-
width: 450px;
|
323
|
-
@media screen and (max-width: 768px) { width: 100% }
|
324
|
-
}
|
325
389
|
}
|
326
390
|
|
327
391
|
#checkout #checkout-nav {
|
@@ -16,8 +16,10 @@ module Caboose
|
|
16
16
|
# GET /admin/block-types/json
|
17
17
|
def admin_json
|
18
18
|
h = {
|
19
|
-
'name'
|
20
|
-
'description'
|
19
|
+
'name' => '',
|
20
|
+
'description' => '',
|
21
|
+
'name_like' => '',
|
22
|
+
'description_like' => '',
|
21
23
|
}
|
22
24
|
if params[:parent_id]
|
23
25
|
h['parent_id'] = ''
|
@@ -57,8 +57,23 @@ module Caboose
|
|
57
57
|
def admin_delete
|
58
58
|
return if !user_is_allowed('sites', 'delete')
|
59
59
|
Domain.find(params[:id]).destroy
|
60
|
-
render :json => { '
|
60
|
+
render :json => { 'refresh' => "/admin/sites/#{params[:site_id]}" }
|
61
61
|
end
|
62
|
+
|
63
|
+
# PUT /admin/sites/:site_id/domains/:id/set-primary
|
64
|
+
def admin_set_primary
|
65
|
+
return if !user_is_allowed('domains', 'edit')
|
66
|
+
resp = StdClass.new
|
67
|
+
d = Domain.find(params[:id])
|
68
|
+
save = true
|
69
|
+
# d.primary = value
|
70
|
+
Domain.where(:site_id => params[:site_id]).all.each do |d2|
|
71
|
+
d2.primary = d2.id == d.id ? true : false
|
72
|
+
d2.save
|
73
|
+
end
|
74
|
+
resp.success = save && d.save
|
75
|
+
render :json => resp
|
76
|
+
end
|
62
77
|
|
63
78
|
end
|
64
79
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Caboose
|
2
|
+
class SocialController < ApplicationController
|
3
|
+
layout 'caboose/admin'
|
4
|
+
|
5
|
+
# GET /admin/social
|
6
|
+
def admin_edit
|
7
|
+
return if !user_is_allowed('social', 'edit')
|
8
|
+
@social_config = @site.social_config
|
9
|
+
@social_config = SocialConfig.create(:site_id => @site.id) if @social_config.nil?
|
10
|
+
end
|
11
|
+
|
12
|
+
# PUT /admin/social
|
13
|
+
def admin_update
|
14
|
+
return if !user_is_allowed('sites', 'edit')
|
15
|
+
|
16
|
+
resp = StdClass.new
|
17
|
+
sc = @site.social_config
|
18
|
+
sc = SocialConfig.create(:site_id => @site.id) if sc.nil?
|
19
|
+
|
20
|
+
save = true
|
21
|
+
params.each do |name,value|
|
22
|
+
case name
|
23
|
+
when 'site_id' then sc.site_id = value
|
24
|
+
when 'facebook_page_id' then sc.facebook_page_id = value
|
25
|
+
when 'twitter_username' then sc.twitter_username = value
|
26
|
+
when 'instagram_username' then sc.instagram_username = value
|
27
|
+
when 'youtube_url' then sc.youtube_url = value
|
28
|
+
when 'pinterest_url' then sc.pinterest_url = value
|
29
|
+
when 'vimeo_url' then sc.vimeo_url = value
|
30
|
+
when 'rss_url' then sc.rss_url = value
|
31
|
+
when 'google_plus_url' then sc.google_plus_url = value
|
32
|
+
when 'linkedin_url' then sc.linkedin_url = value
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
resp.success = save && sc.save
|
37
|
+
render :json => resp
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
end
|
@@ -14,6 +14,7 @@ class Caboose::CorePlugin < Caboose::CaboosePlugin
|
|
14
14
|
item['children'] << { 'id' => 'roles' , 'text' => 'Roles' , 'href' => '/admin/roles' , 'modal' => false } if user.is_allowed('roles' , 'view')
|
15
15
|
item['children'] << { 'id' => 'sites' , 'text' => 'Sites' , 'href' => '/admin/sites' , 'modal' => false } if user.is_allowed('sites' , 'view') if site.name == 'application'
|
16
16
|
item['children'] << { 'id' => 'smtp' , 'text' => 'SMTP (Mail)' , 'href' => '/admin/smtp' , 'modal' => false } if user.is_allowed('smtp' , 'view')
|
17
|
+
item['children'] << { 'id' => 'social' , 'text' => 'Social Media' , 'href' => '/admin/social' , 'modal' => false } if user.is_allowed('social' , 'view')
|
17
18
|
item['children'] << { 'id' => 'store' , 'text' => 'Store' , 'href' => '/admin/store' , 'modal' => false } if user.is_allowed('store' , 'view')
|
18
19
|
item['children'] << { 'id' => 'users' , 'text' => 'Users' , 'href' => '/admin/users' , 'modal' => false } if user.is_allowed('users' , 'view')
|
19
20
|
item['children'] << { 'id' => 'variables' , 'text' => 'Variables' , 'href' => '/admin/settings' , 'modal' => false } if user.is_allowed('settings' , 'view')
|
@@ -171,5 +171,18 @@ module Caboose
|
|
171
171
|
end
|
172
172
|
end
|
173
173
|
|
174
|
+
# TODO: Implement product sales
|
175
|
+
#def self.products_on_sale
|
176
|
+
#
|
177
|
+
# query[0] = "select distinct product_id from store_variants
|
178
|
+
# where sale_price is not null
|
179
|
+
# and date_sale_starts < now()
|
180
|
+
# and date_sale_ends > now()
|
181
|
+
# order by title limit 20"
|
182
|
+
# rows = ActiveRecord::Base.connection.select_rows(ActiveRecord::Base.send(:sanitize_sql_array, query))
|
183
|
+
# arr = rows.collect{ |row| { :id => row[0], :title => row[1] }}
|
184
|
+
#
|
185
|
+
#end
|
186
|
+
|
174
187
|
end
|
175
188
|
end
|
@@ -543,6 +543,18 @@ class Caboose::Schema < Caboose::Utilities::Schema
|
|
543
543
|
[ :authentication , :string ], # :plain, :login, :cram_md5.
|
544
544
|
[ :enable_starttls_auto , :boolean , { :default => true }]
|
545
545
|
],
|
546
|
+
Caboose::SocialConfig => [
|
547
|
+
[ :site_id , :integer ],
|
548
|
+
[ :facebook_page_id , :string ],
|
549
|
+
[ :twitter_username , :string ],
|
550
|
+
[ :instagram_username , :string ],
|
551
|
+
[ :youtube_url , :string ],
|
552
|
+
[ :pinterest_url , :string ],
|
553
|
+
[ :vimeo_url , :string ],
|
554
|
+
[ :rss_url , :string ],
|
555
|
+
[ :google_plus_url , :string ],
|
556
|
+
[ :linkedin_url , :string ]
|
557
|
+
],
|
546
558
|
Caboose::StackableGroup => [
|
547
559
|
[ :name , :string ],
|
548
560
|
[ :extra_length , :decimal ],
|
@@ -613,6 +625,9 @@ class Caboose::Schema < Caboose::Utilities::Schema
|
|
613
625
|
[ :sku , :string ],
|
614
626
|
[ :barcode , :string ],
|
615
627
|
[ :price , :numeric , :default => 0 ],
|
628
|
+
[ :sale_price , :numberic , :default => 0 ],
|
629
|
+
[ :date_sale_starts , :datetime ],
|
630
|
+
[ :date_sale_end , :datetime ],
|
616
631
|
[ :available , :boolean ],
|
617
632
|
[ :quantity_in_stock , :integer , :default => 0 ],
|
618
633
|
[ :ignore_quantity , :boolean ],
|
data/app/models/caboose/site.rb
CHANGED
@@ -13,6 +13,10 @@ class Caboose::Site < ActiveRecord::Base
|
|
13
13
|
def smtp_config
|
14
14
|
c = Caboose::SmtpConfig.where(:site_id => self.id).first
|
15
15
|
end
|
16
|
+
|
17
|
+
def social_config
|
18
|
+
s = Caboose::SocialConfig.where(:site_id => self.id).first
|
19
|
+
end
|
16
20
|
|
17
21
|
def self.id_for_domain(domain)
|
18
22
|
d = Caboose::Domain.where(:domain => domain).first
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class Caboose::SocialConfig < ActiveRecord::Base
|
2
|
+
self.table_name = "social_configs"
|
3
|
+
|
4
|
+
belongs_to :site
|
5
|
+
attr_accessible :id,
|
6
|
+
:site_id ,
|
7
|
+
:facebook_page_id ,
|
8
|
+
:twitter_username ,
|
9
|
+
:instagram_username ,
|
10
|
+
:youtube_url ,
|
11
|
+
:pinterest_url ,
|
12
|
+
:vimeo_url ,
|
13
|
+
:rss_url ,
|
14
|
+
:google_plus_url ,
|
15
|
+
:linkedin_url
|
16
|
+
|
17
|
+
end
|
@@ -17,6 +17,9 @@ module Caboose
|
|
17
17
|
:product_id,
|
18
18
|
:barcode, # Returns the barcode value of the variant.
|
19
19
|
:price, # Variant’s price.
|
20
|
+
:sale_price,
|
21
|
+
:date_sale_starts,
|
22
|
+
:date_sale_end,
|
20
23
|
:ignore_quantity,
|
21
24
|
:quantity,
|
22
25
|
:quantity_in_stock,
|
@@ -92,5 +95,6 @@ module Caboose
|
|
92
95
|
arr << self.option3 if self.option3 && self.option3.strip.length > 0
|
93
96
|
return arr
|
94
97
|
end
|
98
|
+
|
95
99
|
end
|
96
100
|
end
|
@@ -16,8 +16,25 @@ store_config = @site.store_config
|
|
16
16
|
<input type="hidden" id="x_state" name="x_state" value="<%= raw @order.billing_address.state %>" />
|
17
17
|
<input type="hidden" id="x_zip" name="x_zip" value="<%= raw @order.billing_address.zip %>" />
|
18
18
|
|
19
|
-
|
20
|
-
|
19
|
+
|
20
|
+
|
21
|
+
<div class="field" id="credit-card">
|
22
|
+
<span class="field-text">Credit Card</span>
|
23
|
+
<div class="icons">
|
24
|
+
<img src="/assets/caboose/credit_cards.png" alt="Credit Cards Accepted" />
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
|
28
|
+
<div class="field" id="card-number">
|
29
|
+
<span class="field-text">Card</span>
|
30
|
+
<input name="x_card_num" id='billing-cc-number' type="text" maxlength="16" placeholder="Card number" />
|
31
|
+
<div class="icons">
|
32
|
+
<img src="/assets/caboose/lock.png" alt="Secure Connection" />
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
|
36
|
+
<div class="field" id="expiry">
|
37
|
+
<span class="field-text">Expiry</span>
|
21
38
|
<input id="expiration" name="x_exp_date" type="hidden" />
|
22
39
|
<select id="month" name="month">
|
23
40
|
<option value="01">01 - Jan</option>
|
@@ -39,7 +56,11 @@ store_config = @site.store_config
|
|
39
56
|
<option value="<%= i-2000 %>"><%= i %></option>
|
40
57
|
<% end %>
|
41
58
|
</select>
|
42
|
-
</
|
59
|
+
</div>
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
|
43
64
|
</form>
|
44
65
|
<% end %>
|
45
66
|
</section>
|
@@ -35,7 +35,7 @@ p.uri {
|
|
35
35
|
<ul id='tabs'>
|
36
36
|
<%
|
37
37
|
tabs = {
|
38
|
-
'General' => "/admin/pages/#{@page.id}
|
38
|
+
'General' => "/admin/pages/#{@page.id}",
|
39
39
|
'Permissions' => "/admin/pages/#{@page.id}/permissions",
|
40
40
|
'Content' => "/admin/pages/#{@page.id}/content",
|
41
41
|
'Custom CSS' => "/admin/pages/#{@page.id}/css",
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<p><select name='block_type_id'>
|
7
7
|
<option value=''>-- Select a layout --</option>
|
8
8
|
<% cat_ids = Caboose::BlockTypeCategory.layouts.collect{ |cat| cat.id } %>
|
9
|
-
<% Caboose::BlockType.where("block_type_category_id in (?)", cat_ids).reorder(:description).all.each do |bt| %>
|
9
|
+
<% Caboose::BlockType.includes(:block_type_site_memberships).where("block_type_category_id in (?) and block_type_site_memberships.site_id = ?", cat_ids, @site.id).reorder(:description).all.each do |bt| %>
|
10
10
|
<option value="<%= bt.id %>"><%= bt.description %></option>
|
11
11
|
<% end %>
|
12
12
|
</select></p>
|
@@ -23,7 +23,7 @@ user_ids = [] if user_ids.nil?
|
|
23
23
|
<th>Under Construction</th>
|
24
24
|
<th>Delete</th>
|
25
25
|
</tr>
|
26
|
-
<% @site.domains.all.each do |d| %>
|
26
|
+
<% @site.domains.order(:id).all.each do |d| %>
|
27
27
|
<tr>
|
28
28
|
<td><%= d.domain %></td>
|
29
29
|
<td align='center'><input type='radio' name='primary_domain' <%= d.primary? ? "checked='true'" : '' %> onclick="set_primary_domain(<%= s.id %>, <%= d.id %>);" /></td>
|
@@ -158,7 +158,10 @@ function set_primary_domain(site_id, domain_id)
|
|
158
158
|
$.ajax({
|
159
159
|
url: '/admin/sites/' + site_id + '/domains/' + domain_id + '/set-primary',
|
160
160
|
type: 'put',
|
161
|
-
success: function(resp) {
|
161
|
+
success: function(resp) {
|
162
|
+
if (resp.error) $('#domain_message').html("<p class='note error'>" + resp.error + "<br /></p>");
|
163
|
+
if (resp.success) window.location.reload(true);
|
164
|
+
}
|
162
165
|
});
|
163
166
|
}
|
164
167
|
|
@@ -0,0 +1,46 @@
|
|
1
|
+
<%
|
2
|
+
sc = @social_config
|
3
|
+
%>
|
4
|
+
<h1>Social Media Config</h1>
|
5
|
+
|
6
|
+
<p>Find your Facebook page ID <a href="http://findmyfacebookid.com/" target="_blank">here</a>.</p>
|
7
|
+
<p><div id="socialconfig_<%= sc.id %>_facebook_page_id" ></div></p>
|
8
|
+
<p><div id="socialconfig_<%= sc.id %>_twitter_username" ></div></p>
|
9
|
+
<p><div id="socialconfig_<%= sc.id %>_instagram_username" ></div></p>
|
10
|
+
<p><div id="socialconfig_<%= sc.id %>_youtube_url" ></div></p>
|
11
|
+
<p><div id="socialconfig_<%= sc.id %>_pinterest_url" ></div></p>
|
12
|
+
<p><div id="socialconfig_<%= sc.id %>_vimeo_url" ></div></p>
|
13
|
+
<p><div id="socialconfig_<%= sc.id %>_rss_url" ></div></p>
|
14
|
+
<p><div id="socialconfig_<%= sc.id %>_google_plus_url" ></div></p>
|
15
|
+
<p><div id="socialconfig_<%= sc.id %>_linkedin_url" ></div></p>
|
16
|
+
|
17
|
+
<div id='message'></div>
|
18
|
+
|
19
|
+
<% content_for :caboose_js do %>
|
20
|
+
<%= javascript_include_tag "caboose/model/all" %>
|
21
|
+
<script type="text/javascript">
|
22
|
+
|
23
|
+
$(document).ready(function() {
|
24
|
+
|
25
|
+
new ModelBinder({
|
26
|
+
name: 'SocialConfig',
|
27
|
+
id: <%= sc.id %>,
|
28
|
+
update_url: '/admin/social',
|
29
|
+
authenticity_token: '<%= form_authenticity_token %>',
|
30
|
+
attributes: [
|
31
|
+
{ name: 'facebook_page_id' , nice_name: 'Facebook Page ID' , type: 'text', value: <%= raw Caboose.json(sc.facebook_page_id) %>, width: 400 },
|
32
|
+
{ name: 'twitter_username' , nice_name: 'Twitter Username' , type: 'text', value: <%= raw Caboose.json(sc.twitter_username) %>, width: 400 },
|
33
|
+
{ name: 'instagram_username' , nice_name: 'Instagram Username' , type: 'text', value: <%= raw Caboose.json(sc.instagram_username) %>, width: 400 },
|
34
|
+
{ name: 'youtube_url' , nice_name: 'YouTube URL' , type: 'text', value: <%= raw Caboose.json(sc.youtube_url) %>, width: 400 },
|
35
|
+
{ name: 'pinterest_url' , nice_name: 'Pinterest URL' , type: 'text', value: <%= raw Caboose.json(sc.pinterest_url) %>, width: 400 },
|
36
|
+
{ name: 'vimeo_url' , nice_name: 'Vimeo URL' , type: 'text', value: <%= raw Caboose.json(sc.vimeo_url) %>, width: 400 },
|
37
|
+
{ name: 'rss_url' , nice_name: 'RSS Feed URL' , type: 'text', value: <%= raw Caboose.json(sc.rss_url) %>, width: 400 },
|
38
|
+
{ name: 'google_plus_url' , nice_name: 'Google Plus URL' , type: 'text', value: <%= raw Caboose.json(sc.google_plus_url) %>, width: 400 },
|
39
|
+
{ name: 'linkedin_url' , nice_name: 'LinkedIn URL' , type: 'text', value: <%= raw Caboose.json(sc.linkedin_url) %>, width: 400 }
|
40
|
+
]
|
41
|
+
});
|
42
|
+
|
43
|
+
});
|
44
|
+
|
45
|
+
</script>
|
46
|
+
<% end %>
|
data/config/routes.rb
CHANGED
@@ -42,6 +42,7 @@ Caboose::Engine.routes.draw do
|
|
42
42
|
post "admin/sites/:site_id/domains" => "domains#admin_add"
|
43
43
|
put "admin/sites/:site_id/domains/:id" => "domains#admin_update"
|
44
44
|
delete "admin/sites/:site_id/domains/:id" => "domains#admin_delete"
|
45
|
+
put "admin/sites/:site_id/domains/:id/set-primary" => "domains#admin_set_primary"
|
45
46
|
|
46
47
|
#=============================================================================
|
47
48
|
# Store
|
@@ -64,6 +65,14 @@ Caboose::Engine.routes.draw do
|
|
64
65
|
get "admin/smtp" => "smtp#admin_edit"
|
65
66
|
put "admin/smtp" => "smtp#admin_update"
|
66
67
|
|
68
|
+
#=============================================================================
|
69
|
+
# Social
|
70
|
+
#=============================================================================
|
71
|
+
|
72
|
+
get "admin/social" => "social#admin_edit"
|
73
|
+
put "admin/social" => "social#admin_update"
|
74
|
+
|
75
|
+
|
67
76
|
#=============================================================================
|
68
77
|
# Shipping Packages
|
69
78
|
#=============================================================================
|
data/lib/caboose/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: caboose-cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.91
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Barry
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-02-
|
11
|
+
date: 2015-02-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pg
|
@@ -367,6 +367,7 @@ files:
|
|
367
367
|
- app/assets/images/caboose/caboose_logo_small.png
|
368
368
|
- app/assets/images/caboose/caboose_nav.png
|
369
369
|
- app/assets/images/caboose/caboose_nav_black.png
|
370
|
+
- app/assets/images/caboose/credit_cards.png
|
370
371
|
- app/assets/images/caboose/default_user_pic.png
|
371
372
|
- app/assets/images/caboose/loading_black_on_white.gif
|
372
373
|
- app/assets/images/caboose/loading_black_on_yellow.gif
|
@@ -374,6 +375,7 @@ files:
|
|
374
375
|
- app/assets/images/caboose/loading_small_black_on_white.gif
|
375
376
|
- app/assets/images/caboose/loading_small_white_on_black.gif
|
376
377
|
- app/assets/images/caboose/loading_white_on_black.gif
|
378
|
+
- app/assets/images/caboose/lock.png
|
377
379
|
- app/assets/images/caboose/login_image.png
|
378
380
|
- app/assets/images/caboose/modal_overlay.png
|
379
381
|
- app/assets/images/caboose/password_image.png
|
@@ -527,6 +529,7 @@ files:
|
|
527
529
|
- app/controllers/caboose/shipping_packages_controller.rb
|
528
530
|
- app/controllers/caboose/sites_controller.rb
|
529
531
|
- app/controllers/caboose/smtp_controller.rb
|
532
|
+
- app/controllers/caboose/social_controller.rb
|
530
533
|
- app/controllers/caboose/stackable_groups_controller.rb
|
531
534
|
- app/controllers/caboose/station_controller.rb
|
532
535
|
- app/controllers/caboose/store_controller.rb
|
@@ -620,6 +623,7 @@ files:
|
|
620
623
|
- app/models/caboose/site.rb
|
621
624
|
- app/models/caboose/site_membership.rb
|
622
625
|
- app/models/caboose/smtp_config.rb
|
626
|
+
- app/models/caboose/social_config.rb
|
623
627
|
- app/models/caboose/stackable_group.rb
|
624
628
|
- app/models/caboose/states.rb
|
625
629
|
- app/models/caboose/std_class.rb
|
@@ -828,6 +832,7 @@ files:
|
|
828
832
|
- app/views/caboose/sites/admin_index.html.erb
|
829
833
|
- app/views/caboose/sites/admin_new.html.erb
|
830
834
|
- app/views/caboose/smtp/admin_edit.html.erb
|
835
|
+
- app/views/caboose/social/admin_edit.html.erb
|
831
836
|
- app/views/caboose/stackable_groups/admin_index.html.erb
|
832
837
|
- app/views/caboose/station/index.html.erb
|
833
838
|
- app/views/caboose/store/admin_edit.html.erb
|