--- a/hooks/syncschema.py Tue Sep 11 22:32:01 2012 +0200
+++ b/hooks/syncschema.py Mon Sep 17 17:48:55 2012 +0200
@@ -1,4 +1,4 @@
-# copyright 2003-2011 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
+# copyright 2003-2012 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
#
# This file is part of CubicWeb.
@@ -24,6 +24,7 @@
"""
__docformat__ = "restructuredtext en"
+_ = unicode
from copy import copy
from yams.schema import BASE_TYPES, RelationSchema, RelationDefinitionSchema
@@ -31,7 +32,7 @@
from logilab.common.decorators import clear_cache
-from cubicweb import ValidationError
+from cubicweb import validation_error
from cubicweb.predicates import is_instance
from cubicweb.schema import (SCHEMA_TYPES, META_RTYPES, VIRTUAL_RTYPES,
CONSTRAINTS, ETYPE_NAME_MAP, display_name)
@@ -127,10 +128,9 @@
if attr in ro_attrs:
origval, newval = entity.cw_edited.oldnewvalue(attr)
if newval != origval:
- errors[attr] = session._("can't change the %s attribute") % \
- display_name(session, attr)
+ errors[attr] = _("can't change this attribute")
if errors:
- raise ValidationError(entity.eid, errors)
+ raise validation_error(entity, errors)
class _MockEntity(object): # XXX use a named tuple with python 2.6
@@ -913,7 +913,7 @@
# final entities can't be deleted, don't care about that
name = self.entity.name
if name in CORE_TYPES:
- raise ValidationError(self.entity.eid, {None: self._cw._('can\'t be deleted')})
+ raise validation_error(self.entity, {None: _("can't be deleted")})
# delete every entities of this type
if name not in ETYPE_NAME_MAP:
self._cw.execute('DELETE %s X' % name)
@@ -983,7 +983,7 @@
def __call__(self):
name = self.entity.name
if name in CORE_TYPES:
- raise ValidationError(self.entity.eid, {None: self._cw._('can\'t be deleted')})
+ raise validation_error(self.entity, {None: _("can't be deleted")})
# delete relation definitions using this relation type
self._cw.execute('DELETE CWAttribute X WHERE X relation_type Y, Y eid %(x)s',
{'x': self.entity.eid})