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, :comics, :stories, :panels, :panel_pictures, :ground_pictures, :ground_colors, :panel_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.comic_page_size params[:page_size]
40 @comics = Comic.himlist(@au, @page, @page_size)
42 respond_to do |format|
44 @paginate = Comic.himlist_paginate(@au, @page, @page_size)
46 format.json { render json: @comics.to_json(Comic.list_json_opt) }
51 @au = Author.show(params[:id], [@user, @admin])
53 @page = Author.page params[:page]
54 @page_size = Author.comic_page_size params[:page_size]
55 @stories = Story.himlist(@au, @page, @page_size)
57 respond_to do |format|
59 @paginate = Story.himlist_paginate(@au, @page, @page_size)
61 format.json { render json: @stories.to_json(Story.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.ground_picture_page_size params[:page_size]
100 @ground_pictures = GroundPicture.himlist(@au, @page, @page_size)
102 respond_to do |format|
104 @paginate = GroundPicture.himlist_paginate(@au, @page, @page_size)
106 format.json { render json: @ground_pictures.to_json(GroundPicture.list_json_opt) }
111 @au = Author.show(params[:id], [@user, @admin])
113 @page = Author.page params[:page]
114 @page_size = Author.ground_color_page_size params[:page_size]
115 @ground_colors = GroundColor.himlist(@au, @page, @page_size)
117 respond_to do |format|
119 @paginate = GroundColor.himlist_paginate(@au, @page, @page_size)
121 format.json { render json: @ground_colors.to_json(GroundColor.list_json_opt) }
126 @au = {:count => Author.visible_count}
127 respond_to do |format|
128 format.json { render json: @au.to_json }
133 @authors = Author.all
135 respond_to do |format|
136 format.html { render layout: 'system' }
141 @au = Author.find(params[:id])
143 respond_to do |format|
144 format.html { render layout: 'system' }
152 respond_to do |format|
153 format.html # new.html.erb
155 format.json { render json: @au.to_json(Author.show_json_opt) }
160 @au = Author.edit(params[:id], @author)
166 @au.attributes = params[:author]
167 @au.overwrite @user.id
168 respond_to do |format|
170 flash[:notice] = I18n.t('flash.notice.created', :model => Author.model_name.human)
171 format.html { redirect_to root_path }
172 format.json { render json: @au.to_json(Author.show_json_opt), status: :created, location: @artist }
174 flash[:notice] = I18n.t('flash.notice.not_created', :model => Author.model_name.human)
175 format.html { render action: "new" }
176 format.json { render json: @au.errors, status: :unprocessable_entity }
182 @au = Author.edit(params[:id], @author)
183 @au.attributes = params[:author]
184 @au.overwrite @user.id
186 respond_to do |format|
188 flash[:notice] = I18n.t('flash.notice.updated', :model => Author.model_name.human)
189 format.html { redirect_to '/home/configure' }
190 format.json { head :ok }
192 flash[:notice] = I18n.t('flash.notice.not_updated', :model => Author.model_name.human)
193 format.html { render action: "edit" }
194 format.json { render json: @au.errors, status: :unprocessable_entity }