--- a/schema.py Tue Sep 15 15:01:41 2009 +0200
+++ b/schema.py Thu Sep 17 15:16:53 2009 +0200
@@ -44,6 +44,7 @@
'owned_by', 'created_by', 'is', 'is_instance_of', 'identity',
'eid', 'creation_date', 'modification_date', 'has_text', 'cwuri',
))
+SYSTEM_RTYPES = set(('require_permission', 'custom_workflow', 'in_state', 'wf_info_for'))
# set of entity and relation types used to build the schema
SCHEMA_TYPES = set((
@@ -100,7 +101,7 @@
etype = ETYPE_NAME_MAP[etype]
return etype
-def display_name(req, key, form=''):
+def display_name(req, key, form='', context=None):
"""return a internationalized string for the key (schema entity or relation
name) in a given form
"""
@@ -110,8 +111,12 @@
if form:
key = key + '_' + form
# ensure unicode
- # added .lower() in case no translation are available
- return unicode(req._(key)).lower()
+ # .lower() in case no translation are available XXX done whatever a translation is there or not!
+ if context is not None:
+ return unicode(req.pgettext(context, key)).lower()
+ else:
+ return unicode(req._(key)).lower()
+
__builtins__['display_name'] = deprecated('[3.4] display_name should be imported from cubicweb.schema')(display_name)
def ERSchema_display_name(self, req, form=''):
@@ -642,6 +647,8 @@
if len(self.rqlst.defined_vars[mainvar].references()) <= 2:
_LOGGER.warn('You did not use the %s variable in your RQL '
'expression %s', mainvar, self)
+ # syntax tree used by read security (inserted in queries when necessary
+ self.snippet_rqlst = parse(self.minimal_rql, print_errors=False).children[0]
def __str__(self):
return self.full_rql
@@ -767,8 +774,6 @@
class ERQLExpression(RQLExpression):
def __init__(self, expression, mainvars=None, eid=None):
RQLExpression.__init__(self, expression, mainvars or 'X', eid)
- # syntax tree used by read security (inserted in queries when necessary
- self.snippet_rqlst = parse(self.minimal_rql, print_errors=False).children[0]
@property
def full_rql(self):