equal
deleted
inserted
replaced
34 for dummy in AutomaticEntityForm.esrelations_by_category( |
34 for dummy in AutomaticEntityForm.esrelations_by_category( |
35 entity, 'generic', 'add', strict=True): |
35 entity, 'generic', 'add', strict=True): |
36 return 1 |
36 return 1 |
37 for rschema, targetschemas, role in AutomaticEntityForm.erelations_by_category( |
37 for rschema, targetschemas, role in AutomaticEntityForm.erelations_by_category( |
38 entity, ('primary', 'secondary'), 'add', strict=True): |
38 entity, ('primary', 'secondary'), 'add', strict=True): |
39 if not rschema.is_final(): |
39 if not rschema.final: |
40 return 1 |
40 return 1 |
41 return 0 |
41 return 0 |
42 |
42 |
43 @objectify_selector |
43 @objectify_selector |
44 def match_searched_etype(cls, req, rset=None, **kwargs): |
44 def match_searched_etype(cls, req, rset=None, **kwargs): |
60 return 0 |
60 return 0 |
61 select = rqlst.children[0] |
61 select = rqlst.children[0] |
62 if len(select.defined_vars) == 1 and len(select.solutions) == 1: |
62 if len(select.defined_vars) == 1 and len(select.solutions) == 1: |
63 rset._searched_etype = select.solutions[0].itervalues().next() |
63 rset._searched_etype = select.solutions[0].itervalues().next() |
64 eschema = cls.schema.eschema(rset._searched_etype) |
64 eschema = cls.schema.eschema(rset._searched_etype) |
65 if not (eschema.is_final() or eschema.is_subobject(strict=True)) \ |
65 if not (eschema.final or eschema.is_subobject(strict=True)) \ |
66 and eschema.has_perm(req, 'add'): |
66 and eschema.has_perm(req, 'add'): |
67 return 1 |
67 return 1 |
68 return 0 |
68 return 0 |
69 |
69 |
70 # generic 'main' actions ####################################################### |
70 # generic 'main' actions ####################################################### |
264 req = self.req |
264 req = self.req |
265 eschema = entity.e_schema |
265 eschema = entity.e_schema |
266 for role, rschemas in (('subject', eschema.subject_relations()), |
266 for role, rschemas in (('subject', eschema.subject_relations()), |
267 ('object', eschema.object_relations())): |
267 ('object', eschema.object_relations())): |
268 for rschema in rschemas: |
268 for rschema in rschemas: |
269 if rschema.is_final(): |
269 if rschema.final: |
270 continue |
270 continue |
271 # check the relation can be added as well |
271 # check the relation can be added as well |
272 # XXX consider autoform_permissions_overrides? |
272 # XXX consider autoform_permissions_overrides? |
273 if role == 'subject'and not rschema.has_perm(req, 'add', |
273 if role == 'subject'and not rschema.has_perm(req, 'add', |
274 fromeid=entity.eid): |
274 fromeid=entity.eid): |