1 class AuthorsController < ApplicationController
2 layout 'test' if MagicNumber['test_layout']
3 if MagicNumber['run_mode'] == 0
4 before_filter :authenticate_user, :only => [:new, :create, :edit, :update]
5 before_filter :authenticate_author, :only => [:edit, :update]
7 before_filter :authenticate_reader, :only => [:index, :show, :scrolls, :scroll_panels, :comics, :stories, :story_sheets, :sheets, :sheet_panels, :panels, :panel_pictures, :speech_balloons, :ground_pictures, :ground_colors]
8 before_filter :authenticate_user, :only => [:new, :create, :edit, :update]
9 before_filter :authenticate_author, :only => [:edit, :update]
11 before_filter :authenticate_admin!, :only => [:list, :browse]
14 @page = Author.page params[:page]
15 @page_size = Author.page_size params[:page_size]
16 @authors = Author.list(@page, @page_size)
18 respond_to do |format|
20 @paginate = Author.list_paginate(@page, @page_size)
21 render :template => 'system/filer', :locals => {
22 :items => @authors, :model => Author,
23 :roles => [@user, @admin], :pager => @paginate
26 format.json { render :json => @authors.to_json(Author.list_json_opt) }
31 @item = Author.show(params[:id], [@user, @admin])
33 respond_to do |format|
36 format.json { render :json => @item.to_json(Author.show_json_opt) }
41 @au = Author.show(params[:id], [@user, @admin])
43 @page = Author.page params[:page]
44 @page_size = Author.scroll_page_size params[:page_size]
45 @scrolls = Scroll.himlist(@au, @page, @page_size)
47 respond_to do |format|
49 @paginate = Scroll.himlist_paginate(@au, @page, @page_size)
50 render :template => 'system/filer', :locals => {
51 :items => @scrolls, :model => Scroll,
52 :roles => [@user, @admin], :pager => @paginate
55 format.json { render json: @scrolls.to_json(Scroll.list_json_opt) }
60 @au = Author.show(params[:id], [@user, @admin])
62 @page = Author.page params[:page]
63 @page_size = Author.scroll_page_size params[:page_size]
64 @scroll_panels = ScrollPanel.himlist(@au, @page, @page_size)
66 respond_to do |format|
68 @paginate = ScrollPanel.himlist_paginate(@au, @page, @page_size)
69 render :template => 'system/filer', :locals => {
70 :items => @scroll_panels, :model => ScrollPanel,
71 :roles => [@user, @admin], :pager => @paginate
74 format.json { render json: @scroll_panels.to_json(ScrollPanel.list_json_opt) }
79 @au = Author.show(params[:id], [@user, @admin])
81 @page = Author.page params[:page]
82 @page_size = Author.comic_page_size params[:page_size]
83 @comics = Comic.himlist(@au, @page, @page_size)
85 respond_to do |format|
87 @paginate = Comic.himlist_paginate(@au, @page, @page_size)
88 render :template => 'system/filer', :locals => {
89 :items => @comics, :model => Comic,
90 :roles => [@user, @admin], :pager => @paginate
93 format.json { render json: @comics.to_json(Comic.list_json_opt) }
98 @au = Author.show(params[:id], [@user, @admin])
100 @page = Author.page params[:page]
101 @page_size = Author.story_page_size params[:page_size]
102 @stories = Story.himlist(@au, @page, @page_size)
104 respond_to do |format|
106 @paginate = Story.himlist_paginate(@au, @page, @page_size)
107 render :template => 'system/filer', :locals => {
108 :items => @stories, :model => Story,
109 :roles => [@user, @admin], :pager => @paginate
112 format.json { render json: @stories.to_json(Story.list_json_opt) }
117 @au = Author.show(params[:id], [@user, @admin])
119 @page = Author.page params[:page]
120 @page_size = Author.sheet_page_size params[:page_size]
121 @story_sheets = StorySheet.himlist(@au, @page, @page_size)
123 respond_to do |format|
125 @paginate = StorySheet.himlist_paginate(@au, @page, @page_size)
126 render :template => 'system/filer', :locals => {
127 :items => @story_sheets, :model => StorySheet,
128 :roles => [@user, @admin], :pager => @paginate
131 format.json { render json: @story_sheets.to_json(StorySheet.list_json_opt) }
136 @au = Author.show(params[:id], [@user, @admin])
138 @page = Author.page params[:page]
139 @page_size = Author.sheet_page_size params[:page_size]
140 @sheets = Sheet.himlist(@au, @page, @page_size)
142 respond_to do |format|
144 @paginate = Sheet.himlist_paginate(@au, @page, @page_size)
145 render :template => 'system/filer', :locals => {
146 :items => @sheets, :model => Sheet,
147 :roles => [@user, @admin], :pager => @paginate
150 format.json { render json: @sheets.to_json(Sheet.list_json_opt) }
155 @au = Author.show(params[:id], [@user, @admin])
157 @page = Author.page params[:page]
158 @page_size = Author.sheet_page_size params[:page_size]
159 @sheet_panels = SheetPanel.himlist(@au, @page, @page_size)
161 respond_to do |format|
163 @paginate = SheetPanel.himlist_paginate(@au, @page, @page_size)
164 render :template => 'system/filer', :locals => {
165 :items => @sheet_panels, :model => SheetPanel,
166 :roles => [@user, @admin], :pager => @paginate
169 format.json { render json: @sheet_panels.to_json(SheetPanel.list_json_opt) }
174 @au = Author.show(params[:id], [@user, @admin])
176 @page = Author.page params[:page]
177 @page_size = Author.panel_page_size params[:page_size]
178 @panels = Panel.himlist(@au, @page, @page_size)
180 respond_to do |format|
182 @paginate = Panel.himlist_paginate(@au, @page, @page_size)
183 render :template => 'system/filer', :locals => {
184 :items => @panels, :model => Panel,
185 :roles => [@user, @admin], :pager => @paginate
188 format.json { render text: Panel.list_as_json_text(@panels) }
193 @au = Author.show(params[:id], [@user, @admin])
195 @page = Author.page params[:page]
196 @page_size = Author.panel_picture_page_size params[:page_size]
197 @panel_pictures = PanelPicture.himlist(@au, @page, @page_size)
199 respond_to do |format|
201 @paginate = PanelPicture.himlist_paginate(@au, @page, @page_size)
202 render :template => 'system/filer', :locals => {
203 :items => @panel_pictures, :model => PanelPicture,
204 :roles => [@user, @admin], :pager => @paginate
207 format.json { render json: @panel_pictures.to_json(PanelPicture.list_json_opt) }
212 @au = Author.show(params[:id], [@user, @admin])
214 @page = Author.page params[:page]
215 @page_size = Author.panel_picture_page_size params[:page_size]
216 @speech_balloons = SpeechBalloon.himlist(@au, @page, @page_size)
218 respond_to do |format|
220 @paginate = SpeechBalloon.himlist_paginate(@au, @page, @page_size)
221 render :template => 'system/filer', :locals => {
222 :items => @speech_balloons, :model => SpeechBalloon,
223 :roles => [@user, @admin], :pager => @paginate
226 format.json { render json: @speech_balloons.to_json(SpeechBalloon.list_json_opt) }
231 @au = Author.show(params[:id], [@user, @admin])
233 @page = Author.page params[:page]
234 @page_size = Author.ground_picture_page_size params[:page_size]
235 @ground_pictures = GroundPicture.himlist(@au, @page, @page_size)
237 respond_to do |format|
239 @paginate = GroundPicture.himlist_paginate(@au, @page, @page_size)
240 render :template => 'system/filer', :locals => {
241 :items => @ground_pictures, :model => GroundPicture,
242 :roles => [@user, @admin], :pager => @paginate
245 format.json { render json: @ground_pictures.to_json(GroundPicture.list_json_opt) }
250 @au = Author.show(params[:id], [@user, @admin])
252 @page = Author.page params[:page]
253 @page_size = Author.ground_color_page_size params[:page_size]
254 @ground_colors = GroundColor.himlist(@au, @page, @page_size)
256 respond_to do |format|
258 @paginate = GroundColor.himlist_paginate(@au, @page, @page_size)
259 render :template => 'system/filer', :locals => {
260 :items => @ground_colors, :model => GroundColor,
261 :roles => [@user, @admin], :pager => @paginate
264 format.json { render json: @ground_colors.to_json(GroundColor.list_json_opt) }
269 @au = {:count => Author.visible_count}
270 respond_to do |format|
271 format.json { render json: @au.to_json }
276 @authors = Author.all
278 respond_to do |format|
279 format.html { render layout: 'system' }
284 @au = Author.find(params[:id])
286 respond_to do |format|
287 format.html { render layout: 'system' }
295 respond_to do |format|
296 format.html # new.html.erb
298 format.json { render json: @au.to_json(Author.show_json_opt) }
303 @au = Author.edit(params[:id], @author)
309 @au.attributes = params[:author]
310 @au.overwrite @user.id
311 respond_to do |format|
313 flash[:notice] = I18n.t('flash.notice.created', :model => Author.model_name.human)
314 format.html { redirect_to root_path }
315 format.json { render json: @au.to_json(Author.show_json_opt), status: :created, location: @artist }
317 flash[:notice] = I18n.t('flash.notice.not_created', :model => Author.model_name.human)
318 format.html { render action: "new" }
319 format.json { render json: @au.errors, status: :unprocessable_entity }
325 @au = Author.edit(params[:id], @author)
326 @au.attributes = params[:author]
327 @au.overwrite @user.id
329 respond_to do |format|
331 flash[:notice] = I18n.t('flash.notice.updated', :model => Author.model_name.human)
332 format.html { redirect_to '/home/configure' }
333 format.json { head :ok }
335 flash[:notice] = I18n.t('flash.notice.not_updated', :model => Author.model_name.human)
336 format.html { render action: "edit" }
337 format.json { render json: @au.errors, status: :unprocessable_entity }