36 from yams.schema import Schema, ERSchema, EntitySchema, RelationSchema, \ |
36 from yams.schema import Schema, ERSchema, EntitySchema, RelationSchema, \ |
37 RelationDefinitionSchema, PermissionMixIn, role_name |
37 RelationDefinitionSchema, PermissionMixIn, role_name |
38 from yams.constraints import (BaseConstraint, FormatConstraint, BoundaryConstraint, |
38 from yams.constraints import (BaseConstraint, FormatConstraint, BoundaryConstraint, |
39 IntervalBoundConstraint, StaticVocabularyConstraint) |
39 IntervalBoundConstraint, StaticVocabularyConstraint) |
40 from yams.reader import (CONSTRAINTS, PyFileReader, SchemaLoader, |
40 from yams.reader import (CONSTRAINTS, PyFileReader, SchemaLoader, |
41 obsolete as yobsolete, cleanup_sys_modules, |
41 cleanup_sys_modules, fill_schema_from_namespace) |
42 fill_schema_from_namespace) |
|
43 |
42 |
44 from rql import parse, nodes, RQLSyntaxError, TypeResolverException |
43 from rql import parse, nodes, RQLSyntaxError, TypeResolverException |
45 from rql.analyze import ETypeResolver |
44 from rql.analyze import ETypeResolver |
46 |
45 |
47 import cubicweb |
46 import cubicweb |
1401 hasperm = cw.user.matching_groups(MAY_USE_TEMPLATE_FORMAT) |
1400 hasperm = cw.user.matching_groups(MAY_USE_TEMPLATE_FORMAT) |
1402 if hasperm: |
1401 if hasperm: |
1403 return self.regular_formats + tuple(NEED_PERM_FORMATS) |
1402 return self.regular_formats + tuple(NEED_PERM_FORMATS) |
1404 return self.regular_formats |
1403 return self.regular_formats |
1405 |
1404 |
1406 # XXX monkey patch PyFileReader.import_erschema until bw_normalize_etype is |
|
1407 # necessary |
|
1408 orig_import_erschema = PyFileReader.import_erschema |
|
1409 def bw_import_erschema(self, ertype, schemamod=None, instantiate=True): |
|
1410 return orig_import_erschema(self, bw_normalize_etype(ertype), schemamod, instantiate) |
|
1411 PyFileReader.import_erschema = bw_import_erschema |
|
1412 |
|
1413 # XXX itou for some Statement methods |
1405 # XXX itou for some Statement methods |
1414 from rql import stmts |
1406 from rql import stmts |
1415 orig_get_etype = stmts.ScopeNode.get_etype |
1407 orig_get_etype = stmts.ScopeNode.get_etype |
1416 def bw_get_etype(self, name): |
1408 def bw_get_etype(self, name): |
1417 return orig_get_etype(self, bw_normalize_etype(name)) |
1409 return orig_get_etype(self, bw_normalize_etype(name)) |
1429 |
1421 |
1430 orig_set_statement_type = stmts.Select.set_statement_type |
1422 orig_set_statement_type = stmts.Select.set_statement_type |
1431 def bw_set_statement_type(self, etype): |
1423 def bw_set_statement_type(self, etype): |
1432 return orig_set_statement_type(self, bw_normalize_etype(etype)) |
1424 return orig_set_statement_type(self, bw_normalize_etype(etype)) |
1433 stmts.Select.set_statement_type = bw_set_statement_type |
1425 stmts.Select.set_statement_type = bw_set_statement_type |
1434 |
|
1435 # XXX deprecated |
|
1436 |
|
1437 from yams.constraints import StaticVocabularyConstraint |
|
1438 |
|
1439 RichString = moved('yams.buildobjs', 'RichString') |
|
1440 |
|
1441 StaticVocabularyConstraint = class_moved(StaticVocabularyConstraint) |
|
1442 FormatConstraint = class_moved(FormatConstraint) |
|
1443 |
|
1444 PyFileReader.context['ERQLExpression'] = yobsolete(ERQLExpression) |
|
1445 PyFileReader.context['RRQLExpression'] = yobsolete(RRQLExpression) |
|
1446 PyFileReader.context['WorkflowableEntityType'] = WorkflowableEntityType |
|