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)