def self.load_manifest
super
# Class Methods
- self.my_manifest.associations.each_parent_model do |parent_model|
- define_singleton_method("parent_model") do
- parent_model
- end
+ pm = Manifest.manifest.models[self.my_peta.parent_model_name].classify
+ define_singleton_method("parent_model") do
+ pm
end
# Instance Methods
end
def self.root_model
if self.parent_model
- self.parent_model.root_model
+ if self.parent_model.element?
+ self.parent_model.root_model
+ else
+ self.parent_model
+ end
else
self
end
end
+ # Instance Methods
+
+ def root
+ pm = self.__send__ self.class.parent_model.item_name
+ if pm.class.element?
+ pm.root
+ else
+ pm
+ end
+ end
+
+ def own? operators
+ self.root.own? operators
+ end
+
+ def visible? operators
+ return false unless self.user_visible? operators
+ self.root.visible? operators
+ end
+
def self.list_opt_for_panel
{}
end