OSDN Git Service

pass test:resource picture create
[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     @license = @resource_picture.license
39     
40     respond_to do |format|
41       format.html # new.html.erb
42       format.js
43     end
44   end
45   
46   def create
47     @original_picture = OriginalPicture.show params[:original_picture_id], @artist
48     @original_picture_license_group = OriginalPictureLicenseGroup.new params[:original_picture_license_group]
49     @license_group = LicenseGroup.show @original_picture_license_group.license_group_id
50     @resource_picture = ResourcePicture.new params[:resource_picture]
51     @license = @resource_picture.license
52
53     respond_to do |format|
54       if @resource_picture.store
55         format.html { render :template => "resource_pictures/new" }
56         format.js { render :template => "resource_pictures/new" }
57       else
58         format.html { render action: "new" }
59         format.js { render action: "new" }
60       end
61     end
62   end
63   def count
64     @resource_picture = {:count => ResourcePicture.visible_count}
65     respond_to do |format|
66       format.json { render json: @resource_picture.to_json }
67     end
68   end
69   
70   def list
71     @resource_pictures = ResourcePicture.all
72
73     respond_to do |format|
74       format.html { render layout: 'system' }
75       format.json { render json: @resource_pictures }
76     end
77   end
78
79   def browse
80     @resource_picture = ResourcePicture.find(params[:id])
81
82     respond_to do |format|
83       format.html { render layout: 'system' }
84       format.json { render json: @resource_picture }
85     end
86   end
87
88 end