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 +4 -4
- data/app/controllers/caboose/domains_controller.rb +1 -0
- data/app/controllers/caboose/pages_controller.rb +5 -0
- data/app/controllers/caboose/sites_controller.rb +1 -0
- data/app/controllers/caboose/social_controller.rb +11 -0
- data/app/models/caboose/domain.rb +1 -1
- data/app/models/caboose/schema.rb +5 -2
- data/app/models/caboose/site.rb +2 -1
- data/app/models/caboose/social_config.rb +12 -2
- data/app/views/caboose/sites/admin_edit.html.erb +16 -0
- data/app/views/caboose/social/admin_edit.html.erb +3 -1
- data/lib/caboose/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 746344802d927992c0c1c995175f7322ec22b4e2
         | 
| 4 | 
            +
              data.tar.gz: 58012ad3bfc826b6f2bcdf067c7c4ab24eb142a0
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 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  ],
         | 
    
        data/app/models/caboose/site.rb
    CHANGED
    
    
| @@ -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 |  | 
    
        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.9. | 
| 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- | 
| 11 | 
            +
            date: 2018-03-21 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: pg
         |