app/controllers/caboose/sites_controller.rb in caboose-cms-0.9.228 vs app/controllers/caboose/sites_controller.rb in caboose-cms-0.9.229

- old
+ new

@@ -87,12 +87,12 @@ @site = Site.new end # @route GET /admin/sites/:id/block-types def admin_edit_block_types - return if !user_is_allowed('sites', 'edit') - if (!logged_in_user.is_super_admin?) + return unless user_is_allowed('site_settings', 'edit') || user_is_allowed('sites', 'edit') + if (@site.id.to_s != params[:id] && !@site.is_master) @error = "You are not allowed to edit this site." render :file => 'caboose/extras/error' and return end @site = Site.find(params[:id]) end @@ -137,12 +137,12 @@ @site = Site.find(params[:id]) end # @route GET /admin/sites/:id def admin_edit - return if !user_is_allowed('sites', 'edit') - if (!logged_in_user.is_super_admin?) + return unless user_is_allowed('site_settings', 'edit') || user_is_allowed('sites', 'edit') + if (@site.id.to_s != params[:id] && !@site.is_master) @error = "You are not allowed to edit this site." render :file => 'caboose/extras/error' and return end @site = Site.find(params[:id]) end @@ -166,10 +166,11 @@ site = Caboose::Site.new site.name = site_name.downcase.gsub(" ","").gsub("'","").gsub("-","") site.description = site_name site.use_fonts = true site.use_dragdrop = true + site.use_caching = true site.theme_color = '#141414' site.allow_self_registration = false site.use_store = false site.save resp.redirect = "/admin/sites/#{site.id}" @@ -212,12 +213,15 @@ when 'address2' then site.address2 = value when 'city' then site.city = value when 'state' then site.state = value when 'zip' then site.zip = value when 'fax' then site.fax = value + when 'use_change_logs' then site.use_change_logs = value + when 'google_api_key' then site.google_api_key = value when 'contact_email' then site.contact_email = value when 'recaptcha_threshold' then site.recaptcha_threshold = value + when 'use_caching' then site.use_caching = value when 'head_code' then site.head_code = (value.blank? ? nil : value.gsub('<end/script>','</script>')) when 'body_open_code' then site.body_open_code = (value.blank? ? nil : value.gsub('<end/script>','</script>')) when 'body_close_code' then site.body_close_code = (value.blank? ? nil : value.gsub('<end/script>','</script>')) end end @@ -297,12 +301,12 @@ # @route_priority 1 # @route GET /admin/sites/options # @route GET /admin/sites/:field-options # @route GET /admin/sites/:id/:field-options def options - return if !user_is_allowed('sites', 'view') - render :json => { :error => "You are not allowed to manage sites." } and return if !@site.is_master + return if !user_is_allowed('sites', 'edit') + render :json => { :error => "You are not allowed to manage sites." } and return if !logged_in_user.is_super_admin? case params[:field] when nil options = logged_in_user.is_super_admin? ? Site.reorder('name').all.collect { |s| { 'value' => s.id, 'text' => s.name }} : [] when 'default-layout' cat_ids = Caboose::BlockTypeCategory.layouts.collect{ |cat| cat.id } @@ -312,9 +316,24 @@ end end render :json => options end + + # @route PUT /admin/sites/:id/refresh-cache + def admin_refresh_cache + return if !user_is_allowed('sites', 'edit') + @site.delay(:queue => 'caching', :priority => 5).refresh_all_page_caches + render :json => true + end + + # @route GET /api/generate-asset/site_:id + def compiled_asset + respond_to do |format| + format.css { render :layout => 'caboose/footer_css', :content_type => "text/css" } + format.js { render :layout => 'caboose/footer_js', :content_type => "text/javascript" } + end + end private def get_edit_site(s_id, site_id) site = Site.find(s_id)