OSDN Git Service

mrg
[pettanr/pettanr.git] / app / controllers / original_pictures_controller.rb
1 #原画
2 class OriginalPicturesController < ApplicationController
3   before_filter :authenticate_reader, :only => [:show, :history, :count]
4   before_filter :authenticate_user, :only => [:index, :new, :edit, :create, :update, :destroy]
5   before_filter :authenticate_artist, :only => [:index, :new, :edit, :create, :update, :destroy]
6   
7   def self.model
8     OriginalPicture
9   end
10   
11   def index
12     filer_list
13   end
14
15   def show_html_format format
16     format.html {
17       #ライセンス付与のために原画ライセンスグループ作成準備
18       @original_picture_license_group  = OriginalPictureLicenseGroup.new :original_picture_id => @item.id
19       render
20     }
21   end
22   
23   def show
24     set_show
25     respond_to do |format|
26       opt = {:type => @item.mime_type, :disposition=>"inline"}
27       format.png { send_data(@item.restore(params[:subdir]), opt ) }
28       format.gif { send_data(@item.restore(params[:subdir]), opt ) }
29       format.jpeg { send_data(@item.restore(params[:subdir]), opt ) }
30       show_html_format format
31       show_prof_format format
32       show_json_format format
33     end
34   end
35
36   def history
37     set_show
38     @history = @item.history
39     
40     respond_to do |format|
41       format.html
42       format.json { render json: @history.to_json }
43     end
44   end
45   
46   def count
47     list_count
48   end
49   
50   def new
51     set_new
52     respond_to do |format|
53       format.html
54       format.json { render json: @item.to_json }
55     end
56   end
57   
58   def edit
59     set_edit
60     respond_to do |format|
61       format.html
62       format.json { render json: @item.to_json }
63     end
64   end
65   
66   def create
67     set_model
68     @imager = if params[:original_picture]
69       PettanImager.load set_image params[:original_picture][:file]
70     else
71       nil
72     end
73     @item = OriginalPicture.new
74     @item.supply_default
75     @item.overwrite @operators
76     
77     respond_to do |format|
78       if @item.store(@imager)
79         created_html_format format
80         created_json_format format
81       else
82         not_created_html_format format
83         not_created_json_format format
84       end
85     end
86   end
87   
88   def update
89     set_model
90     @imager = if params[:original_picture]
91       PettanImager.load set_image params[:original_picture][:file]
92     else
93       nil
94     end
95     @item = OriginalPicture.edit(params[:id], @operators)
96     @item.overwrite @operators
97     
98     respond_to do |format|
99       if @item.store(@imager)
100         updated_html_format format
101         updated_json_format format
102       else
103         not_updated_html_format format
104         not_updated_json_format format
105       end
106     end
107   end
108   
109   def destroy
110     @item = OriginalPicture.edit(params[:id], @operators)
111     
112     respond_to do |format|
113       if @item.destroy_with_resource_picture
114         format.html { redirect_to original_pictures_url }
115         format.json { head :ok }
116       else
117         format.html { redirect_to original_picture_path(@item) }
118         format.json { render json: @item.errors, status: :unprocessable_entity }
119       end
120     end
121   end
122 end