OSDN Git Service

fix: racer
[pettanr/pettanr.git] / app / models / original_picture_license_group.rb
index 5d86c5b..f040b62 100644 (file)
@@ -1,12 +1,36 @@
-class OriginalPictureLicenseGroup < ActiveRecord::Base
+class OriginalPictureLicenseGroup < Peta::Item
+  load_manifest
   belongs_to :original_picture
   belongs_to :license_group
   
-  validates :original_picture_id, :presence => true, :numericality => true, :existence => true
-  validates :license_group_id, :presence => true, :numericality => true, :existence => true
+  validates :original_picture_id, :presence => true, :numericality => true, :existence => {:both => false}
+  validates :license_group_id, :presence => true, :numericality => true, :existence => {:both => false}
   
   def supply_default oid
     self.original_picture_id = oid
+    self.license_group_id = nil
+  end
+  
+  def self.build_original_picture_license oplg, license_id, operators
+    my_model_class = OriginalPictureLicense
+    
+    original_picture = OriginalPicture.show oplg.original_picture_id, operators
+    license_group = LicenseGroup.show oplg.license_group_id
+    attr = {
+      :original_picture_id => original_picture.id,
+      :license_group_id => license_group.id,
+      :license_id => license_id,
+      :license_group_module_name => license_group.module_name
+    }
+    opl = my_model_class.new 
+    opl.attributes = attr
+    opl.boosts 'post'
+    # rare case of supply_default
+    # Attribute need artist name by @operators  
+    opl.boosters.each do |boost_name, booster|
+      booster.extend_item.supply_default operators
+    end
+    opl
   end
   
 end