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)
22 format.json { render :json => @authors.to_json(Author.list_json_opt) }
27 @au = Author.show(params[:id], [@user, @admin])
29 respond_to do |format|
31 format.json { render :json => @au.to_json(Author.show_json_opt) }
36 @au = Author.show(params[:id], [@user, @admin])
38 @page = Author.page params[:page]
39 @page_size = Author.scroll_page_size params[:page_size]
40 @scrolls = Scroll.himlist(@au, @page, @page_size)
42 respond_to do |format|
44 @paginate = Scroll.himlist_paginate(@au, @page, @page_size)
46 format.json { render json: @scrolls.to_json(Scroll.list_json_opt) }
51 @au = Author.show(params[:id], [@user, @admin])
53 @page = Author.page params[:page]
54 @page_size = Author.scroll_page_size params[:page_size]
55 @scroll_panels = ScrollPanel.himlist(@au, @page, @page_size)
57 respond_to do |format|
59 @paginate = ScrollPanel.himlist_paginate(@au, @page, @page_size)
61 format.json { render json: @scroll_panels.to_json(ScrollPanel.list_json_opt) }
66 @au = Author.show(params[:id], [@user, @admin])
68 @page = Author.page params[:page]
69 @page_size = Author.comic_page_size params[:page_size]
70 @comics = Comic.himlist(@au, @page, @page_size)
72 respond_to do |format|
74 @paginate = Comic.himlist_paginate(@au, @page, @page_size)
76 format.json { render json: @comics.to_json(Comic.list_json_opt) }
81 @au = Author.show(params[:id], [@user, @admin])
83 @page = Author.page params[:page]
84 @page_size = Author.story_page_size params[:page_size]
85 @stories = Story.himlist(@au, @page, @page_size)
87 respond_to do |format|
89 @paginate = Story.himlist_paginate(@au, @page, @page_size)
91 format.json { render json: @stories.to_json(Story.list_json_opt) }
96 @au = Author.show(params[:id], [@user, @admin])
98 @page = Author.page params[:page]
99 @page_size = Author.sheet_page_size params[:page_size]
100 @story_sheets = StorySheet.himlist(@au, @page, @page_size)
102 respond_to do |format|
104 @paginate = StorySheet.himlist_paginate(@au, @page, @page_size)
106 format.json { render json: @story_sheets.to_json(StorySheet.list_json_opt) }
111 @au = Author.show(params[:id], [@user, @admin])
113 @page = Author.page params[:page]
114 @page_size = Author.sheet_page_size params[:page_size]
115 @sheets = Sheet.himlist(@au, @page, @page_size)
117 respond_to do |format|
119 @paginate = Sheet.himlist_paginate(@au, @page, @page_size)
121 format.json { render json: @sheets.to_json(Sheet.list_json_opt) }
126 @au = Author.show(params[:id], [@user, @admin])
128 @page = Author.page params[:page]
129 @page_size = Author.sheet_page_size params[:page_size]
130 @sheet_panels = SheetPanel.himlist(@au, @page, @page_size)
132 respond_to do |format|
134 @paginate = SheetPanel.himlist_paginate(@au, @page, @page_size)
136 format.json { render json: @sheet_panels.to_json(SheetPanel.list_json_opt) }
141 @au = Author.show(params[:id], [@user, @admin])
143 @page = Author.page params[:page]
144 @page_size = Author.panel_page_size params[:page_size]
145 @panels = Panel.himlist(@au, @page, @page_size)
147 respond_to do |format|
149 @paginate = Panel.himlist_paginate(@au, @page, @page_size)
151 format.json { render text: Panel.list_as_json_text(@panels) }
156 @au = Author.show(params[:id], [@user, @admin])
158 @page = Author.page params[:page]
159 @page_size = Author.panel_picture_page_size params[:page_size]
160 @panel_pictures = PanelPicture.himlist(@au, @page, @page_size)
162 respond_to do |format|
164 @paginate = PanelPicture.himlist_paginate(@au, @page, @page_size)
166 format.json { render json: @panel_pictures.to_json(PanelPicture.list_json_opt) }
171 @au = Author.show(params[:id], [@user, @admin])
173 @page = Author.page params[:page]
174 @page_size = Author.panel_picture_page_size params[:page_size]
175 @speech_balloons = SpeechBalloon.himlist(@au, @page, @page_size)
177 respond_to do |format|
179 @paginate = SpeechBalloon.himlist_paginate(@au, @page, @page_size)
181 format.json { render json: @speech_balloons.to_json(SpeechBalloon.list_json_opt) }
186 @au = Author.show(params[:id], [@user, @admin])
188 @page = Author.page params[:page]
189 @page_size = Author.ground_picture_page_size params[:page_size]
190 @ground_pictures = GroundPicture.himlist(@au, @page, @page_size)
192 respond_to do |format|
194 @paginate = GroundPicture.himlist_paginate(@au, @page, @page_size)
196 format.json { render json: @ground_pictures.to_json(GroundPicture.list_json_opt) }
201 @au = Author.show(params[:id], [@user, @admin])
203 @page = Author.page params[:page]
204 @page_size = Author.ground_color_page_size params[:page_size]
205 @ground_colors = GroundColor.himlist(@au, @page, @page_size)
207 respond_to do |format|
209 @paginate = GroundColor.himlist_paginate(@au, @page, @page_size)
211 format.json { render json: @ground_colors.to_json(GroundColor.list_json_opt) }
216 @au = {:count => Author.visible_count}
217 respond_to do |format|
218 format.json { render json: @au.to_json }
223 @authors = Author.all
225 respond_to do |format|
226 format.html { render layout: 'system' }
231 @au = Author.find(params[:id])
233 respond_to do |format|
234 format.html { render layout: 'system' }
242 respond_to do |format|
243 format.html # new.html.erb
245 format.json { render json: @au.to_json(Author.show_json_opt) }
250 @au = Author.edit(params[:id], @author)
256 @au.attributes = params[:author]
257 @au.overwrite @user.id
258 respond_to do |format|
260 flash[:notice] = I18n.t('flash.notice.created', :model => Author.model_name.human)
261 format.html { redirect_to root_path }
262 format.json { render json: @au.to_json(Author.show_json_opt), status: :created, location: @artist }
264 flash[:notice] = I18n.t('flash.notice.not_created', :model => Author.model_name.human)
265 format.html { render action: "new" }
266 format.json { render json: @au.errors, status: :unprocessable_entity }
272 @au = Author.edit(params[:id], @author)
273 @au.attributes = params[:author]
274 @au.overwrite @user.id
276 respond_to do |format|
278 flash[:notice] = I18n.t('flash.notice.updated', :model => Author.model_name.human)
279 format.html { redirect_to '/home/configure' }
280 format.json { head :ok }
282 flash[:notice] = I18n.t('flash.notice.not_updated', :model => Author.model_name.human)
283 format.html { render action: "edit" }
284 format.json { render json: @au.errors, status: :unprocessable_entity }