OSDN Git Service

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