1 class PanelsController < ApplicationController
2 layout 'test' if Pettanr::TestLayout
3 before_filter :authenticate_user!, :only => [:index, :show, :new, :edit, :create, :update, :destroy]
4 before_filter :authenticate_admin!, :only => [:list, :browse]
9 panel.author_id = @author.id
17 @page = Panel.page params[:page]
18 @page_size = Panel.page_size params[:page_size]
19 @panels = Panel.list({}, @page, @page_size)
21 respond_to do |format|
22 format.html # index.html.erb
23 format.json { render json: @panels.to_json(Panel.list_json_opt) }
30 @panel = Panel.show(params[:id], @author)
32 respond_to do |format|
33 format.html # show.html.erb
34 format.json { render json: @panel.to_json(Panel.show_json_include_opt) }
36 render :json => "callback(" + @panel.to_json(Panel.show_json_include_opt) + ");"
42 @panel = {:count => Panel.visible_count}
43 respond_to do |format|
44 format.json { render json: @panel.to_json }
49 @panels = Panel.all :order => 'updated_at'
51 respond_to do |format|
52 format.html { render layout: 'system' }
53 format.json { render json: @panels }
58 @panel = Panel.find(params[:id])
60 respond_to do |format|
61 format.html { render layout: 'system' }
67 @panel.supply_default @author
69 respond_to do |format|
70 format.html # new.html.erb
72 format.json { render json: @panel }
77 @panel = Panel.show(params[:id], @author)
78 respond_to do |format|
88 jsn = JSON.parse(params[:json])
90 @prm = params[:panel] || jsn
91 @panel = Panel.new(@prm)
93 # @comic = Comic.find @panel.comic_id
95 respond_to do |format|
97 format.html { redirect_to @panel, notice: 'Panel was successfully created.' }
98 format.json { render json: @panel, status: :created, location: @panel }
100 format.html { render action: "new" }
101 format.json { render json: @panel.errors, status: :unprocessable_entity }
109 @panel = Panel.find(params[:id])
110 if @panel.own? @author
112 jsn = JSON.parse(params[:json])
114 @prm = params[:panel] || jsn
115 respond_to do |format|
117 if params[:panel][:t] and params[:panel][:t].to_i != @panel.t
118 @panel.move_to params[:panel][:t].to_i
120 @panel.attributes = @prm
122 format.html { redirect_to @panel, notice: 'Panel was successfully updated.' }
123 format.json { head :ok }
125 format.html { render action: "edit" }
126 format.json { render json: @panel.errors, status: :unprocessable_entity }
131 format.html { render action: "edit" }
132 format.json { render json: @panel.errors, status: :unprocessable_entity }
137 # DELETE /panels/1.json
139 @panel = Panel.find(params[:id])
140 if @panel.own? @author
141 respond_to do |format|
143 @panel.destroy_and_shorten
144 format.html { redirect_to panels_url }
145 format.json { head :ok }
149 format.html { render action: "edit" }
150 format.json { render json: @panel.errors, status: :unprocessable_entity }
155 @panel = Panel.find(params[:id])
156 @new_seq = params[:panel][:t].to_i
157 respond_to do |format|
159 if @panel.move_to(@new_t)
160 format.html { redirect_to @panel, notice: 'Panel was successfully moved.' }
161 format.json { head :ok }
163 format.html { render action: "show" }
164 format.json { render json: @panel.errors, status: :unprocessable_entity }