OSDN Git Service

v07
[pettanr/pettanr.git] / app / models / original_picture_license_group.rb
1 class OriginalPictureLicenseGroup < Peta::Item
2   load_manifest
3   belongs_to :original_picture
4   belongs_to :license_group
5   
6   validates :original_picture_id, :presence => true, :numericality => true, :existence => {:both => false}
7   validates :license_group_id, :presence => true, :numericality => true, :existence => {:both => false}
8   
9   def supply_default oid
10     self.original_picture_id = oid
11     self.license_group_id = nil
12   end
13   
14   def self.build_original_picture_license oplg, license_id, operators
15     my_model_class = OriginalPictureLicense
16     
17     original_picture = OriginalPicture.show oplg.original_picture_id, operators
18     license_group = LicenseGroup.show oplg.license_group_id
19     attr = {
20       :original_picture_id => original_picture.id,
21       :license_group_id => license_group.id,
22       :license_id => license_id,
23       :license_group_module_name => license_group.module_name
24     }
25     opl = my_model_class.new 
26     opl.attributes = attr
27     opl.boosts 'post'
28     # rare case of supply_default
29     # Attribute need artist name by @operators  
30     opl.boosters.each do |boost_name, booster|
31       booster.extend_item.supply_default operators
32     end
33     opl
34   end
35   
36 end