web/views/management.py
changeset 1889 874a055c373b
parent 1877 10b9feeb7905
child 1941 4f38e8b81a1a
equal deleted inserted replaced
1888:f36d43f00f32 1889:874a055c373b
     8 __docformat__ = "restructuredtext en"
     8 __docformat__ = "restructuredtext en"
     9 _ = unicode
     9 _ = unicode
    10 
    10 
    11 from logilab.mtconverter import html_escape
    11 from logilab.mtconverter import html_escape
    12 
    12 
    13 from cubicweb.selectors import yes, none_rset, match_user_groups
    13 from cubicweb.selectors import yes, none_rset, match_user_groups, authenticated_user
    14 from cubicweb.view import AnyRsetView, StartupView, EntityView
    14 from cubicweb.view import AnyRsetView, StartupView, EntityView
    15 from cubicweb.common.uilib import html_traceback, rest_traceback
    15 from cubicweb.common.uilib import html_traceback, rest_traceback
    16 from cubicweb.web import formwidgets
    16 from cubicweb.web import formwidgets
    17 from cubicweb.web.form import FieldsForm, EntityFieldsForm
    17 from cubicweb.web.form import FieldsForm, EntityFieldsForm
    18 from cubicweb.web.formfields import guess_field
    18 from cubicweb.web.formfields import guess_field
    63 
    63 
    64 
    64 
    65 class SecurityManagementView(EntityView, SecurityViewMixIn):
    65 class SecurityManagementView(EntityView, SecurityViewMixIn):
    66     """display security information for a given entity"""
    66     """display security information for a given entity"""
    67     id = 'security'
    67     id = 'security'
       
    68     __select__ = EntityView.__select__ & authenticated_user()
       
    69 
    68     title = _('security')
    70     title = _('security')
    69     def call(self):
    71     def call(self):
    70         self.w(u'<div id="progress">%s</div>' % self.req._('validating...'))
    72         self.w(u'<div id="progress">%s</div>' % self.req._('validating...'))
    71         super(SecurityManagementView, self).call()
    73         super(SecurityManagementView, self).call()
    72 
    74 
   177         field = guess_field(cwpermschema, self.schema.rschema('label'))
   179         field = guess_field(cwpermschema, self.schema.rschema('label'))
   178         form.append_field(field)
   180         form.append_field(field)
   179         field = guess_field(cwpermschema, self.schema.rschema('require_group'))
   181         field = guess_field(cwpermschema, self.schema.rschema('require_group'))
   180         form.append_field(field)
   182         form.append_field(field)
   181         self.w(form.form_render(renderer=HTableFormRenderer(display_progress_div=False)))
   183         self.w(form.form_render(renderer=HTableFormRenderer(display_progress_div=False)))
   182 
       
   183 
   184 
   184 
   185 
   185 class ErrorView(AnyRsetView):
   186 class ErrorView(AnyRsetView):
   186     """default view when no result has been found"""
   187     """default view when no result has been found"""
   187     __select__ = yes()
   188     __select__ = yes()
   268     binfo += u'\n\n:CubicWeb version: %s\n'  % (eversion,)
   269     binfo += u'\n\n:CubicWeb version: %s\n'  % (eversion,)
   269     for pkg, pkgversion in cubes:
   270     for pkg, pkgversion in cubes:
   270         binfo += u":Package %s version: %s\n" % (pkg, pkgversion)
   271         binfo += u":Package %s version: %s\n" % (pkg, pkgversion)
   271     binfo += '\n'
   272     binfo += '\n'
   272     return binfo
   273     return binfo
       
   274 
   273 
   275 
   274 class ProcessInformationView(StartupView):
   276 class ProcessInformationView(StartupView):
   275     id = 'info'
   277     id = 'info'
   276     __select__ = none_rset() & match_user_groups('managers')
   278     __select__ = none_rset() & match_user_groups('managers')
   277 
   279