[Erp5-report] r8438 - /erp5/trunk/products/ERP5/Tool/IdTool.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Jul 14 18:24:28 CEST 2006
Author: seb
Date: Fri Jul 14 18:24:25 2006
New Revision: 8438
URL: http://svn.erp5.org?rev=8438&view=rev
Log:
added method getLastGeneratedId setLastGeneratedId
Modified:
erp5/trunk/products/ERP5/Tool/IdTool.py
Modified: erp5/trunk/products/ERP5/Tool/IdTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Tool/IdTool.py?rev=8438&r1=8437&r2=8438&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Tool/IdTool.py (original)
+++ erp5/trunk/products/ERP5/Tool/IdTool.py Fri Jul 14 18:24:25 2006
@@ -68,8 +68,39 @@
# Filter content (ZMI))
def __init__(self):
return Folder.__init__(self, IdTool.id)
+
+ security.declareProtected(Permissions.AccessContentsInformation,
+ 'getLastGeneratedId')
+ def getLastGeneratedId(self,id_group=None,default=None):
+ """
+ Get the last id generated
+ """
+ if getattr(self, 'dict_ids', None) is None:
+ self.dict_ids = PersistentMapping()
+ last_id = None
+ if id_group is not None and id_group!='None':
+ last_id = self.dict_ids.get(id_group, default)
+ return last_id
- # Filter content (ZMI))
+ security.declareProtected(Permissions.AccessContentsInformation,
+ 'setLastGeneratedId')
+ def setLastGeneratedId(self,new_id,id_group=None,default=None):
+ """
+ Set a new last id. This is usefull in order to reset
+ a sequence of ids.
+ """
+ if getattr(self, 'dict_ids', None) is None:
+ self.dict_ids = PersistentMapping()
+ if id_group is not None and id_group!='None':
+ l = threading.Lock()
+ l.acquire()
+ try:
+ self.dict_ids[id_group] = new_id
+ finally:
+ l.release()
+
+ security.declareProtected(Permissions.AccessContentsInformation,
+ 'generateNewId')
def generateNewId(self, id_group=None, default=None, method=None):
"""
Generate a new Id
More information about the Erp5-report
mailing list