From: yasushiito Date: Mon, 21 Jan 2013 02:33:36 +0000 (+0900) Subject: t#30487:fix export error X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=refs%2Fheads%2Fv05port;p=pettanr%2Fpettanr.git t#30487:fix export error --- diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 35352323..c907a510 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -108,8 +108,13 @@ class ApplicationController < ActionController::Base end def export_from_provider url - json = RestClient.get url - JSON.parse json + res = nil + begin + json = RestClient.get url + res = JSON.parse json + rescue + end + res end def export_by action, provider_status, ymd diff --git a/app/controllers/provider_statuses_controller.rb b/app/controllers/provider_statuses_controller.rb index e40643a9..0e865e09 100644 --- a/app/controllers/provider_statuses_controller.rb +++ b/app/controllers/provider_statuses_controller.rb @@ -1,7 +1,31 @@ class ProviderStatusesController < ApplicationController layout 'test' if MagicNumber['test_layout'] before_filter :authenticate_admin!, :only => [:index, :show, :edit, :update, :destroy, :licenses_import, :artists_import, :original_pictures_import] - + + private + + def licenses_port + licenses = export_by('licenses_export', @provider_status, params[:date]) + return nil unless licenses + ProviderLicense.import @provider_status.provider.id, licenses + end + + def artists_port + artists = export_by('artists_export', @provider_status, params[:date]) + return nil unless artists + ProviderArtist.import @provider_status.provider.id, artists + end + + def original_pictures_port + original_pictures = export_by('original_pictures_export', @provider_status, params[:date]) + return nil unless original_pictures + pictures = export_by('pictures_export', @provider_status, params[:date]) + return nil unless pictures + ProviderOriginalPicture.import @provider_status.provider.id, original_pictures, pictures + end + + public + def index @page = ProviderStatus.page params[:page] @page_size = ProviderStatus.page_size params[:page_size] @@ -69,9 +93,7 @@ class ProviderStatusesController < ApplicationController def licenses_import @provider_status = ProviderStatus.show(params[:id], @admin) raise ActiveRecord::Forbidden if @provider_status.status == 0 - t = ymd_to_time params[:date] - url = export_url @provider_status.provider.demander_url, 'licenses_export', @provider_status.token, t - @failures = ProviderLicense.import @provider_status.provider.id, export_from_provider(url) + @failures = licenses_port respond_to do |format| format.html # show.html.erb format.json { render :json => @failures.to_json() } @@ -81,9 +103,7 @@ class ProviderStatusesController < ApplicationController def artists_import @provider_status = ProviderStatus.show(params[:id], @admin) raise ActiveRecord::Forbidden if @provider_status.status == 0 - t = ymd_to_time params[:date] - url = export_url @provider_status.provider.demander_url, 'artists_export', @provider_status.token, t - @failures = ProviderArtist.import @provider_status.provider.id, export_from_provider(url) + @failures = artists_port respond_to do |format| format.html # show.html.erb format.json { render :json => @failures.to_json() } @@ -93,9 +113,7 @@ class ProviderStatusesController < ApplicationController def original_pictures_import @provider_status = ProviderStatus.show(params[:id], @admin) raise ActiveRecord::Forbidden if @provider_status.status == 0 - original_pictures = export_by('original_pictures_export', @provider_status, params[:date]) - pictures = export_by('pictures_export', @provider_status, params[:date]) - @failures = ProviderOriginalPicture.import @provider_status.provider.id, original_pictures, pictures + @failures = original_pictures_port respond_to do |format| format.html # show.html.erb format.json { render :json => @failures.to_json() } diff --git a/app/views/provider_statuses/artists_import.html.erb b/app/views/provider_statuses/artists_import.html.erb index 0a0053ad..1009327f 100644 --- a/app/views/provider_statuses/artists_import.html.erb +++ b/app/views/provider_statuses/artists_import.html.erb @@ -1,7 +1,9 @@

<%= t('.title') %>

<%= notice %>

-<% if @failures.empty? %> +<% if @failures == nil %> +

No Response

+<% elsif @failures.empty? %>

<%= t('provider_statuses.artists_import.success') %>

diff --git a/app/views/provider_statuses/licenses_import.html.erb b/app/views/provider_statuses/licenses_import.html.erb index eb414cc3..90e20223 100644 --- a/app/views/provider_statuses/licenses_import.html.erb +++ b/app/views/provider_statuses/licenses_import.html.erb @@ -1,7 +1,9 @@

<%= t('.title') %>

<%= notice %>

-<% if @failures.empty? %> +<% if @failures == nil %> +

No Response

+<% elsif @failures.empty? %>

<%= t('provider_statuses.licenses_import.success') %>

diff --git a/app/views/provider_statuses/original_pictures_import.html.erb b/app/views/provider_statuses/original_pictures_import.html.erb index 5d8d30cf..728d7fd2 100644 --- a/app/views/provider_statuses/original_pictures_import.html.erb +++ b/app/views/provider_statuses/original_pictures_import.html.erb @@ -1,7 +1,9 @@

<%= t('.title') %>

<%= notice %>

-<% if @failures[:original_pictures].any? %> +<% if @failures == nil %> +

No Response

+<% elsif @failures[:original_pictures].any? %>

<%= t('provider_statuses.original_pictures_import.fail', :size => @failures[:original_pictures].size) %>