web/views/startup.py
branchtls-sprint
changeset 1544 d8fb60c56d69
parent 1542 2965fcfaeca1
parent 1535 774b8dc7e681
child 1631 8370be19afd7
equal deleted inserted replaced
1543:dca9817bb337 1544:d8fb60c56d69
   187         self.w(u'<div id="detailed_schema">')
   187         self.w(u'<div id="detailed_schema">')
   188         if section:
   188         if section:
   189             self.wview(section, None)
   189             self.wview(section, None)
   190         self.w(u'</div>')
   190         self.w(u'</div>')
   191 
   191 
   192     
   192 
   193 class ManagerSchemaPermissionsView(StartupView, SecurityViewMixIn):
   193 class ManagerSchemaPermissionsView(StartupView, SecurityViewMixIn):
   194     id = 'schema_security'
   194     id = 'schema_security'
   195     __selectors__ = StartupView.__selectors__ + (match_user_groups('managers'),)
   195     __select__ = StartupView.__select__ & match_user_groups('managers')
   196 
   196 
   197     def call(self, display_relations=True,
   197     def call(self, display_relations=True,
   198              skiprels=('is', 'is_instance_of', 'identity', 'owned_by', 'created_by')):
   198              skiprels=('is', 'is_instance_of', 'identity', 'owned_by', 'created_by')):
   199         _ = self.req._
   199         _ = self.req._
   200         formparams = {}
   200         formparams = {}
   206                    if not eschema.is_final()]
   206                    if not eschema.is_final()]
   207         if not formparams['withmeta']:
   207         if not formparams['withmeta']:
   208             entities = [eschema for eschema in entities
   208             entities = [eschema for eschema in entities
   209                         if not eschema.meta]
   209                         if not eschema.meta]
   210         # compute relations
   210         # compute relations
   211         relations = []    
   211         relations = []
   212         if display_relations:
   212         if display_relations:
   213             relations = [rschema for rschema in schema.relations()
   213             relations = [rschema for rschema in schema.relations()
   214                          if not (rschema.is_final() or rschema.type in skiprels)]
   214                          if not (rschema.is_final() or rschema.type in skiprels)]
   215             if not formparams['withmeta']:
   215             if not formparams['withmeta']:
   216                 relations = [rschema for rschema in relations
   216                 relations = [rschema for rschema in relations
   286                                                 ', '.join( [str(obj) for obj in rschema.objects()]),
   286                                                 ', '.join( [str(obj) for obj in rschema.objects()]),
   287                                                 ', '.join( [_(str(obj)) for obj in rschema.objects()])))
   287                                                 ', '.join( [_(str(obj)) for obj in rschema.objects()])))
   288             self.schema_definition(rschema, link=False)
   288             self.schema_definition(rschema, link=False)
   289             self.w(u'</div>')
   289             self.w(u'</div>')
   290 
   290 
   291                 
   291 
   292 class SchemaUreportsView(StartupView):
   292 class SchemaUreportsView(StartupView):
   293     id = 'schematext'
   293     id = 'schematext'
   294 
   294 
   295     def call(self):
   295     def call(self):
   296         from cubicweb.schemaviewer import SchemaViewer
   296         from cubicweb.schemaviewer import SchemaViewer