OSDN Git Service

fix: fetch fail
[pettanr/pettanr.git] / app / controllers / original_pictures_controller.rb
1 #原画
2 class OriginalPicturesController < ApplicationController
3   before_action :authenticate_reader, :only => [:show, :history]
4   before_action :authenticate_user, :only => [:index, :new, :edit, :create, :update, :destroy]
5   before_action :authenticate_artist, :only => [:index, :new, :edit, :create, :update, :destroy]
6   
7   def index
8     filer_list param: @operators
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     @finder = @my_action.finder(param: params[:id]).page(1).per(-1)
41     
42     respond_to do |format|
43       format.html
44       list_json_format @finder, format
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     @imager = if params[:original_picture]
67       PettanImager.load set_image params[:original_picture][:file]
68     else
69       nil
70     end
71     @item = OriginalPicture.new
72     @item.supply_default
73     @item.overwrite @operators
74     
75     respond_to do |format|
76       if @item.store(@imager)
77         created_html_format format
78         created_json_format format
79       else
80         not_created_html_format format
81         not_created_json_format format
82       end
83     end
84   end
85   
86   def update
87     set_model
88     @imager = if params[:original_picture]
89       PettanImager.load set_image params[:original_picture][:file]
90     else
91       nil
92     end
93     @item = OriginalPicture.edit(params[:id], @operators)
94     @item.overwrite @operators
95     
96     respond_to do |format|
97       if @item.store(@imager)
98         updated_html_format format
99         updated_json_format format
100       else
101         not_updated_html_format format
102         not_updated_json_format format
103       end
104     end
105   end
106   
107   def destroy
108     set_model
109     @item = @my_model_class.edit(params[:id], @operators)
110     render_destroy_by 'destroy_with_resource_picture', original_pictures_url
111   end
112   
113 end