From c3fa55e6c6db7f504d0e15c014be19122604f585 Mon Sep 17 00:00:00 2001 From: yasushiito Date: Sun, 31 Mar 2013 14:39:45 +0900 Subject: [PATCH] t#31056:add diff import --- app/controllers/application_controller.rb | 5 +- app/controllers/provider_statuses_controller.rb | 1 - app/models/provider_status.rb | 8 +- .../provider_statuses/_artists_errors.html.erb | 18 +++++ .../provider_statuses/_licenses_errors.html.erb | 19 +++++ .../_original_pictures_errors.html.erb | 23 ++++++ .../provider_statuses/_pictures_errors.html.erb | 31 ++++++++ .../_resource_pictures_errors.html.erb | 31 ++++++++ .../provider_statuses/artists_import.html.erb | 19 +---- app/views/provider_statuses/import.html.erb | 20 +++++ .../provider_statuses/licenses_import.html.erb | 20 +---- .../original_pictures_import.html.erb | 88 +--------------------- app/views/provider_statuses/show.html.erb | 2 +- config/locales/pettanr.ja.yml | 4 + 14 files changed, 159 insertions(+), 130 deletions(-) create mode 100644 app/views/provider_statuses/_artists_errors.html.erb create mode 100644 app/views/provider_statuses/_licenses_errors.html.erb create mode 100644 app/views/provider_statuses/_original_pictures_errors.html.erb create mode 100644 app/views/provider_statuses/_pictures_errors.html.erb create mode 100644 app/views/provider_statuses/_resource_pictures_errors.html.erb create mode 100644 app/views/provider_statuses/import.html.erb diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index ddc723e7..0f3fadef 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -114,8 +114,9 @@ class ApplicationController < ActionController::Base def export_url demander_url, action, token, date u = demander_url + (demander_url[-1] == '/' ? '' : '/') - u = URI.join(u, action + '.json?auth_token=' + token) - u = URI.join(u, '&date=' + date) unless date.blank? + prm = '?auth_token=' + token + prm = prm + '&date=' + date.strftime("%Y%m%d") unless date.blank? + u = URI.join(u, action + '.json' + prm) u.to_s end diff --git a/app/controllers/provider_statuses_controller.rb b/app/controllers/provider_statuses_controller.rb index 241917cd..e55c673c 100644 --- a/app/controllers/provider_statuses_controller.rb +++ b/app/controllers/provider_statuses_controller.rb @@ -130,7 +130,6 @@ class ProviderStatusesController < ApplicationController @provider_status = ProviderStatus.show(params[:id], @admin) raise ActiveRecord::Forbidden if @provider_status.status == 0 @failures = port - p @failures respond_to do |format| format.html # show.html.erb format.json { render :json => @failures.to_json() } diff --git a/app/models/provider_status.rb b/app/models/provider_status.rb index ae0cc113..568bbb61 100644 --- a/app/models/provider_status.rb +++ b/app/models/provider_status.rb @@ -116,12 +116,12 @@ class ProviderStatus < ActiveRecord::Base def self.import pid, exports res = {} ProviderStatus.transaction do - res[:licenses] = ProviderLicense.import @provider_status.provider.id, exports['licenses'] + res[:licenses] = ProviderLicense.import pid, exports['licenses'] raise ActiveRecord::Rollback if res[:licenses].any? - res[:artists] = ProviderArtist.import @provider_status.provider.id, exports['artists'] + res[:artists] = ProviderArtist.import pid, exports['artists'] raise ActiveRecord::Rollback if res[:artists].any? - res[:original_pictures] = ProviderOriginalPicture.import @provider_status.provider.id, exports['original_pictures'] - raise ActiveRecord::Rollback if res[:original_pictures].any? + res[:original_pictures] = ProviderOriginalPicture.import pid, exports['original_pictures'], exports['pictures'] + raise ActiveRecord::Rollback if res[:original_pictures][:original_pictures].any? or res[:original_pictures][:resource_pictures].any? or res[:original_pictures][:pictures].any? end res end diff --git a/app/views/provider_statuses/_artists_errors.html.erb b/app/views/provider_statuses/_artists_errors.html.erb new file mode 100644 index 00000000..a8e2fb77 --- /dev/null +++ b/app/views/provider_statuses/_artists_errors.html.erb @@ -0,0 +1,18 @@ +

+ <%= t('provider_statuses.artists_import.fail', :size => failures.size) %> +

+ + + + + <% failures.each do |artist| %> + + + + + <% end %> +
<%= t_m 'Artist.name' -%>
+ <%= h(artist['name']) %> + + <%= h(artist) %> +
diff --git a/app/views/provider_statuses/_licenses_errors.html.erb b/app/views/provider_statuses/_licenses_errors.html.erb new file mode 100644 index 00000000..894b2f49 --- /dev/null +++ b/app/views/provider_statuses/_licenses_errors.html.erb @@ -0,0 +1,19 @@ +

+ <%= t('provider_statuses.licenses_import.fail', :size => failures.size) %> +

+ + + + + + <% failures.each do |license| %> + + + + + <% end %> +
<%= t_m 'License.caption' -%><%= t_m 'License.name' -%>
+ <%= link_to h(license['caption']), license['url'] %> + + <%= h(license['name']) %> +
diff --git a/app/views/provider_statuses/_original_pictures_errors.html.erb b/app/views/provider_statuses/_original_pictures_errors.html.erb new file mode 100644 index 00000000..ba5dd403 --- /dev/null +++ b/app/views/provider_statuses/_original_pictures_errors.html.erb @@ -0,0 +1,23 @@ +

+ <%= t('provider_statuses.original_pictures_import.fail', :size => failures.size) %> +

+ + + + + + + <% failures.each do |original_picture| %> + + + + + + <% end %> +
<%= t_m 'OriginalPicture.id' -%><%= t_m 'OriginalPicture.artist_id' -%><%= t_m 'OriginalPicture.md5' -%>
+ <%= h(original_picture['id']) %> + + <%= h(original_picture['artist_id']) %> + + <%= h(original_picture['md5']) %> +
diff --git a/app/views/provider_statuses/_pictures_errors.html.erb b/app/views/provider_statuses/_pictures_errors.html.erb new file mode 100644 index 00000000..9dcbf054 --- /dev/null +++ b/app/views/provider_statuses/_pictures_errors.html.erb @@ -0,0 +1,31 @@ +

+ <%= t('provider_statuses.pictures_import.fail', :size => failures.size) %> +

+ + + + + + + + + <% failures.each do |picture| %> + + + + + + + + <% end %> +
<%= t_m 'Picture.id' -%><%= t_m 'Picture.original_picture_id' -%><%= t_m 'Picture.revision' -%><%= t_m 'Picture.artist_id' -%><%= t_m 'Picture.md5' -%>
+ <%= h(picture['id']) %> + + <%= h(picture['original_picture_id']) %> + + <%= h(picture['revision']) %> + + <%= h(picture['artist_id']) %> + + <%= h(picture['md5']) %> +
diff --git a/app/views/provider_statuses/_resource_pictures_errors.html.erb b/app/views/provider_statuses/_resource_pictures_errors.html.erb new file mode 100644 index 00000000..ebd88aa9 --- /dev/null +++ b/app/views/provider_statuses/_resource_pictures_errors.html.erb @@ -0,0 +1,31 @@ +

+ <%= t('provider_statuses.resource_pictures_import.fail', :size => failures.size) %> +

+ + + + + + + + + <% failures.each do |resource_picture| %> + + + + + + + + <% end %> +
<%= t_m 'ResourcePicture.id' -%><%= t_m 'ResourcePicture.original_picture_id' -%><%= t_m 'ResourcePicture.picture_id' -%><%= t_m 'ResourcePicture.artist_id' -%><%= t_m 'ResourcePicture.md5' -%>
+ <%= h(resource_picture['id']) %> + + <%= h(resource_picture['original_picture_id']) %> + + <%= h(resource_picture['picture_id']) %> + + <%= h(resource_picture['artist_id']) %> + + <%= h(resource_picture['md5']) %> +
diff --git a/app/views/provider_statuses/artists_import.html.erb b/app/views/provider_statuses/artists_import.html.erb index 1009327f..d89a6cfb 100644 --- a/app/views/provider_statuses/artists_import.html.erb +++ b/app/views/provider_statuses/artists_import.html.erb @@ -8,23 +8,6 @@ <%= t('provider_statuses.artists_import.success') %> <% else %> -

- <%= t('provider_statuses.artists_import.fail', :size => @failures.size) %> -

- - - - - <% @failures.each do |artist| %> - - - - - <% end %> -
<%= t_m 'Artist.name' -%>
- <%= h(artist['name']) %> - - <%= h(artist) %> -
+ <%= render 'artists_errors', :failures => @failures %> <%= link_to t('provider_statuses.artists_import.to_show'), provider_status_path(@provider_status) %> <% end %> diff --git a/app/views/provider_statuses/import.html.erb b/app/views/provider_statuses/import.html.erb new file mode 100644 index 00000000..2f382788 --- /dev/null +++ b/app/views/provider_statuses/import.html.erb @@ -0,0 +1,20 @@ +

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

+

<%= notice %>

+ +<% if @failures == nil %> +

No Response

+<% elsif @failures[:licenses].any? %> + <%= render 'licenses_errors', :failures => @failures[:licenses] %> +<% elsif @failures[:artists].any? %> + <%= render 'artists_errors', :failures => @failures[:artists] %> +<% elsif @failures[:original_pictures][:original_pictures].any? %> + <%= render 'original_pictures_errors', :failures => @failures[:original_pictures][:original_pictures] %> +<% elsif @failures[:original_pictures][:pictures].any? %> + <%= render 'pictures_errors', :failures => @failures[:original_pictures][:pictures] %> +<% elsif @failures[:original_pictures][:resource_pictures].any? %> + <%= render 'resource_pictures_errors', :failures => @failures[:original_pictures][:resource_pictures] %> +<% else %> +

+ <%= t('provider_statuses.import.success') %> +

+<% end %> diff --git a/app/views/provider_statuses/licenses_import.html.erb b/app/views/provider_statuses/licenses_import.html.erb index 90e20223..f1203867 100644 --- a/app/views/provider_statuses/licenses_import.html.erb +++ b/app/views/provider_statuses/licenses_import.html.erb @@ -8,24 +8,6 @@ <%= t('provider_statuses.licenses_import.success') %> <% else %> -

- <%= t('provider_statuses.licenses_import.fail', :size => @failures.size) %> -

- - - - - - <% @failures.each do |license| %> - - - - - <% end %> -
<%= t_m 'License.caption' -%><%= t_m 'License.name' -%>
- <%= link_to h(license['caption']), license['url'] %> - - <%= h(license['name']) %> -
+ <%= render 'licenses_errors', :failures => @failures %> <%= link_to t('provider_statuses.licenses_import.to_show'), provider_status_path(@provider_status) %> <% end %> diff --git a/app/views/provider_statuses/original_pictures_import.html.erb b/app/views/provider_statuses/original_pictures_import.html.erb index 728d7fd2..23bdd04b 100644 --- a/app/views/provider_statuses/original_pictures_import.html.erb +++ b/app/views/provider_statuses/original_pictures_import.html.erb @@ -4,95 +4,13 @@ <% if @failures == nil %>

No Response

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

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

- - - - - - - <% @failures[:original_pictures].each do |original_picture| %> - - - - - - <% end %> -
<%= t_m 'OriginalPicture.id' -%><%= t_m 'OriginalPicture.artist_id' -%><%= t_m 'OriginalPicture.md5' -%>
- <%= h(original_picture['id']) %> - - <%= h(original_picture['artist_id']) %> - - <%= h(original_picture['md5']) %> -
+ <%= render 'original_pictures_errors', :failures => @failures[:original_pictures] %> <%= link_to t('provider_statuses.original_pictures_import.to_show'), provider_status_path(@provider_status) %> <% elsif @failures[:pictures].any? %> -

- <%= t('provider_statuses.pictures_import.fail', :size => @failures[:pictures].size) %> -

- - - - - - - - - <% @failures[:pictures].each do |picture| %> - - - - - - - - <% end %> -
<%= t_m 'Picture.id' -%><%= t_m 'Picture.original_picture_id' -%><%= t_m 'Picture.revision' -%><%= t_m 'Picture.artist_id' -%><%= t_m 'Picture.md5' -%>
- <%= h(picture['id']) %> - - <%= h(picture['original_picture_id']) %> - - <%= h(picture['revision']) %> - - <%= h(picture['artist_id']) %> - - <%= h(picture['md5']) %> -
+ <%= render 'pictures_errors', :failures => @failures[:pictures] %> <%= link_to t('provider_statuses.original_pictures_import.to_show'), provider_status_path(@provider_status) %> <% elsif @failures[:resource_pictures].any? %> -

- <%= t('provider_statuses.resource_pictures_import.fail', :size => @failures[:resource_pictures].size) %> -

- - - - - - - - - <% @failures[:resource_pictures].each do |resource_picture| %> - - - - - - - - <% end %> -
<%= t_m 'ResourcePicture.id' -%><%= t_m 'ResourcePicture.original_picture_id' -%><%= t_m 'ResourcePicture.picture_id' -%><%= t_m 'ResourcePicture.artist_id' -%><%= t_m 'ResourcePicture.md5' -%>
- <%= h(resource_picture['id']) %> - - <%= h(resource_picture['original_picture_id']) %> - - <%= h(resource_picture['picture_id']) %> - - <%= h(resource_picture['artist_id']) %> - - <%= h(resource_picture['md5']) %> -
+ <%= render 'resource_pictures_errors', :failures => @failures[:resource_pictures] %> <%= link_to t('provider_statuses.original_pictures_import.to_show'), provider_status_path(@provider_status) %> <% else %>

diff --git a/app/views/provider_statuses/show.html.erb b/app/views/provider_statuses/show.html.erb index 34341389..4df99add 100644 --- a/app/views/provider_statuses/show.html.erb +++ b/app/views/provider_statuses/show.html.erb @@ -35,7 +35,7 @@

<%= t('provider_statuses.show.import') %>

<%= form_tag( :action => :import, :id => @provider_status.id) do %> - date: <%= text_field_tag "date" %> YYYYMMDD + date: <%= text_field_tag "date", (Time.now - 1.day).strftime("%Y%m%d") %> YYYYMMDD <%= submit_tag t('provider_statuses.show.import') -%> <% end %>

diff --git a/config/locales/pettanr.ja.yml b/config/locales/pettanr.ja.yml index 9ba7b31f..39a025a8 100644 --- a/config/locales/pettanr.ja.yml +++ b/config/locales/pettanr.ja.yml @@ -796,6 +796,10 @@ ja: fail: 次の実素材(%{size}件)でエラーがありました。 resource_pictures_import: fail: 次の素材(%{size}件)でエラーがありました。 + import: + title: インポート + success: インポートが完了しました + to_show: 借受状況を表示する status: 状態 open: 開く to_provider: 貸手に切り替える -- 2.11.0