OSDN Git Service

add: license publisher
[pettanr/pettanr.git] / app / models / original_picture.rb
index 6cb16a1..65d99d1 100644 (file)
@@ -4,6 +4,7 @@ class OriginalPicture < Peta::Content
   belongs_to :original_picture_license_group
   has_one :resource_picture
   has_many :pictures
+  has_many :resource_picture_pictures
   
   validates :ext, :presence => true, :length => {:maximum => 4}, :inclusion => {:in => ['png', 'jpeg', 'gif']}
   validates :width, :presence => true, :numericality => true, :natural_number => true
@@ -50,6 +51,10 @@ class OriginalPicture < Peta::Content
     self.tmb_opt_img_tag
   end
   
+  def filer_caption
+    self.revision
+  end
+  
   def revision
     head = self.history.first
     head ? head.revision : 'unpublished'
@@ -142,6 +147,11 @@ class OriginalPicture < Peta::Content
       self.pictures.each do |picture|
         res = picture.unpublish
         raise ActiveRecord::Rollback unless res
+        if picture.resource_picture_picture
+          picture.resource_picture_picture.original_picture_id = nil
+          picture.resource_picture_picture.resource_picture_id = nil
+          raise ActiveRecord::Rollback unless picture.resource_picture_picture.save
+        end
       end
       res = self.destroy
       raise ActiveRecord::Rollback unless res
@@ -155,7 +165,7 @@ class OriginalPicture < Peta::Content
     lg = l.license_group
     attr[:license_id] = l.id
     
-    ctl = lg.classname.pluralize + '::Attribute'
+    ctl = lg.module_name.pluralize + '::Attribute'
     le = ctl.constantize.new attr
     
     rp = ResourcePicture.new