X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fmodels%2Fprovider_original_picture.rb;h=de173fbf34f9f40e533f2d98d6dbb0e13ba59950;hb=63ecce87bad492d32f35eff334989bf2c1b60f64;hp=78e8f1c12e4fb34acb4e562a9281773e8da8998c;hpb=135599effaad9a0b15ad52e46355e885ec0ddc94;p=pettanr%2Fpettanr.git diff --git a/app/models/provider_original_picture.rb b/app/models/provider_original_picture.rb index 78e8f1c1..de173fbf 100644 --- a/app/models/provider_original_picture.rb +++ b/app/models/provider_original_picture.rb @@ -166,17 +166,24 @@ class ProviderOriginalPicture < ActiveRecord::Base end def self.import pid, original_pictures, pictures - res = {:original_pictures => [], :pictures => [], :resource_pictures => []} + res = nil ProviderOriginalPicture.transaction do r = ProviderOriginalPicture.import_original_pictures(pid, original_pictures) - res[:original_pictures] = r - raise ActiveRecord::Rollback if r.any? + if r.any? + res = OriginalPictureImportResult.new r + raise ActiveRecord::Rollback + end r = ProviderOriginalPicture.import_pictures(pid, pictures) - res[:pictures] = r - raise ActiveRecord::Rollback if r.any? + if r.any? + res = PictureImportResult.new r + raise ActiveRecord::Rollback + end r = ProviderOriginalPicture.import_resource_pictures(pid, original_pictures) - res[:resource_pictures] = r - raise ActiveRecord::Rollback if r.any? + if r.any? + res = ResourcePictureImportResult.new r + raise ActiveRecord::Rollback + end + res = OriginalPictureImportResult.new [] end res end