[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