[Erp5-report] r23722 - /erp5/trunk/products/ERP5Type/DocumentationHelper/
nobody at svn.erp5.org
nobody at svn.erp5.org
Sat Sep 20 20:24:08 CEST 2008
Author: mayoro
Date: Sat Sep 20 20:24:08 2008
New Revision: 23722
URL: http://svn.erp5.org?rev=23722&view=rev
Log:
adding new documentation class for base categories: BaseCategoryDocumentationHelper
Added:
erp5/trunk/products/ERP5Type/DocumentationHelper/BaseCategoryDocumentationHelper.py
Added: erp5/trunk/products/ERP5Type/DocumentationHelper/BaseCategoryDocumentationHelper.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/DocumentationHelper/BaseCategoryDocumentationHelper.py?rev=23722&view=auto
==============================================================================
--- erp5/trunk/products/ERP5Type/DocumentationHelper/BaseCategoryDocumentationHelper.py (added)
+++ erp5/trunk/products/ERP5Type/DocumentationHelper/BaseCategoryDocumentationHelper.py Sat Sep 20 20:24:08 2008
@@ -1,0 +1,282 @@
+##############################################################################
+#
+# Copyright (c) 2007-2008 Nexedi SA and Contributors. All Rights Reserved.
+# Jean-Paul Smets-Solanes <jp at nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+##############################################################################
+
+from Acquisition import Implicit
+from AccessControl import ClassSecurityInfo
+from Globals import InitializeClass
+from DocumentationHelper import DocumentationHelper
+from DocumentationSection import DocumentationSection
+from Products.ERP5Type import Permissions
+
+class BaseCategoryDocumentationHelper(DocumentationHelper):
+ """
+ Provides access to all documentation information
+ of a portal type instance.
+ """
+
+ security = ClassSecurityInfo()
+ security.declareObjectProtected(Permissions.AccessContentsInformation)
+
+ def __init__(self, uri):
+ self.uri = uri
+
+ def getInstance(self):
+ return self.getPortalObject().restrictedTraverse(self.uri)
+
+ # API Implementation
+ security.declareProtected( Permissions.AccessContentsInformation, 'getTitle' )
+ def getTitle(self):
+ """
+ Returns the title of the documentation helper
+ """
+ return self.getInstance().getTitleOrId()
+
+ security.declareProtected( Permissions.AccessContentsInformation, 'getDescription' )
+ def getDescription(self):
+ """
+ Returns the title of the documentation helper
+ """
+ return getattr(self.getInstance(), 'description', '')
+
+ security.declareProtected( Permissions.AccessContentsInformation, 'getType' )
+ def getType(self):
+ """
+ Returns the type of the documentation helper
+ """
+ return "Base Category"
+
+ security.declareProtected(Permissions.AccessContentsInformation, 'getAcquisitionAppendValue')
+ def getAcquisitionAppendValue(self):
+ """
+ Returns the value of acquisition append value of the documented base category
+ """
+ return getattr(self.getInstance(), 'acquisition_append_value', '')
+
+ security.declareProtected(Permissions.AccessContentsInformation, 'getAcquisitionMaskValue')
+ def getAcquisitionMaskValue(self):
+ """
+ Returns the value of acquisition mask value of the documented base category
+ """
+ return getattr(self.getInstance(), 'acquisition_mask_value', '')
+
+ security.declareProtected(Permissions.AccessContentsInformation, 'getAcquisitionCopyValue')
+ def getAcquisitionCopyValue(self):
+ """
+ Returns the value of acquisition copy value of the documented base category
+ """
+ return getattr(self.getInstance(), 'acquisition_copy_value', '')
+
+ security.declareProtected(Permissions.AccessContentsInformation, 'getAcquisitionSyncValue')
+ def getAcquisitionSyncValue(self):
+ """
+ Returns the value of acquisition sync value of the documented base category
+ """
+ return getattr(self.getInstance(), 'acquisition_sync_value', '')
+
+ security.declareProtected(Permissions.AccessContentsInformation, 'getAcquisitionBaseCategoryList')
+ def getAcquisitionBaseCategoryList(self):
+ """
+ Returns the acquisition base categories of the documented base category
+ """
+ return getattr(self.getInstance(), 'acquisition_base_category', [])
+
+ security.declareProtected(Permissions.AccessContentsInformation, 'getAcquisitionObjectIds')
+ def getAcquisitionObjectIds(self):
+ """
+ Returns the acquisitions ids of the documented base category
+ """
+ return getattr(self.getInstance(), 'acquisition_object_id', [])
+
+ security.declareProtected(Permissions.AccessContentsInformation, 'getAcquisitionPortalType')
+ def getAcquisitionPortalType(self):
+ """
+ Returns the acquisitions ids of the documented base category
+ """
+ return getattr(self.getInstance(), 'acquisition_portal_type', '')
+
+ security.declareProtected(Permissions.AccessContentsInformation, 'getAcquisitionCategoryType')
+ def getAcquisitionCategoryType(self):
+ """
+ Returns the acquisitions ids of the documented base category
+ """
+ return getattr(self.getInstance(), 'category_type', [])
+
+ security.declareProtected( Permissions.AccessContentsInformation, 'getSectionList' )
+ def getSectionList(self):
+ """
+ Returns a list of documentation sections
+ """
+ return [
+ DocumentationSection(
+ id='workflow_method',
+ title='Workflow Method',
+ class_name='WorkflowMethodDocumentationHelper',
+ uri_list=self.getWorkflowMethodURIList(inherited=0),
+ ),
+ DocumentationSection(
+ id='accessor',
+ title='Accessor',
+ class_name='AccessorMethodDocumentationHelper',
+ uri_list=self.getAccessorMethodURIList(inherited=0),
+ ),
+ DocumentationSection(
+ id='class_method',
+ title='Class Methods',
+ class_name='ClassMethodDocumentationHelper',
+ uri_list=self.getClassMethodURIList(inherited=0),
+ ).__of__(self.getInstance()),
+ ]
+
+ # Specific methods
+ security.declareProtected( Permissions.AccessContentsInformation, 'getPortalType' )
+ def getPortalType(self):
+ """
+ """
+ return self.getInstance().getPortalType()
+
+ def _getPropertyHolder(self):
+ from Products.ERP5Type.Base import Base
+ property_holder = None
+ key = (self.getPortalType(), self.getInstance().__class__)
+ if not(Base.aq_portal_type.has_key(key)):
+ self.getInstance().initializePortalTypeDynamicProperties()
+ property_holder = Base.aq_portal_type[(self.getPortalType(), self.getInstance().__class__)]
+ return property_holder
+
+ security.declareProtected( Permissions.AccessContentsInformation, 'getAccessorMethodItemList' )
+ def getAccessorMethodItemList(self):
+ """
+ """
+ return self._getPropertyHolder().getAccessorMethodItemList()
+
+ security.declareProtected( Permissions.AccessContentsInformation, 'getAccessorMethodIdList' )
+ def getAccessorMethodIdList(self, inherited=1):
+ """
+ """
+ return self._getPropertyHolder().getAccessorMethodIdList()
+
+ security.declareProtected( Permissions.AccessContentsInformation, 'getAccessorMethodURIList' )
+ def getAccessorMethodURIList(self, inherited=1, local=1):
+ """
+ Returns a list of URIs to accessor methods
+ """
+ method_id_list = self.getAccessorMethodIdList(inherited=inherited)
+ klass = self.getInstance().__class__
+ class_name = klass.__name__
+ module = klass.__module__
+ uri_prefix = '%s.%s.' % (module, class_name)
+ return map(lambda x: '%s%s' % (uri_prefix, x), method_id_list)
+
+ security.declareProtected(Permissions.AccessContentsInformation, 'getWorkflowMethodItemList' )
+ def getWorkflowMethodItemList(self):
+ """
+ """
+ return self._getPropertyHolder().getWorkflowMethodItemList()
+
+ security.declareProtected(Permissions.AccessContentsInformation, 'getWorkflowObject' )
+ def getWorkflowObject(self):
+ """
+ """
+ return self._getPropertyHolder()
+
+ security.declareProtected(Permissions.AccessContentsInformation, 'getWorkflowMethodIdList' )
+ def getWorkflowMethodIdList(self, inherited=1):
+ """
+ """
+ return self._getPropertyHolder().getWorkflowMethodIdList()
+
+ security.declareProtected(Permissions.AccessContentsInformation, 'getWorkflowMethodURIList' )
+ def getWorkflowMethodURIList(self, inherited=1, local=1):
+ """
+ Returns a list of URIs to workflow methods
+ """
+ method_id_list = self.getWorkflowMethodIdList()
+ klass = self.getInstance().__class__
+ class_name = klass.__name__
+ module = klass.__module__
+ uri_prefix = '' #'%s.%s.' % (module, class_name)
+ return map(lambda x: '%s%s' % (uri_prefix, x), method_id_list)
+
+
+ security.declareProtected(Permissions.AccessContentsInformation, 'getActionMethodItemList' )
+ def getActionMethodItemList(self):
+ """
+ """
+ return self._getPropertyHolder().getActionMethodItemList()
+
+ security.declareProtected( Permissions.AccessContentsInformation, 'getActionMethodIdList' )
+ def getActionMethodIdList(self):
+ """
+ """
+ return self._getPropertyHolder().getActionMethodIdList()
+
+ security.declareProtected( Permissions.AccessContentsInformation, 'getClassMethodItemList' )
+ def getClassMethodItemList(self, inherited=1, local=1):
+ """
+ Return a list of tuple (id, method) for every class method
+ """
+ klass = self.getInstance().__class__
+ return self._getPropertyHolder().getClassMethodItemList(klass, inherited=inherited, local=local)
+
+ security.declareProtected( Permissions.AccessContentsInformation, 'getClassMethodIdList' )
+ def getClassMethodIdList(self, inherited=1, local=1):
+ """
+ Return a list of tuple (id, method) for every class method
+ """
+ klass = self.getInstance().__class__
+ return self._getPropertyHolder().getClassMethodIdList(klass, inherited=inherited, local=local)
+
+ security.declareProtected( Permissions.AccessContentsInformation, 'getClassMethodURIList' )
+ def getClassMethodURIList(self, inherited=1, local=1):
+ """
+ Returns a list of URIs to class methods
+ """
+ method_id_list = self.getClassMethodIdList(inherited=inherited, local=local)
+ klass = self.getInstance().__class__
+ class_name = klass.__name__
+ module = klass.__module__
+ uri_prefix = '%s.%s.' % (module, class_name)
+ return map(lambda x: '%s%s' % (uri_prefix, x), method_id_list)
+
+ security.declareProtected( Permissions.AccessContentsInformation, 'getClassPropertyItemList' )
+ def getClassPropertyItemList(self, inherited=1, local=1):
+ """
+ Return a list of tuple (id, method) for every class method
+ """
+ klass = self.getInstance().__class__
+ return self._getPropertyHolder().getClassPropertyItemList(klass, inherited=inherited, local=local)
+
+ security.declareProtected( Permissions.AccessContentsInformation, 'getClassPropertyIdList' )
+ def getClassPropertyIdList(self, inherited=1, local=1):
+ """
+ Return a list of tuple (id, method) for every class method
+ """
+ klass = self.getInstance().__class__
+ return self._getPropertyHolder().getClassPropertyIdList(klass, inherited=inherited, local=local)
+
+InitializeClass(BaseCategoryDocumentationHelper)
More information about the Erp5-report
mailing list