caboose-cms 0.9.116 → 0.9.117

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d420edee4905eb0c5efd46fad49653ef02b8ae80
4
- data.tar.gz: 76eb6c0655e6c15e69fad16c5e408cfb21e0080e
3
+ metadata.gz: 746344802d927992c0c1c995175f7322ec22b4e2
4
+ data.tar.gz: 58012ad3bfc826b6f2bcdf067c7c4ab24eb142a0
5
5
  SHA512:
6
- metadata.gz: 66f57a094bb0866aad1768dc62cfdbb7646b8c827fe701ffc16893d004a6524e4f153eaa111bd59cfda70c6a3d561ad1c055b04a1f88809736d5385e8b5f6962
7
- data.tar.gz: 9fcf35c4256ded02237a17fe400b26c59412ec4851fc075003304d42a1d8d0bc40332192217d9f54122ee3c561c11e9e882d4cfcdabf1d050bd829322ccbfcb4
6
+ metadata.gz: 05cbaf50d9cbb2bb8f9b0de43ad94764f6f1acf21a3afbfbee8a9e7f2905169942fcabccbc64f4be0895f8007e7b87363f12c8cbf098834eb9cf4a39023a357e
7
+ data.tar.gz: 769f9f79f5ab0afc18224a4029d3a0afb59cf1d4b9f6f6f13e7d3262608b2ea7b5cc76235364931d60c4304788c16b2ff5f614368881be9005c494d73bf8c2b2
@@ -42,6 +42,7 @@ module Caboose
42
42
  when 'under_construction' then d.under_construction = value
43
43
  when 'forward_to_primary' then d.forward_to_primary = value
44
44
  when 'forward_to_uri' then d.forward_to_uri = value
45
+ when 'force_ssl' then d.force_ssl = value
45
46
  when 'primary' then
46
47
  d.primary = value
47
48
  Domain.where(:site_id => params[:site_id]).all.each do |d2|
@@ -48,12 +48,17 @@ module Caboose
48
48
  url = "#{request.protocol}#{d.domain}#{d.forward_to_uri}"
49
49
  redirect_to url
50
50
  return
51
+ elsif d.force_ssl == true && request.protocol != 'https://' && Rails.env.production?
52
+ url = "https://#{d.domain}#{request.fullpath}"
53
+ redirect_to url
54
+ return
51
55
  end
52
56
 
53
57
  if !page
54
58
  asset
55
59
  return
56
60
  end
61
+
57
62
 
58
63
  user = logged_in_user
59
64
  if !user.is_allowed(page, 'view')
@@ -183,6 +183,7 @@ module Caboose
183
183
  when 'custom_js' then site.custom_js = value
184
184
  when 'default_layout_id' then site.default_layout_id = value
185
185
  when 'allow_self_registration' then site.allow_self_registration = value
186
+ when 'theme_color' then site.theme_color = value
186
187
  end
187
188
  end
188
189
 
@@ -93,6 +93,17 @@ module Caboose
93
93
  resp.success = true
94
94
  render :json => resp
95
95
  end
96
+
97
+ # @route POST /admin/social/image
98
+ def admin_update_image
99
+ return if !user_is_allowed('social', 'edit')
100
+ resp = Caboose::StdClass.new
101
+ sc = @site.social_config
102
+ sc.share_image = params[:share_image]
103
+ resp.success = sc.save
104
+ resp.attributes = { 'share_image' => { 'value' => sc.share_image.url(:large) }}
105
+ render :text => resp.to_json
106
+ end
96
107
 
97
108
  end
98
109
  end
@@ -3,6 +3,6 @@ class Caboose::Domain < ActiveRecord::Base
3
3
  self.table_name = "domains"
4
4
 
5
5
  belongs_to :site, :class_name => 'Caboose::Site'
6
- attr_accessible :id, :site_id, :domain, :primary, :under_construction, :forward_to_primary, :forward_to_uri
6
+ attr_accessible :id, :site_id, :domain, :primary, :under_construction, :forward_to_primary, :forward_to_uri, :force_ssl
7
7
 
8
8
  end
@@ -293,6 +293,7 @@ class Caboose::Schema < Caboose::Utilities::Schema
293
293
  [ :primary , :boolean, { :default => false }],
294
294
  [ :under_construction , :boolean, { :default => false }],
295
295
  [ :forward_to_primary , :boolean, { :default => false }],
296
+ [ :force_ssl , :boolean, { :default => false }],
296
297
  [ :forward_to_uri , :string ]
297
298
  ],
298
299
  Caboose::Font => [
@@ -748,7 +749,8 @@ class Caboose::Schema < Caboose::Utilities::Schema
748
749
  [ :default_layout_id , :integer ],
749
750
  [ :login_fail_lock_count , :integer , { :default => 5 }],
750
751
  [ :sitemap_xml , :text ],
751
- [ :robots_txt , :text ]
752
+ [ :robots_txt , :text ],
753
+ [ :theme_color , :string ]
752
754
  #[ :custom_css , :text ],
753
755
  #[ :custom_css_files , :text ],
754
756
  #[ :custom_js , :text ],
@@ -786,7 +788,8 @@ class Caboose::Schema < Caboose::Utilities::Schema
786
788
  [ :linkedin_url , :string ],
787
789
  [ :google_analytics_id , :string ],
788
790
  [ :google_analytics_id2 , :string ],
789
- [ :auto_ga_js , :boolean , { :default => false }]
791
+ [ :auto_ga_js , :boolean , { :default => false }],
792
+ [ :share_image , :attachment ]
790
793
  ],
791
794
  Caboose::StackableGroup => [
792
795
  [ :name , :string ],
@@ -36,7 +36,8 @@ class Caboose::Site < ActiveRecord::Base
36
36
  :default_layout_id ,
37
37
  :login_fail_lock_count ,
38
38
  :sitemap_xml ,
39
- :robots_txt
39
+ :robots_txt ,
40
+ :theme_color
40
41
 
41
42
  before_save :validate_presence_of_store_config
42
43
 
@@ -1,7 +1,8 @@
1
1
  class Caboose::SocialConfig < ActiveRecord::Base
2
2
  self.table_name = "social_configs"
3
3
 
4
- belongs_to :site
4
+ belongs_to :site, :class_name => "Caboose::Site"
5
+
5
6
  attr_accessible :id,
6
7
  :site_id ,
7
8
  :facebook_page_id ,
@@ -15,6 +16,15 @@ class Caboose::SocialConfig < ActiveRecord::Base
15
16
  :rss_url ,
16
17
  :google_plus_url ,
17
18
  :linkedin_url ,
18
- :google_analytics_id
19
+ :google_analytics_id
20
+
21
+ has_attached_file :share_image,
22
+ :path => ':share_images/:id_:style.:extension',
23
+ :default_url => 'http://placehold.it/800x500',
24
+ :s3_protocol => :https,
25
+ :styles => {
26
+ large: '1200x1200>'
27
+ }
28
+ do_not_validate_attachment_file_type :share_image
19
29
 
20
30
  end
@@ -17,6 +17,7 @@ user_ids = [] if user_ids.nil?
17
17
  <p><div id='site_<%= @site.id %>_use_fonts' ></div></p>
18
18
  <p><div id='site_<%= @site.id %>_use_dragdrop' ></div></p>
19
19
  <p><div id='site_<%= @site.id %>_allow_self_registration' ></div></p>
20
+ <p><div id='site_<%= @site.id %>_theme_color' ></div></p>
20
21
  <p><div id='site_<%= @site.id %>_default_layout_id' ></div></p>
21
22
 
22
23
  <h2>Domains</h2>
@@ -28,6 +29,7 @@ user_ids = [] if user_ids.nil?
28
29
  <th>Domain</th>
29
30
  <th>Primary</th>
30
31
  <th>Under Construction</th>
32
+ <th>Force SSL</th>
31
33
  <th>Forward to Primary</th>
32
34
  <th>Forward to URI</th>
33
35
  <th>Delete</th>
@@ -37,6 +39,7 @@ user_ids = [] if user_ids.nil?
37
39
  <td><%= d.domain %></td>
38
40
  <td align='center'><input type='radio' name='primary_domain' <%= d.primary? ? "checked='true'" : '' %> onclick="set_primary_domain(<%= s.id %>, <%= d.id %>);" /></td>
39
41
  <td align='center'><input type='checkbox' name='under_construction_<%= d.id %>' <%= d.under_construction ? "checked='true'" : '' %> onclick="set_under_construction(<%= s.id %>, <%= d.id %>, $(this).prop('checked'));" /></td>
42
+ <td align='center'><input type='checkbox' name='force_ssl_<%= d.id %>' <%= d.force_ssl ? "checked='true'" : '' %> onclick="set_force_ssl(<%= s.id %>, <%= d.id %>, $(this).prop('checked'));" /></td>
40
43
  <td align='center'><input type='checkbox' name='forward_to_primary_<%= d.id %>' <%= d.forward_to_primary ? "checked='true'" : '' %> onclick="set_forward_to_primary(<%= s.id %>, <%= d.id %>, $(this).prop('checked'));" /></td>
41
44
  <td align='center'><input type='text' name='forward_to_uri_<%= d.id %>' value="<%= d.forward_to_uri %>" onchange="set_forward_to_uri(<%= s.id %>, <%= d.id %>, $(this).val());" /></td>
42
45
  <td align='center'><input type='button' value='Delete' onclick="delete_domain(<%= @site.id %>, <%= d.id %>);" /></td>
@@ -73,6 +76,9 @@ user_ids = [] if user_ids.nil?
73
76
  line-height: 20px;
74
77
  padding: 30px 9px 9px 9px !important;
75
78
  }
79
+ table.data th {
80
+ padding: 2px 8px !important;
81
+ }
76
82
  </style>
77
83
  <% end %>
78
84
 
@@ -88,6 +94,7 @@ $(document).ready(function() {
88
94
  attributes: [
89
95
  { name: 'logo' , nice_name: 'Logo' , type: 'image' , value: <%= raw Caboose.json(@site.logo ? @site.logo.url(:thumb) : '') %>, width: 400, update_url: '/admin/sites/<%= @site.id %>/logo' },
90
96
  { name: 'description' , nice_name: 'Description' , type: 'text' , value: <%= raw Caboose.json(@site.description) %>, width: 600 },
97
+ { name: 'theme_color' , nice_name: 'Theme Color' , type: 'text' , value: <%= raw Caboose.json(@site.theme_color) %>, width: 600 },
91
98
  { name: 'under_construction_html' , nice_name: 'Under Construction HTML' , type: 'textarea' , value: <%= raw Caboose.json(@site.under_construction_html) %>, width: 600, height: 220 },
92
99
  { name: 'use_store' , nice_name: 'Enable Store' , type: 'checkbox' , value: <%= raw Caboose.json(@site.use_store ? true : false) %>, width: 400 },
93
100
  { name: 'use_fonts' , nice_name: 'Enable Fonts' , type: 'checkbox' , value: <%= raw Caboose.json(@site.use_fonts ? true : false) %>, width: 400 },
@@ -116,6 +123,15 @@ function set_forward_to_primary(site_id, domain_id, checked)
116
123
  });
117
124
  }
118
125
 
126
+ function set_force_ssl(site_id, domain_id, checked)
127
+ {
128
+ $.ajax({
129
+ url: '/admin/sites/' + site_id + '/domains/' + domain_id,
130
+ type: 'put',
131
+ data: { force_ssl: checked ? 1 : 0 }
132
+ });
133
+ }
134
+
119
135
  function set_forward_to_uri(site_id, domain_id, val)
120
136
  {
121
137
  $.ajax({
@@ -31,6 +31,7 @@ Authorized
31
31
  <p><div id="socialconfig_<%= sc.id %>_google_analytics_id" ></div></p>
32
32
  <p><div id="socialconfig_<%= sc.id %>_google_analytics_id2" ></div></p>
33
33
  <p><div id="socialconfig_<%= sc.id %>_auto_ga_js" ></div></p>
34
+ <p><div id="socialconfig_<%= sc.id %>_share_image" ></div></p>
34
35
 
35
36
  <div id='message'></div>
36
37
 
@@ -78,7 +79,8 @@ $(document).ready(function() {
78
79
  { name: 'linkedin_url' , nice_name: 'LinkedIn URL' , type: 'text' , value: <%= raw Caboose.json(sc.linkedin_url) %>, width: 500 },
79
80
  { name: 'google_analytics_id' , nice_name: 'Primary Google Analytics Tracking ID' , type: 'text' , value: <%= raw Caboose.json(sc.google_analytics_id) %>, width: 500 },
80
81
  { name: 'google_analytics_id2' , nice_name: 'Secondary Google Analytics Tracking ID' , type: 'text' , value: <%= raw Caboose.json(sc.google_analytics_id2) %>, width: 500 },
81
- { name: 'auto_ga_js' , nice_name: 'Auto Embed Google Analytics JS' , type: 'checkbox' , value: <%= sc.auto_ga_js ? 1 : 0 %>, width: 500 }
82
+ { name: 'auto_ga_js' , nice_name: 'Auto Embed Google Analytics JS' , type: 'checkbox' , value: <%= sc.auto_ga_js ? 1 : 0 %>, width: 500 },
83
+ { name: 'share_image' , nice_name: 'Share Image' , type: 'image' , value: <%= raw Caboose.json(sc.share_image ? sc.share_image.url(:large) : 'http://placehold.it?300x300') %>, width: 800, update_url: '/admin/social/image' }
82
84
  ]
83
85
  });
84
86
 
@@ -1,3 +1,3 @@
1
1
  module Caboose
2
- VERSION = '0.9.116'
2
+ VERSION = '0.9.117'
3
3
  end
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.9.116
4
+ version: 0.9.117
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Barry
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-13 00:00:00.000000000 Z
11
+ date: 2018-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pg