From 773b844c19b75d389b5cd7dbe26b3bd0389bc968 Mon Sep 17 00:00:00 2001 From: Sebastien Robin <seb@nexedi.com> Date: Wed, 7 Mar 2007 10:52:47 +0000 Subject: [PATCH] cleanup the API, do not store id of active process any more git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@13252 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/Document/Alarm.py | 95 +++++----------------------------- 1 file changed, 14 insertions(+), 81 deletions(-) diff --git a/product/ERP5/Document/Alarm.py b/product/ERP5/Document/Alarm.py index bdeb3a9e6e..fe5c41e109 100644 --- a/product/ERP5/Document/Alarm.py +++ b/product/ERP5/Document/Alarm.py @@ -91,9 +91,6 @@ class Alarm(Periodicity, XMLObject): later. """ - # Set the new date - LOG('activeSense, self.getPath()',0,self.getPath()) - self.setNextAlarmDate() method_id = self.getActiveSenseMethodId() if method_id is not None: @@ -109,10 +106,7 @@ class Alarm(Periodicity, XMLObject): previous calculation made by activeSense. """ method_id = self.getSenseMethodId() - process = self.getCurrentActiveProcess() - value = False - if process is None: - process = self.getLastActiveProcess() + process = self.getLastActiveProcess() if process is None: return value if method_id is not None: @@ -139,11 +133,10 @@ class Alarm(Periodicity, XMLObject): if method_id is None: return '' method = getattr(self,method_id) - process = self.getCurrentActiveProcess() - if process is None: - process = self.getLastActiveProcess() - result = method(process=process) - process.setDescription(result) + process = self.getLastActiveProcess() + result = None + if process is not None: + result = method(process=process) return result security.declareProtected(Permissions.ModifyPortalContent, 'solve') @@ -170,55 +163,21 @@ class Alarm(Periodicity, XMLObject): notify = WorkflowMethod(_notify, id='notify') - security.declareProtected(Permissions.View, 'getActiveProcessList') - def getActiveProcessList(self): - """ - Returns the list of active processes used with - this alarm. The list of processes will allow to - retrieve the results history of this alarm - """ - process_id_list = self.getActiveProcessIdList() - portal_activities = getToolByName(self,'portal_activities') - process_list = [] - if process_id_list is not None: - for process_id in process_id_list: - process = portal_activities._getOb(process_id) - process_list.append(process) - return process_list - security.declareProtected(Permissions.View, 'getLastActiveProcess') def getLastActiveProcess(self): """ This returns the last active process finished. So it will not returns the current one """ - active_process_id_list = self.getActiveProcessIdList() - portal_activities = getToolByName(self,'portal_activities') - last_process = None - if active_process_id_list is not None: - if len(active_process_id_list)>0 and not self.isActive(): - last_process_id = active_process_id_list[len(active_process_id_list)-1] - last_process = portal_activities._getOb(last_process_id) - elif len(active_process_id_list)>1 and self.isActive(): - last_process_id = active_process_id_list[len(active_process_id_list)-2] - last_process = portal_activities._getOb(last_process_id) - return last_process - - security.declareProtected(Permissions.View, 'getCurrentActiveProcess') - def getCurrentActiveProcess(self): - """ - Returns the list of active processes used with - this alarm. The list of processes will allow to - retrieve the results history of this alarm - """ - current_process = None - active_process_id_list = self.getActiveProcessIdList() - if active_process_id_list is not None: - if len(active_process_id_list)>0 and self.isActive(): - current_process_id = active_process_id_list[len(active_process_id_list)-1] - portal_activities = getToolByName(self,'portal_activities') - current_process = portal_activities._getOb(current_process_id) - return current_process + active_process_list = self.getCausalityRelatedValueList( + portal_type='Active Process') + def sort_date(a, b): + return cmp(a.getStartDate(), b.getStartDate()) + active_process_list.sort(sort_date) + active_process = None + if len(active_process_list)>0: + active_process = active_process_list[-1] + return active_process security.declareProtected(Permissions.ModifyPortalContent, 'newActiveProcess') def newActiveProcess(self): @@ -231,30 +190,4 @@ class Alarm(Periodicity, XMLObject): active_process = portal_activities.newActiveProcess() active_process.setStartDate(DateTime()) active_process.setCausalityValue(self) - process_id = active_process.getId() - active_process_id_list = self.getActiveProcessIdList() - active_process_id_list.append(process_id) - self.setActiveProcessIdList(active_process_id_list) return active_process - - security.declareProtected(Permissions.View, 'getActiveProcessIdList') - def getActiveProcessIdList(self): - """ - Returns the list of process ids used to store results of this alarm - """ - return getattr(self,'_active_process_id_list',[]) - - security.declareProtected(Permissions.View, 'getActiveProcessValueList') - def getActiveProcessValueList(self,**kw): - """ - Returns the list of process used to store results of this alarm - """ - portal_activities = getToolByName(self,'portal_activities') - return [portal_activities._getOb(x) for x in self.getActiveProcessIdList()] - - security.declareProtected(Permissions.ModifyPortalContent, 'setActiveProcessIdList') - def setActiveProcessIdList(self, value): - """ - Set the list of process ids used to store results of this alarm - """ - self._active_process_id_list = value -- 2.30.9