web/views/schema.py
branchreldefsecurity
changeset 3877 7ca53fc72a0a
parent 3768 8c85a2f7f5ad
child 3890 d7a270f50f54
equal deleted inserted replaced
3876:1169d3154be6 3877:7ca53fc72a0a
   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