OSDN Git Service

add Picture
[pettanr/pettanr.git] / app / controllers / resource_pictures_controller.rb
1 class ResourcePicturesController < ApplicationController
2   before_filter :authenticate_user!, :only => [:index, :show, :new, :create]
3   before_filter :authenticate_admin!, :only => [:list, :browse]
4
5   # GET /resource_pictures
6   # GET /resource_pictures.json
7   def index
8     @page = ResourcePicture.page params[:page]
9     @page_size = ResourcePicture.page_size params[:page_size]
10     @resource_pictures = ResourcePicture.list({}, @page, @page_size)
11
12     respond_to do |format|
13       format.html # index.html.erb
14       format.json { render :json => @resource_pictures.to_json(ResourcePicture.list_json_opt) }
15     end
16   end
17
18   # GET /resource_pictures/1
19   # GET /resource_pictures/1.json
20   def show
21     @resource_picture = ResourcePicture.show(params[:id])
22
23     respond_to do |format|
24       opt = {:type => @resource_picture.mime_type, :disposition=>"inline"}
25       format.png { send_data(@resource_picture.restore(params[:subdir]), opt ) }
26       format.gif { send_data(@resource_picture.restore(params[:subdir]), opt ) }
27       format.jpeg { send_data(@resource_picture.restore(params[:subdir]), opt ) }
28       format.html # show.html.erb
29       format.json { render :json => @resource_picture.to_json(ResourcePicture.list_json_opt)}
30     end
31   end
32   
33   def new
34     @original_picture = OriginalPicture.show params[:original_picture_id], @artist
35     @original_picture_license_group = OriginalPictureLicenseGroup.new params[:original_picture_license_group]
36     @license_group = LicenseGroup.show @original_picture_license_group.license_group_id
37     @resource_picture = ResourcePicture.new params[:resource_picture]
38     
39     respond_to do |format|
40       format.html # new.html.erb
41       format.js
42     end
43   end
44   
45   def create
46     @original_picture = OriginalPicture.show params[:original_picture_id], @artist
47     @original_picture_license_group = OriginalPictureLicenseGroup.new params[:original_picture_license_group]
48     @license_group = LicenseGroup.show @original_picture_license_group.license_group_id
49     @resource_picture = ResourcePicture.new params[:resource_picture]
50
51     respond_to do |format|
52       if @resource_picture.store
53         format.html { render :template => "resource_pictures/new" }
54         format.js { render :template => "resource_pictures/new" }
55       else
56         format.html { render action: "new" }
57         format.js { render action: "new" }
58       end
59     end
60   end
61   def count
62     @resource_picture = {:count => ResourcePicture.visible_count}
63     respond_to do |format|
64       format.json { render json: @resource_picture.to_json }
65     end
66   end
67   
68   def list
69     @resource_pictures = ResourcePicture.all
70
71     respond_to do |format|
72       format.html { render layout: 'system' }
73       format.json { render json: @resource_pictures }
74     end
75   end
76
77   def browse
78     @resource_picture = ResourcePicture.find(params[:id])
79
80     respond_to do |format|
81       format.html { render layout: 'system' }
82       format.json { render json: @resource_picture }
83     end
84   end
85
86 end