2013-02-05 14:16:51 -05:00
class Admin :: SiteCustomizationsController < Admin :: AdminController
2013-02-07 16:45:24 +01:00
2013-11-12 18:13:17 +01:00
before_filter :enable_customization
2015-05-16 18:15:42 -07:00
skip_before_filter :check_xhr , only : [ :show ]
2013-02-05 14:16:51 -05:00
def index
2014-12-22 16:20:06 +11:00
@site_customizations = SiteCustomization . order ( :name )
2013-02-05 14:16:51 -05:00
respond_to do | format |
format . json { render json : @site_customizations }
end
end
def create
2013-06-06 00:14:32 -07:00
@site_customization = SiteCustomization . new ( site_customization_params )
2013-02-05 14:16:51 -05:00
@site_customization . user_id = current_user . id
respond_to do | format |
if @site_customization . save
2013-08-21 10:49:35 -04:00
log_site_customization_change ( nil , site_customization_params )
2013-02-05 14:16:51 -05:00
format . json { render json : @site_customization , status : :created }
else
format . json { render json : @site_customization . errors , status : :unprocessable_entity }
end
end
end
def update
@site_customization = SiteCustomization . find ( params [ :id ] )
2013-08-21 10:49:35 -04:00
log_record = log_site_customization_change ( @site_customization , site_customization_params )
2013-02-05 14:16:51 -05:00
respond_to do | format |
2013-06-06 00:14:32 -07:00
if @site_customization . update_attributes ( site_customization_params )
2015-08-06 12:43:56 -04:00
format . json { render json : @site_customization , status : :created }
2013-02-05 14:16:51 -05:00
else
2013-08-21 10:49:35 -04:00
log_record . destroy if log_record
2013-02-05 14:16:51 -05:00
format . json { render json : @site_customization . errors , status : :unprocessable_entity }
end
end
end
def destroy
@site_customization = SiteCustomization . find ( params [ :id ] )
2013-08-21 12:03:21 -04:00
StaffActionLogger . new ( current_user ) . log_site_customization_destroy ( @site_customization )
2013-02-05 14:16:51 -05:00
@site_customization . destroy
respond_to do | format |
format . json { head :no_content }
end
end
2015-05-16 18:15:42 -07:00
def show
@site_customization = SiteCustomization . find ( params [ :id ] )
respond_to do | format |
format . json do
check_xhr
render json : SiteCustomizationSerializer . new ( @site_customization )
end
format . any ( :html , :text ) do
raise RenderEmpty . new if request . xhr?
2015-05-19 18:35:16 -07:00
response . headers [ 'Content-Disposition' ] = " attachment; filename= #{ @site_customization . name . parameterize } .dcstyle.json "
2015-05-16 18:15:42 -07:00
response . sending_file = true
render json : SiteCustomizationSerializer . new ( @site_customization )
end
end
end
2013-06-06 00:14:32 -07:00
private
def site_customization_params
2014-11-10 21:51:55 +01:00
params . require ( :site_customization )
2015-01-14 11:52:42 +01:00
. permit ( :name , :stylesheet , :header , :top , :footer ,
:mobile_stylesheet , :mobile_header , :mobile_top , :mobile_footer ,
:head_tag , :body_tag ,
2014-12-22 16:18:32 +11:00
:position , :enabled , :key ,
2015-08-06 17:18:00 -04:00
:stylesheet_baked , :embedded_css )
2013-06-06 00:14:32 -07:00
end
2013-08-21 10:49:35 -04:00
def log_site_customization_change ( old_record , new_params )
StaffActionLogger . new ( current_user ) . log_site_customization_change ( old_record , new_params )
end
2013-11-12 18:13:17 +01:00
def enable_customization
session [ :disable_customization ] = false
end
2013-02-05 14:16:51 -05:00
end