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|
98 format.html { redirect_to @panel, notice: 'Panel was successfully created.' }
99 format.json { render json: @panel, status: :created, location: @panel }
101 format.html { render action: "new" }
102 format.json { render json: @panel.errors, status: :unprocessable_entity }
111 @panel = Panel.find(params[:id])
112 if @panel.own? @author
113 respond_to do |format|
115 if params[:panel][:t] and params[:panel][:t].to_i != @panel.t
116 @panel.move_to params[:panel][:t].to_i
118 if @panel.update_attributes(params[:panel])
119 format.html { redirect_to @panel, notice: 'Panel was successfully updated.' }
120 format.json { head :ok }
122 format.html { render action: "edit" }
123 format.json { render json: @panel.errors, status: :unprocessable_entity }
128 format.html { render action: "edit" }
129 format.json { render json: @panel.errors, status: :unprocessable_entity }
134 # DELETE /panels/1.json
136 @panel = Panel.find(params[:id])
137 if @panel.own? @author
138 respond_to do |format|
140 @panel.destroy_and_shorten
141 format.html { redirect_to panels_url }
142 format.json { head :ok }
146 format.html { render action: "edit" }
147 format.json { render json: @panel.errors, status: :unprocessable_entity }
152 @panel = Panel.find(params[:id])
153 @new_seq = params[:panel][:t].to_i
154 respond_to do |format|
156 if @panel.move_to(@new_t)
157 format.html { redirect_to @panel, notice: 'Panel was successfully moved.' }
158 format.json { head :ok }
160 format.html { render action: "show" }
161 format.json { render json: @panel.errors, status: :unprocessable_entity }