OSDN Git Service

manifest list mg
[pettanr/pettanr.git] / app / controllers / comics_controller.rb
1 class ComicsController < ApplicationController
2   if Manifest.manifest.magic_numbers['run_mode'] == 0
3     before_filter :authenticate_user, :only => [:new, :create, :edit, :update, :destroy]
4     before_filter :authenticate_author, :only => [:new, :create, :edit, :update, :destroy]
5   else
6     before_filter :authenticate_reader, :only => [:index, :show, :by_author, :count, :count_by_author]
7     before_filter :authenticate_user, :only => [:new, :create, :edit, :update, :destroy]
8     before_filter :authenticate_author, :only => [:new, :create, :edit, :update, :destroy]
9   end
10
11   def self.model
12     Comic
13   end
14   
15   def index
16     filer_list
17   end
18
19   def by_author
20     filer_list
21   end
22
23   def show_html_format format
24     format.html {
25     }
26   end
27   
28   def show
29     set_show
30     respond_to do |format|
31       show_html_format format
32       show_prof_format format
33       show_json_format format
34       format.atom 
35       format.rss 
36     end
37   end
38
39   def count
40     list_count
41   end
42   
43   def count_by_author
44     list_count
45   end
46   
47   def new
48     form_new
49   end
50   
51   def edit
52     form_edit
53   end
54   
55   def create
56     @comic = Comic.new
57     @comic.supply_default 
58     @comic.attributes = params[:comic]
59     @comic.overwrite @operators
60
61     respond_to do |format|
62       if @comic.save
63         flash[:notice] = I18n.t('flash.notice.created', :model => Comic.model_name.human)
64         format.html { redirect_to @comic }
65         format.json { render json: @comic.to_json(Comic.show_json_opt), status: :created, location: @comic }
66       else
67         flash[:notice] = I18n.t('flash.notice.not_created', :model => Comic.model_name.human)
68         format.html { render action: "new" }
69         format.json { render json: @comic.errors, status: :unprocessable_entity }
70       end
71     end
72   end
73
74   def update
75     @comic = Comic.edit(params[:id], @operators)
76     @comic.attributes = params[:comic]
77     @comic.overwrite @operators
78     respond_to do |format|
79       if @comic.save
80         flash[:notice] = I18n.t('flash.notice.updated', :model => Comic.model_name.human)
81         format.html { redirect_to @comic }
82         format.json { head :ok }
83       else
84         flash[:notice] = I18n.t('flash.notice.not_updated', :model => Comic.model_name.human)
85         format.html { render action: "edit" }
86         format.json { render json: @comic.errors, status: :unprocessable_entity }
87       end
88     end
89   end
90
91   def destroy
92     @comic = Comic.edit(params[:id], @operators)
93     respond_to do |format|
94       if @comic.destroy_with_story
95         flash[:notice] = I18n.t('flash.notice.destroyed', :model => Comic.model_name.human)
96         format.html { redirect_to '/home/comics' }
97         format.json { head :ok }
98       else
99         flash[:notice] = I18n.t('flash.notice.not_destroyed', :model => Comic.model_name.human)
100         format.html { redirect_to @comic }
101         format.json { render json: @comic.errors, status: :unprocessable_entity }
102       end
103     end
104   end
105 end