OSDN Git Service

fix form extend
[pettanr/pettanr.git] / lib / peta / item.rb
index 91bee15..0a3ba0b 100644 (file)
@@ -76,6 +76,10 @@ module Peta
       self.plural.underscore
     end
     
+    def self.find_boost_name column_name
+      self.my_peta.find_boost_name column_name
+    end
+    
     def self.extend_column? column_name
       self.my_peta.extend_column? column_name
     end
@@ -164,14 +168,18 @@ module Peta
     
     def boosts level
       self.class.my_peta.boost.each do |boost_name, boost_manifest|
-        next unless boost_manifest.level == level
+        next if level == 'read' and boost_manifest.level == 'post'
         self.boost boost_manifest
       end
     end
     
     def boost boost_manifest
       @boosters ||= {}
-      @boosters[boost_manifest.name] = Locmare::Booster.new(boost_manifest, self)
+      @boosters[boost_manifest.name] ||= Locmare::Booster.new(boost_manifest, self)
+    end
+    
+    def boosters
+      @boosters
     end
     
     def extend_column? column_name
@@ -185,7 +193,7 @@ module Peta
     def overwrite 
     end
     
-    def visible? operators
+    def user_visible? operators
       if Manifest.manifest.magic_numbers['run_mode'] == 0
         return false unless operators.guest?
       else
@@ -194,6 +202,11 @@ module Peta
       true
     end
     
+    def visible? operators
+      return false unless self.user_visible? operators
+      true
+    end
+    
     def editize?
       self.respond_to? :editor
     end