OSDN Git Service

add: license publisher
[pettanr/pettanr.git] / app / controllers / original_picture_licenses_controller.rb
1 class OriginalPictureLicensesController < ApplicationController
2   before_filter :authenticate_user, :only => [:new, :create]
3   before_filter :authenticate_artist, :only => [:new, :create]
4   
5   def new
6     # use @item, @original_picture, @form
7     
8     respond_to do |format|
9       format.html
10     end
11   end
12   
13   def create
14     @my_model_class = OriginalPictureLicense
15     
16     @item = @my_model_class.new
17     @my_model_class.fold_extend_settings params[@my_model_class.item_name]
18     @item.attributes = params[@my_model_class.item_name]
19     @item.overwrite 
20     @item.boosts 'post'
21     @original_picture = OriginalPicture.show @item.original_picture, @operators
22     
23     if @item.valid?
24       # switch my_model_class
25       @item = OriginalPictureLicense.build_resource_picture @item, @original_picture, params[@my_model_class.item_name]
26       respond_to do |format|
27         format.html {
28           render main_app.new_resource_picture_path
29         }
30         format.json {
31           r = {
32             :item => @item,
33             :credits => render_to_string('credits', :formats => :html, :layout => false)
34           }
35           render json: r.to_json, status: :created
36         }
37       end
38     else
39       respond_to do |format|
40         format.html {
41           @form = Locmare::Bucket.factory @item.item_name, 'default', @item, true, true, @operators
42           render action: "new"
43         }
44         format.json {
45           render json: @item.errors, status: :unprocessable_entity
46         }
47       end
48     end
49   end
50 end