OSDN Git Service

t#29400:update artist, author:itr1
[pettanr/pettanr.git] / app / controllers / artists_controller.rb
1 class ArtistsController < ApplicationController
2 layout 'test'
3   before_filter :authenticate_user!, :only => [:index, :show, :new, :create, :edit, :update, :destroy]
4   before_filter :authenticate_admin!, :only => [:list, :browse]
5
6   # GET /artists
7   # GET /artists.json
8   def index
9     @page = Artist.page params[:page]
10     @page_size = Artist.page_size params[:page_size]
11     @artists = Artist.list(@page, @page_size)
12
13     respond_to do |format|
14       format.html # index.html.erb
15       format.json { render :json => @artists.to_json(Artist.list_json_opt) }
16     end
17   end
18
19   # GET /artists/1
20   # GET /artists/1.json
21   def show
22     @artist = Artist.show(params[:id], @author)
23
24     respond_to do |format|
25       format.html # show.html.erb
26       format.json { render :json => @artist.to_json(Artist.show_json_opt) }
27     end
28   end
29
30   def count
31     @artist = {:count => Artist.visible_count}
32     respond_to do |format|
33       format.json { render json: @artist.to_json }
34     end
35   end
36   
37   def list
38     @artists = Artist.all
39
40     respond_to do |format|
41       format.html { render layout: 'system' }
42       format.json { render json: @artists }
43     end
44   end
45
46   def browse
47     @artist = Artist.find(params[:id])
48
49     respond_to do |format|
50       format.html { render layout: 'system' }
51       format.json { render json: @artist }
52     end
53   end
54
55   # GET /artists/new
56   # GET /artists/new.json
57   def new
58     @artist = Artist.new
59     @artist.supply_default 
60
61     respond_to do |format|
62       format.html # new.html.erb
63       format.js
64       format.json { render json: @artist }
65     end
66   end
67
68   # GET /artists/1/edit
69   def edit
70     @artist = Artist.edit(params[:id], @author)
71   end
72
73   # POST /artists
74   # POST /artists.json
75   def create
76     @artist = Artist.new()
77     @artist.supply_default 
78     @artist.attributes = params[:artist]
79     @artist.overwrite @author
80     respond_to do |format|
81       if @artist.save
82         format.html { redirect_to @artist, notice: 'Artist was successfully created.' }
83         format.json { render json: @artist, status: :created, location: @artist }
84       else
85         format.html { render action: "new" }
86         format.json { render json: @artist.errors, status: :unprocessable_entity }
87       end
88     end
89   end
90
91   # PUT /artists/1
92   # PUT /artists/1.json
93   def update
94     @artist = Artist.edit(params[:id], @author)
95     @artist.attributes = params[:artist]
96     @artist.overwrite @author
97
98     respond_to do |format|
99       if @artist.save
100         format.html { redirect_to @artist, notice: 'Artist was successfully updated.' }
101         format.json { head :ok }
102       else
103         format.html { render action: "edit" }
104         format.json { render json: @artist.errors, status: :unprocessable_entity }
105       end
106     end
107   end
108
109   # DELETE /artists/1
110   # DELETE /artists/1.json
111   def destroy
112     @artist = Artist.edit(params[:id], @author)
113     @artist.destroy
114
115     respond_to do |format|
116       format.html { redirect_to artists_url }
117       format.json { head :ok }
118     end
119   end
120 end