From 062c6f655f143d6bd116c51fee4a9836db1d428e Mon Sep 17 00:00:00 2001 From: Jean-Paul Smets <jp@nexedi.com> Date: Mon, 1 Jan 2007 08:52:05 +0000 Subject: [PATCH] Moved to ERP5/Constraint and renamed git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@11829 20353a03-c40f-0410-a6d1-a30d3c3de9de --- .../DocumentCoordinatesConstraint.py | 73 ------------------- 1 file changed, 73 deletions(-) delete mode 100644 product/ERP5OOo/Constraint/DocumentCoordinatesConstraint.py diff --git a/product/ERP5OOo/Constraint/DocumentCoordinatesConstraint.py b/product/ERP5OOo/Constraint/DocumentCoordinatesConstraint.py deleted file mode 100644 index 0370d43346..0000000000 --- a/product/ERP5OOo/Constraint/DocumentCoordinatesConstraint.py +++ /dev/null @@ -1,73 +0,0 @@ -############################################################################## -# -# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved. -# Jerome Perrin <jerome@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.Constraint import Constraint -from Products.ERP5Type.Message import Message -N_ = lambda msg, **kw: Message('erp5_ui', msg, **kw) -_MARKER = [] - -class DocumentCoordinatesConstraint(Constraint): - """ - We check if the document has all required coordinates (reference, - version and language) and that it there is no other doc with - the same coordinates - we do not fix (although we could, e.g. change version number) - """ - - def checkConsistency(self, o, fixit=0, throw=False): - """Implement here the consistency checker - """ - # XXX we probably could check reference syntax here, based on regexp in preferences? - errors = [] - - for req in ('reference', 'language', 'version'): - if o.getProperty(req) is None or o.getProperty(req)=='': - s='%s is None ' % req - errors.append(self._generateError(o, N_(s))) - if errors: - if throw: - raise Exception(str(errors)) - return errors - res=o.portal_catalog(reference=o.getReference(),language=o.getLanguage(),version=o.getVersion(),portal_type=o.getPortalDocumentTypeList()) - res=list(res) - if len(res)==2: # this and the other one - s='E: another object %s - %s - %s exists' % (o.getReference(),o.getLanguage(),o.getVersion()) - errors.append(self._generateError(o, N_(s))) - if len(res)>2: # this is very serious - raise Exception('Fatal error: multiple objects %s - %s - %s exist' % (o.getReference(),o.getLanguage(),o.getVersion())) - #errors.append(self._generateError(o, N_(s))) - if hasattr(o,'Document_additionalConsistencyCheck'): - e=o.Document_additionalConsistencyCheck() - if e is not None and e!='': - errors.append(self._generateError(o, N_(e))) - if errors and throw: - raise Exception(str(errors)) - return errors - - -# vim: filetype=python syntax=python shiftwidth=2 -- 2.30.9