355 self.req = req |
355 self.req = req |
356 super(RestrictedSchemaVisitorMixIn, self).__init__(*args, **kwargs) |
356 super(RestrictedSchemaVisitorMixIn, self).__init__(*args, **kwargs) |
357 |
357 |
358 def should_display_schema(self, rschema): |
358 def should_display_schema(self, rschema): |
359 return (super(RestrictedSchemaVisitorMixIn, self).should_display_schema(rschema) |
359 return (super(RestrictedSchemaVisitorMixIn, self).should_display_schema(rschema) |
360 and (rschema.has_local_role('read') |
360 and rschema.may_have_permission('read', self.req)) |
361 or rschema.has_perm(self.req, 'read'))) |
361 |
362 |
362 def should_display_attr(self, eschema, rschema): |
363 def should_display_attr(self, rschema): |
|
364 return (super(RestrictedSchemaVisitorMixIn, self).should_display_attr(rschema) |
363 return (super(RestrictedSchemaVisitorMixIn, self).should_display_attr(rschema) |
365 and (rschema.has_local_role('read') |
364 and eschema.rdef(rschema).may_have_permission('read')) |
366 or rschema.has_perm(self.req, 'read'))) |
|
367 |
365 |
368 |
366 |
369 class FullSchemaVisitor(RestrictedSchemaVisitorMixIn, s2d.FullSchemaVisitor): |
367 class FullSchemaVisitor(RestrictedSchemaVisitorMixIn, s2d.FullSchemaVisitor): |
370 pass |
368 pass |
371 |
369 |