[Erp5-report] r11243 - in /erp5/trunk/products/ERP5Type: ./ Constraint/
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Nov 10 11:33:02 CET 2006
Author: aurel
Date: Fri Nov 10 11:32:58 2006
New Revision: 11243
URL: http://svn.erp5.org?rev=11243&view=rev
Log:
add a ConsistencyMessage class to manage error message returned by
checkConsistency in constraint
Added:
erp5/trunk/products/ERP5Type/ConsistencyMessage.py
Modified:
erp5/trunk/products/ERP5Type/Constraint/Constraint.py
Added: erp5/trunk/products/ERP5Type/ConsistencyMessage.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/ConsistencyMessage.py?rev=11243&view=auto
==============================================================================
--- erp5/trunk/products/ERP5Type/ConsistencyMessage.py (added)
+++ erp5/trunk/products/ERP5Type/ConsistencyMessage.py Fri Nov 10 11:32:58 2006
@@ -1,0 +1,77 @@
+##############################################################################
+#
+# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.
+# Aurelien Calonne <aurel at 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.PythonScripts.Utility import allow_class
+
+class ConsistencyMessage:
+ """
+ Object Message is used for notifications to user.
+ """
+ def __init__(self, constraint, object_relative_url='', message='', mapping = {}, **kw):
+
+ self.object_relative_url = object_relative_url
+ self.message = message
+ self.mapping = mapping
+ self.description = constraint.description
+ self.class_name = constraint.__class__.__name__
+ self.__dict__.update(kw)
+
+ def __getitem__(self, key):
+ """
+ Backward compatibilty with previous tuple
+ message returned by Constraint
+ """
+ if key == 0:
+ return self.object_relative_url
+ elif key == 1:
+ return '%s inconsistency' % self.class_name
+ elif key == 2:
+ return 104
+ elif key == 4:
+ return self.description
+ else:
+ return self.getTranslatedMessage()
+
+ def fix(self):
+ """
+ Fix constraint
+ XXX to be implemented
+ """
+ pass
+
+ def getTranslatedMessage(self):
+ """
+ Return the message translated
+ """
+ from Products.ERP5Type.Message import Message
+ return Message(domain='erp5_ui', message=self.message, mapping=self.mapping)
+
+ getMessage = getTranslatedMessage
+
+
+allow_class(ConsistencyMessage)
Modified: erp5/trunk/products/ERP5Type/Constraint/Constraint.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Constraint/Constraint.py?rev=11243&r1=11242&r2=11243&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Constraint/Constraint.py (original)
+++ erp5/trunk/products/ERP5Type/Constraint/Constraint.py Fri Nov 10 11:32:58 2006
@@ -30,6 +30,7 @@
from Products.CMFCore.Expression import Expression
from Products.ERP5Type.Interface import Constraint as IConstraint
+from Products.ERP5Type.ConsistencyMessage import ConsistencyMessage
class Constraint:
"""
@@ -60,16 +61,13 @@
if type is not None: self.type = type
self.constraint_definition.update(constraint_definition)
- def _generateError(self, obj, error_message):
+ def _generateError(self, obj, error_message, mapping={}):
"""
Generic method used to generate error in checkConsistency.
"""
- error = None
- if error_message:
- error = (obj.getRelativeUrl(),
- '%s inconsistency' % self.__class__.__name__,
- 104, error_message, self.description)
- return error
+ if error_message is not None:
+ msg = ConsistencyMessage(self, obj.getRelativeUrl(), error_message, mapping)
+ return msg
def _checkConstraintCondition(self, obj):
"""
More information about the Erp5-report
mailing list