1 class PanelsController < ApplicationController
2 layout 'test' if MagicNumber['test_layout']
3 before_filter :authenticate_user!, :only => [:index, :show, :new, :edit, :create, :update, :destroy]
4 before_filter :authenticate_author, :only => [:index, :show, :new, :edit, :create, :update, :destroy]
5 before_filter :authenticate_admin!, :only => [:list, :browse]
10 @page = Panel.page params[:page]
11 @page_size = Panel.page_size params[:page_size]
12 @panels = Panel.list(@page, @page_size)
14 respond_to do |format|
15 format.html # index.html.erb
16 format.json { render text: Panel.list_as_json_text(@panels) }
21 @panel = Panel.show(params[:id], @author)
23 respond_to do |format|
24 format.html # show.html.erb
25 format.json { render json: @panel.panel_elements_as_json }
27 render :json => "callback(" + @panel.panel_elements_as_json + ");"
33 @panel = {:count => Panel.visible_count}
34 respond_to do |format|
35 format.json { render json: @panel.to_json }
40 @panels = Panel.all :order => 'updated_at'
42 respond_to do |format|
43 format.html { render layout: 'system' }
44 format.json { render json: @panels }
49 @panel = Panel.find(params[:id])
51 respond_to do |format|
52 format.html { render layout: 'system' }
60 respond_to do |format|
61 format.html # new.html.erb
63 format.json { render json: @panel.panel_elements_as_json }
68 @panel = Panel.edit(params[:id], @author)
69 respond_to do |format|
80 jsn = JSON.parse_no_except(params[:json])
82 @prm = params[:panel] || jsn
83 respond_to do |format|
84 if @panel.store @prm, @author
85 flash[:notice] = I18n.t('flash.notice.created', :model => Panel.model_name.human)
86 format.html { redirect_to @panel }
87 format.json { render json: @panel.panel_elements_as_json, status: :created, location: @panel }
89 format.html { render action: "new" }
90 format.json { render json: @panel.errors, status: :unprocessable_entity }
96 @panel = Panel.edit(params[:id], @author)
99 jsn = JSON.parse(params[:json])
101 @prm = params[:panel] || jsn
102 respond_to do |format|
103 if @panel.store @prm, @author
104 flash[:notice] = I18n.t('flash.notice.updated', :model => Panel.model_name.human)
105 format.html { redirect_to @panel }
106 format.json { head :ok }
108 format.html { render action: "edit" }
109 format.json { render json: @panel.errors, status: :unprocessable_entity }
115 @panel = Panel.edit(params[:id], @author)
116 respond_to do |format|
119 format.html { redirect_to panels_url }
120 format.json { head :ok }