[Erp5-report] r11956 - /erp5/trunk/products/ERP5/Document/Document.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Jan 9 12:41:58 CET 2007
Author: jp
Date: Tue Jan 9 12:41:54 2007
New Revision: 11956
URL: http://svn.erp5.org?rev=11956&view=rev
Log:
Implemlentation example.
Modified:
erp5/trunk/products/ERP5/Document/Document.py
Modified: erp5/trunk/products/ERP5/Document/Document.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/Document.py?rev=11956&r1=11955&r2=11956&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/Document.py (original)
+++ erp5/trunk/products/ERP5/Document/Document.py Tue Jan 9 12:41:54 2007
@@ -30,6 +30,7 @@
from operator import add
from AccessControl import ClassSecurityInfo, getSecurityManager
+from Products.CMFCore.utils import getToolByName
from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
from Products.ERP5Type.XMLObject import XMLObject
from Products.ERP5Type.WebDAVSupport import TextContent
@@ -491,16 +492,27 @@
Returns a list of documents with same reference, same portal_type
but different version and given language or any language if not given.
"""
- # Use portal_catalog
- pass
+ catalog = getToolByName(self, 'portal_catalog', None)
+ return catalog(portal_type=self.getPortalType(),
+ reference=self.getReference(),
+ version=version,
+ language=language,
+ group_by=('revision',),
+ order_by=(('revision', 'descending', 'SIGNED'),)
+ )
security.declareProtected(Permissions.View, 'isVersionUnique')
def isVersionUnique(self):
"""
- Returns true if no other document has the same version and language
- """
- # Use portal_catalog
- pass
+ Returns true if no other document of the same
+ portal_type and reference has the same version and language
+ """
+ catalog = getToolByName(self, 'portal_catalog', None)
+ return catalog.countResults(portal_type=self.getPortalType(),
+ reference=self.getReference(),
+ version=self.getVersion(),
+ language=self.getLanguage(),
+ ) <= 1
security.declareProtected(Permissions.View, 'getLatestRevisionValue')
def getLatestRevisionValue(self):
@@ -537,8 +549,13 @@
Returns a list of languages which this document is available in
for the current user.
"""
- # Use portal_catalog
- pass
+ catalog = getToolByName(self, 'portal_catalog', None)
+ return map(lambda o:o.getLanguage(),
+ catalog(portal_type=self.getPortalType(),
+ reference=self.getReference(),
+ version=version,
+ group_by=('language',),
+ ))
security.declareProtected(Permissions.View, 'getOriginalLanguage')
def getOriginalLanguage(self):
More information about the Erp5-report
mailing list