class Admin::SitesController < ApplicationController layout "new_admin" before_filter :authenticate_user!, :except => [:sitemap_frontend] before_filter :is_admin?, :except => [:sitemap_frontend] before_filter :get_site # def index # @site = Site.first # # redirect_to :action => :new unless @site # end # def new # @site = Site.new # end def update @site.update_attributes(params[:site]) redirect_to :back end def mail_setting end def site_info end def sitemap @items = get_homepage.children rescue [] end def sitemap_frontend @items = get_homepage.children.excludes(sitemap_enabled: false) rescue [] render :layout => false end def sitemap_toggle @item = Item.find(params[:id]) @item.sitemap_enabled = !@item.sitemap_enabled @item.save if params[:parent] @item.children.each do |child| child.sitemap_enabled = @item.sitemap_enabled child.save end end render :nothing => true end def system_info end def ui_theme end def change_design design = Design.find(params[:site_id]) rescue nil update_design(design) if design render :nothing => true end protected def update_design(design) @site.design = design if @site.save theme_id = design.themes.first.id Page.all.each do |page| page.update_attributes({design_id: design.id, theme_id: (theme_id unless page.root?)}) end end end private def get_site @site ||= Site.first end end