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, :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.panel_page_size params[:page_size]
70 @panels = Panel.himlist(@au, @page, @page_size)
72 respond_to do |format|
74 @paginate = Panel.himlist_paginate(@au, @page, @page_size)
76 format.json { render text: Panel.list_as_json_text(@panels) }
81 @au = Author.show(params[:id], [@user, @admin])
83 @page = Author.page params[:page]
84 @page_size = Author.panel_picture_page_size params[:page_size]
85 @panel_pictures = PanelPicture.himlist(@au, @page, @page_size)
87 respond_to do |format|
89 @paginate = PanelPicture.himlist_paginate(@au, @page, @page_size)
91 format.json { render json: @panel_pictures.to_json(PanelPicture.list_json_opt) }
96 @au = Author.show(params[:id], [@user, @admin])
98 @page = Author.page params[:page]
99 @page_size = Author.panel_picture_page_size params[:page_size]
100 @speech_balloons = SpeechBalloon.himlist(@au, @page, @page_size)
102 respond_to do |format|
104 @paginate = SpeechBalloon.himlist_paginate(@au, @page, @page_size)
106 format.json { render json: @speech_balloons.to_json(SpeechBalloon.list_json_opt) }
111 @au = Author.show(params[:id], [@user, @admin])
113 @page = Author.page params[:page]
114 @page_size = Author.ground_picture_page_size params[:page_size]
115 @ground_pictures = GroundPicture.himlist(@au, @page, @page_size)
117 respond_to do |format|
119 @paginate = GroundPicture.himlist_paginate(@au, @page, @page_size)
121 format.json { render json: @ground_pictures.to_json(GroundPicture.list_json_opt) }
126 @au = Author.show(params[:id], [@user, @admin])
128 @page = Author.page params[:page]
129 @page_size = Author.ground_color_page_size params[:page_size]
130 @ground_colors = GroundColor.himlist(@au, @page, @page_size)
132 respond_to do |format|
134 @paginate = GroundColor.himlist_paginate(@au, @page, @page_size)
136 format.json { render json: @ground_colors.to_json(GroundColor.list_json_opt) }
141 @au = {:count => Author.visible_count}
142 respond_to do |format|
143 format.json { render json: @au.to_json }
148 @authors = Author.all
150 respond_to do |format|
151 format.html { render layout: 'system' }
156 @au = Author.find(params[:id])
158 respond_to do |format|
159 format.html { render layout: 'system' }
167 respond_to do |format|
168 format.html # new.html.erb
170 format.json { render json: @au.to_json(Author.show_json_opt) }
175 @au = Author.edit(params[:id], @author)
181 @au.attributes = params[:author]
182 @au.overwrite @user.id
183 respond_to do |format|
185 flash[:notice] = I18n.t('flash.notice.created', :model => Author.model_name.human)
186 format.html { redirect_to root_path }
187 format.json { render json: @au.to_json(Author.show_json_opt), status: :created, location: @artist }
189 flash[:notice] = I18n.t('flash.notice.not_created', :model => Author.model_name.human)
190 format.html { render action: "new" }
191 format.json { render json: @au.errors, status: :unprocessable_entity }
197 @au = Author.edit(params[:id], @author)
198 @au.attributes = params[:author]
199 @au.overwrite @user.id
201 respond_to do |format|
203 flash[:notice] = I18n.t('flash.notice.updated', :model => Author.model_name.human)
204 format.html { redirect_to '/home/configure' }
205 format.json { head :ok }
207 flash[:notice] = I18n.t('flash.notice.not_updated', :model => Author.model_name.human)
208 format.html { render action: "edit" }
209 format.json { render json: @au.errors, status: :unprocessable_entity }