OSDN Git Service

t#30328:add export
[pettanr/pettanr.git] / app / controllers / demanders_controller.rb
1 class DemandersController < ApplicationController
2   layout 'test' if MagicNumber['test_layout']
3   before_filter :authenticate_demand_user!, :only => [:index, :show, :new, :create, :edit, :update, :destroy, :req, :licenses_export, :artists_export, :original_pictures_export, :pictures_export]
4   
5   def index
6     @demander = @demand_user.demander
7     if @demander
8       respond_to do |format|
9         format.html # index.html.erb
10       end
11     else
12       redirect_to new_demander_path, notice: 'Demander not found.'
13     end
14   end
15
16   def show
17     @demander = Demander.show(params[:id], @demand_user)
18
19     respond_to do |format|
20       format.html # show.html.erb
21       format.json { render :json => @demander.to_json(Demander.show_json_opt) }
22     end
23   end
24
25   def new
26     @demander = Demander.new
27     @demander.supply_default
28     respond_to do |format|
29       format.html # new.html.erb
30       format.json { render json: @demander.to_json(Demander.show_json_opt) }
31     end
32   end
33
34   def edit
35     @demander = Demander.edit(params[:id], @demand_user)
36     respond_to do |format|
37       format.html 
38     end
39   end
40
41   def create
42     @demander = Demander.new
43     @demander.supply_default 
44     @demander.attributes = params[:demander]
45     @demander.overwrite @demand_user
46
47     respond_to do |format|
48       if @demander.store
49         format.html { redirect_to @demander, notice: 'Demander was successfully created.' }
50         format.json { render json: @demander.to_json(Demander.show_json_opt), status: :created, location: @demander }
51       else
52         format.html { render action: "new" }
53         format.json { render json: @demander.errors, status: :unprocessable_entity }
54       end
55     end
56   end
57
58   def update
59     @demander = Demander.edit(params[:id], @demand_user)
60     @demander.attributes = params[:demander]
61     @demander.overwrite @demand_user
62     respond_to do |format|
63       if @demander.store
64         format.html { redirect_to @demander, notice: 'Demander was successfully updated.' }
65         format.json { head :ok }
66       else
67         format.html { render action: "edit" }
68         format.json { render json: @demander.errors, status: :unprocessable_entity }
69       end
70     end
71   end
72
73   def req
74     @demander = @demand_user.demander
75     respond_to do |format|
76       if @demander.demander_status.request
77         format.html { redirect_to demanders_path, notice: 'Demander was successfully updated.' }
78         format.json { head :ok }
79       else
80         format.html { redirect_to demanders_path, notice: 'Demander was not successfully updated.' }
81         format.json { render json: @demander.errors, status: :unprocessable_entity }
82       end
83     end
84   end
85
86   def destroy
87     @demander = Demander.edit(params[:id], @demand_user)
88     respond_to do |format|
89       if @demander.stop
90         format.html { redirect_to demanders_url, notice: 'Demander was successfully stopped.' }
91         format.json { head :ok }
92       else
93         format.html { redirect_to demanders_url, notice: 'Demander was not successfully stopped.' }
94         format.json { render json: @demander.errors, status: :unprocessable_entity }
95       end
96     end
97   end
98
99   def licenses_export
100     @demander = @demand_user.demander
101     date = ymd_to_time params[:date]
102     @licenses = @demander.licenses_export(date)
103     respond_to do |format|
104       format.html { render :text  }
105       format.json { render :json => @licenses.to_json }
106     end
107   end
108   
109   def artists_export
110     @demander = @demand_user.demander
111     date = ymd_to_time params[:date]
112     @artists = @demander.artists_export(date)
113     respond_to do |format|
114       format.html { render :text  }
115       format.json { render :json => @artists.to_json }
116     end
117   end
118   
119   def original_pictures_export
120     @demander = @demand_user.demander
121     date = ymd_to_time params[:date]
122     @original_pictures = @demander.original_pictures_export(date)
123     respond_to do |format|
124       format.html { render :text  }
125       format.json { render :json => OriginalPicture.list_as_json_text(@original_pictures) }
126     end
127   end
128   
129   def pictures_export
130     @demander = @demand_user.demander
131     date = ymd_to_time params[:date]
132     @pictures = @demander.pictures_export(date)
133     respond_to do |format|
134       format.html { render :text  }
135       format.json { render :json => Picture.list_as_json_text(@pictures) }
136     end
137   end
138   
139 end