caboose-cms 0.5.90 → 0.5.91
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 +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
|