--- a/schema.py Tue Sep 13 14:41:53 2011 +0200
+++ b/schema.py Tue Sep 13 14:48:24 2011 +0200
@@ -59,12 +59,11 @@
'from_state', 'to_state', 'condition',
'subworkflow', 'subworkflow_state', 'subworkflow_exit',
))
-SYSTEM_RTYPES = set(('in_group', 'require_group', 'require_permission',
+SYSTEM_RTYPES = set(('in_group', 'require_group',
# cwproperty
'for_user',
)) | WORKFLOW_RTYPES
NO_I18NCONTEXT = META_RTYPES | WORKFLOW_RTYPES
-NO_I18NCONTEXT.add('require_permission')
SKIP_COMPOSITE_RELS = [('cw_source', 'subject')]
@@ -85,7 +84,7 @@
'WorkflowTransition', 'BaseTransition',
'SubWorkflowExitPoint'))
-INTERNAL_TYPES = set(('CWProperty', 'CWPermission', 'CWCache', 'ExternalUri',
+INTERNAL_TYPES = set(('CWProperty', 'CWCache', 'ExternalUri',
'CWSource', 'CWSourceHostConfig', 'CWSourceSchemaConfig'))
@@ -1174,7 +1173,7 @@
# _() is just there to add messages to the catalog, don't care about actual
# translation
-PERM_USE_TEMPLATE_FORMAT = _('use_template_format')
+MAY_USE_TEMPLATE_FORMAT = set(('managers',))
NEED_PERM_FORMATS = [_('text/cubicweb-page-template')]
@monkeypatch(FormatConstraint)
@@ -1189,9 +1188,9 @@
# cw is a server session
hasperm = not cw.write_security or \
not cw.is_hook_category_activated('integrity') or \
- cw.user.has_permission(PERM_USE_TEMPLATE_FORMAT)
+ cw.user.matching_groups(MAY_USE_TEMPLATE_FORMAT)
else:
- hasperm = cw.user.has_permission(PERM_USE_TEMPLATE_FORMAT)
+ hasperm = cw.user.matching_groups(MAY_USE_TEMPLATE_FORMAT)
if hasperm:
return self.regular_formats + tuple(NEED_PERM_FORMATS)
return self.regular_formats