OSDN Git Service

t#30339:test
[pettanr/pettanr.git] / app / models / provider_original_picture.rb
index 86e6df2..0710d47 100644 (file)
@@ -63,15 +63,29 @@ class ProviderOriginalPicture < ActiveRecord::Base
     end
   end
   
+  def self.unpublish_resource_picture provider_original_picture, providers_original_picture_attr
+    res = true
+    resource_picture = if provider_original_picture.original_picture and provider_original_picture.original_picture.resource_picture
+      provider_original_picture.original_picture.resource_picture
+    else
+      nil
+    end
+    if providers_original_picture_attr['stopped_at'] and resource_picture
+      res = resource_picture.unpublish
+    end
+    res
+  end
+  
   def self.import_original_picture pid, providers_original_picture_attr
     return providers_original_picture_attr unless ProviderOriginalPicture.replace_artist(pid, providers_original_picture_attr)
     provider_original_picture = ProviderOriginalPicture.get_one(pid, providers_original_picture_attr['id'])
     popid = providers_original_picture_attr['id']
     providers_original_picture_attr.delete 'id'
-    resource_picture = providers_original_picture_attr['resource_picture']
+#    resource_picture = providers_original_picture_attr['resource_picture']
     providers_original_picture_attr.delete 'resource_picture'
+    return providers_original_picture_attr unless ProviderOriginalPicture.unpublish_resource_picture provider_original_picture, providers_original_picture_attr
     demander_original_picture = provider_original_picture.modify_original_picture providers_original_picture_attr
-    providers_original_picture_attr['resource_picture'] = resource_picture
+#    providers_original_picture_attr['resource_picture'] = resource_picture
     return providers_original_picture_attr unless demander_original_picture.valid?
     provider_original_picture.attributes = {:provider_id => pid, :providers_original_picture_id => popid, :demanders_original_picture_id => demander_original_picture.id}
     return providers_original_picture_attr unless provider_original_picture.save
@@ -81,9 +95,9 @@ class ProviderOriginalPicture < ActiveRecord::Base
   def self.import_original_pictures pid, providers_original_pictures
     res = []
     providers_original_pictures.each do |providers_original_picture_attr|
-      org_attr = providers_original_picture_attr.dup
-      if r = ProviderOriginalPicture.import_original_picture(pid, providers_original_picture_attr)
-        res << org_attr
+      tmp_attr = providers_original_picture_attr.dup
+      if r = ProviderOriginalPicture.import_original_picture(pid, tmp_attr)
+        res << providers_original_picture_attr
       end
     end
     res
@@ -107,9 +121,9 @@ class ProviderOriginalPicture < ActiveRecord::Base
   def self.import_pictures pid, providers_pictures
     res = []
     providers_pictures.each do |providers_picture_attr|
-      org_attr = providers_picture_attr.dup
-      if r = ProviderOriginalPicture.import_picture(pid, providers_picture_attr)
-        res << org_attr
+      tmp_attr = providers_picture_attr.dup
+      if r = ProviderOriginalPicture.import_picture(pid, tmp_attr)
+        res << providers_picture_attr
       end
     end
     res
@@ -135,9 +149,10 @@ class ProviderOriginalPicture < ActiveRecord::Base
     res = []
     providers_original_pictures.each do |providers_original_picture_attr|
       providers_resource_picture_attr = providers_original_picture_attr['resource_picture']
-      org_attr = providers_resource_picture_attr.dup
-      if r = ProviderOriginalPicture.import_resource_picture(pid, providers_resource_picture_attr)
-        res << org_attr
+      next nil unless providers_resource_picture_attr
+      tmp_attr = providers_resource_picture_attr.dup
+      if r = ProviderOriginalPicture.import_resource_picture(pid, tmp_attr)
+        res << providers_resource_picture_attr
       end
     end
     res