OSDN Git Service

fix read permission for element
[pettanr/pettanr.git] / lib / peta / element.rb
index 5f9f9e5..6a69229 100644 (file)
@@ -19,8 +19,12 @@ module Peta
     end
     
     def self.root_model
-      if self.parent_model and self.parent_model.element?
-        self.parent_model.root_model
+      if self.parent_model
+        if self.parent_model.element?
+          self.parent_model.root_model
+        else
+          self.parent_model
+        end
       else
         self
       end
@@ -28,9 +32,13 @@ module Peta
     
     # Instance Methods
     
+    def root
+      self.__send__ self.class.root_model.item_name
+    end
+    
     def visible? operators
       return false unless super
-      true
+      self.root.visible? operators
     end
     
     def self.list_opt_for_panel