X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fcontrollers%2Fresource_pictures_controller.rb;h=a0847fe5821d39157e26215eb523a60864b7067d;hb=85d27b03ef74a6d4775fc345a9f59c9e1736e7c1;hp=bd6d1c6867d8e1ff517de7b31fcc25e8a97eb6b2;hpb=387de02ada617308cad50c4bd35e8dbb05c28be4;p=pettanr%2Fpettanr.git diff --git a/app/controllers/resource_pictures_controller.rb b/app/controllers/resource_pictures_controller.rb index bd6d1c68..a0847fe5 100644 --- a/app/controllers/resource_pictures_controller.rb +++ b/app/controllers/resource_pictures_controller.rb @@ -1,99 +1,119 @@ class ResourcePicturesController < ApplicationController - layout 'test' if MagicNumber['test_layout'] - if MagicNumber['run_mode'] == 0 + if Manifest.manifest.magic_numbers['run_mode'] == 0 before_filter :authenticate_user, :only => [:new, :create, :update, :destroy] before_filter :authenticate_artist, :only => [:new, :create, :update, :destroy] else - before_filter :authenticate_resource_reader, :only => [:index, :show, :credit] + before_filter :authenticate_resource_reader, :only => [ + :index, :show, :credit, :by_license_group, :by_license, :by_artist, :count, :count_by_license_group, :count_by_license, :count_by_artist + ] before_filter :authenticate_user, :only => [:new, :create, :update, :destroy] before_filter :authenticate_artist, :only => [:new, :create, :update, :destroy] end - before_filter :authenticate_admin!, :only => [:list, :browse] def self.model ResourcePicture end def index - public_list + filer_list end - + + def by_license_group + filer_list + end + + def by_license + filer_list + end + + def by_artist + filer_list + end + + def show_html_format format + format.html { + @item.boosts 'post' + } + end + def show - @item = ResourcePicture.show(params[:id], @operators) - + set_show respond_to do |format| opt = {:type => @item.mime_type, :disposition=>"inline"} format.png { send_data(@item.restore(params[:subdir]), opt ) } format.gif { send_data(@item.restore(params[:subdir]), opt ) } format.jpeg { send_data(@item.restore(params[:subdir]), opt ) } - format.html { - @resource_picture = @item - } - format_prof format - format.json { render :json => @item.to_json(ResourcePicture.show_json_opt)} + show_html_format format + show_prof_format format + show_json_format format end end def credit - @resource_picture = ResourcePicture.show(params[:id], [@user, @admin, @demand_user]) - + @resource_picture = ResourcePicture.show(params[:id], @operators) + respond_to do |format| format.html { render :layout => false } # show.html.erb - format.json { render :json => @resource_picture.to_json(ResourcePicture.show_json_opt)} end end + def count + list_count + end + + def count_by_license_group + list_count + end + + def count_by_license + list_count + end + + def count_by_artist + list_count + end + def new - @original_picture = OriginalPicture.edit params[:original_picture_id], @artist - @imager = PettanImager.load @original_picture.restore - @original_picture_license_group = OriginalPictureLicenseGroup.new params[:original_picture_license_group] - @license_group = LicenseGroup.show @original_picture_license_group.license_group_id - @resource_picture = @original_picture.resource_picture - unless @resource_picture - @resource_picture = ResourcePicture.new - @resource_picture.supply_default - end - @resource_picture.attributes = params[:resource_picture] - @resource_picture.overwrite @original_picture - @license = @resource_picture.license - + # use @item, @original_picture respond_to do |format| - format.html # new.html.erb - format.js + format.html end end def create - @original_picture = OriginalPicture.edit params[:original_picture_id], @artist + @original_picture = OriginalPicture.edit params[:original_picture_id], @operators @imager = PettanImager.load @original_picture.restore - @original_picture_license_group = OriginalPictureLicenseGroup.new params[:original_picture_license_group] - @license_group = LicenseGroup.show @original_picture_license_group.license_group_id - @resource_picture = @original_picture.resource_picture - unless @resource_picture - @resource_picture = ResourcePicture.new - @resource_picture.supply_default + jsn = nil + if params[:json] + jsn = JSON.parse_no_except(params[:json]) end - @resource_picture.attributes = params[:resource_picture] - @resource_picture.overwrite @original_picture - @license = @resource_picture.license - + @prm = if params[:resource_picture] == nil or params[:resource_picture].empty? + jsn + else + params[:resource_picture] + end + @item = @original_picture.resource_picture || ResourcePicture.new + @item.attributes = @prm + @item.overwrite @original_picture + @item.boosts 'post' + respond_to do |format| - if @resource_picture.store(@imager) - format.html { redirect_to @resource_picture } - format.json { render json: @resource_picture.to_json(ResourcePicture.show_json_opt), status: :created, location: @resource_picture } + if @item.store(@imager) + format.html { redirect_to @item } + format.json { render json: @item.to_json, status: :created, location: @item } else format.html { render action: "new" } - format.json { render json: @resource_picture.errors, status: :unprocessable_entity } + format.json { render json: @item.errors, status: :unprocessable_entity } end end end def destroy - @resource_picture = ResourcePicture.edit(params[:id], @artist) + @resource_picture = ResourcePicture.edit(params[:id], @operators) respond_to do |format| if @resource_picture.unpublish - format.html { redirect_to :controller => '/home', :action => :resource_picture } + format.html { redirect_to :controller => '/home', :action => :resource_pictures } format.json { head :ok } else format.html { redirect_to resource_picture_path(@resource_picture) } @@ -109,22 +129,4 @@ class ResourcePicturesController < ApplicationController end end - def list - @resource_pictures = ResourcePicture.all - - respond_to do |format| - format.html { render layout: 'system' } - format.json { render json: @resource_pictures } - end - end - - def browse - @resource_picture = ResourcePicture.find(params[:id]) - - respond_to do |format| - format.html { render layout: 'system' } - format.json { render json: @resource_picture } - end - end - end