Commit f2d7f9d6 authored by Jean-Paul Smets's avatar Jean-Paul Smets

Move Error class from ERP5Type to CMFActivity.ActiveResult since this is a...

Move Error class from ERP5Type to CMFActivity.ActiveResult since this is a Result instance for an active process rather than an error.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@7248 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 5cef5640
##############################################################################
#
# Copyright (c) 2004 Nexedi SARL and Contributors. All Rights Reserved.
# Sebastien Robin <seb@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 Products.ERP5Type.Base import Base
from Products.ERP5Type.Utils import getPath
from zLOG import LOG
from Globals import InitializeClass, DTMLFile
from Products.PythonScripts.Utility import allow_class
class ActiveResult:
"""
Encapsulates the result of deferred activity.
This class is used by processes to store results
(and eventually, errors)
"""
# Standard severities
TRACE = -300
DEBUG = -200
BLATHER = -100
INFO = 0
PROBLEM = 100
WARNING = 100
ERROR = 200
PANIC = 300
def __init__(self,summary='',severity=INFO,detail='',**kw):
"""
set all parameters
"""
if kw.has_key('object_path'):
self.object_path = getPath(kw['object_path'],tuple=1)
del kw['object_path']
self.summary = summary
self.severity = severity
self.detail = detail
self.__dict__.update(kw)
def edit(self,**kw):
"""
set all parameters
"""
if kw.has_key('object_path'):
self.object_path = getPath(kw['object_path'],tuple=1)
del kw['object_path']
self.__dict__.update(kw)
def getProperty(self,value):
"""
A simple getter
"""
return getattr(self,value,None)
def getResult(self):
"""
Returns the result
"""
return self.result
def isResult(self):
"""
Tells if the result is a result or an error
"""
return self.severity <= self.INFO
def isError(self):
"""
Tells if the result is a result or an error
"""
return self.severity > self.INFO
allow_class(ActiveResult)
...@@ -36,7 +36,7 @@ import re ...@@ -36,7 +36,7 @@ import re
from Products.CMFCore import CMFCorePermissions from Products.CMFCore import CMFCorePermissions
from Products.ERP5Type.Document.Folder import Folder from Products.ERP5Type.Document.Folder import Folder
from Products.ERP5Type.Error import Error from Products.CMFActivity.ActiveResult import ActiveResult
from Products.PythonScripts.Utility import allow_class from Products.PythonScripts.Utility import allow_class
from AccessControl import ClassSecurityInfo, Permissions from AccessControl import ClassSecurityInfo, Permissions
from AccessControl.SecurityManagement import newSecurityManager, noSecurityManager from AccessControl.SecurityManagement import newSecurityManager, noSecurityManager
...@@ -155,14 +155,14 @@ class Message: ...@@ -155,14 +155,14 @@ class Message:
def activateResult(self, activity_tool, result, object): def activateResult(self, activity_tool, result, object):
if self.active_process is not None: if self.active_process is not None:
active_process = activity_tool.unrestrictedTraverse(self.active_process) active_process = activity_tool.unrestrictedTraverse(self.active_process)
if isinstance(result,Error): if isinstance(result,ActiveResult):
result.edit(object_path=object) result.edit(object_path=object)
result.edit(method_id=self.method_id) result.edit(method_id=self.method_id)
# XXX Allow other method_id in future # XXX Allow other method_id in future
active_process.activateResult(result) active_process.activateResult(result)
else: else:
active_process.activateResult( active_process.activateResult(
Error(object_path=object, ActiveResult(object_path=object,
method_id=self.method_id, method_id=self.method_id,
result=result)) # XXX Allow other method_id in future result=result)) # XXX Allow other method_id in future
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment