OSDN Git Service

t#32402:add file prof
[pettanr/pettanr.git] / app / models / sheet.rb
index f16d8ee..c891593 100644 (file)
@@ -69,6 +69,9 @@ class Sheet < ActiveRecord::Base
     visible? au
   end
   
+  def symbol_filename
+  end
+  
   def tag_id
     'sheet' + self.tag_sheet_id
   end
@@ -283,6 +286,7 @@ class Sheet < ActiveRecord::Base
     Sheet.transaction do
       self.sheet_elements.each do |elm|
         elm.new_sheet = self
+        elm.boost au
       end
       res = self.save
       unless validate_child
@@ -326,10 +330,28 @@ class Sheet < ActiveRecord::Base
     r
   end
   
+  def copyable?
+    r = true
+    Sheet.each_element_class_names do |n|
+      self.elements_by_class_name(n).each do |elm|
+        next if elm.copyable?
+        r = false
+        break
+      end
+      break unless r
+    end
+    r
+  end
+  
   def copy
     attr = self.copy_attributes
     Sheet.each_element_class_names do |n|
-      attr.merge! Sheet.class_name_to_class(n).panelize(self.elements_by_class_name(n).map {|elm|  elm.copy_attributes})
+      element_attr = Sheet.class_name_to_class(n).panelize(
+        self.elements_by_class_name(n).map {|elm|
+          elm.copy_attributes.merge elm.panel_attributes
+        }
+      )
+      attr.merge! element_attr
     end
     attr
   end