admin: pimp the admin user view page

This commit is contained in:
Frédéric Péters 2012-08-14 16:40:35 +02:00
parent a2537caad3
commit 7c4df79ce1
1 changed files with 46 additions and 5 deletions

View File

@ -116,13 +116,48 @@ class UserPage(Directory):
html_top('users', '%s - %s' % (_('User'), self.user.display_name))
'<h2>%s - %s</h2>' % (_('User'), self.user.display_name)
get_response().filter['sidebar'] = self.get_sidebar()
users_cfg = get_cfg('users', {})
'<div class="splitcontent-left">'
'<div class="bo-block">'
'<h2>%s</h2>' % _('Profile')
'<div class="form">'
'<div class="title">%s</div>' % _('Name')
'<div class="StringWidget content">%s</div>' % self.user.name
if self.user.email:
if not users_cfg.get('field_name'):
'<div class="title">%s</div>' % _('Name')
'<div class="StringWidget content">%s</div>' % self.user.name
if not users_cfg.get('field_email') and self.user.email:
'<div class="title">%s</div>' % _('Email')
'<div class="StringWidget content">%s</div>' % self.user.email
formdef = self.user.get_formdef()
if formdef:
if self.user.form_data:
for field in formdef.fields:
if not hasattr(field, str('get_view_value')):
continue
value = self.user.form_data.get(field.id)
'<div class="title">'
field.label
'</div>'
'<div class="StringWidget content">'
field.get_view_value(value)
'</div>'
'</div>'
'</div>' # bo-block
'</div>' # splitcontent-left
'<div class="splitcontent-right">'
'<div class="bo-block">'
'<h2>%s</h2>' % _('User Roles')
if self.user.roles or self.user.is_admin:
'<div class="form">'
'<div class="title">%s</div>' % _('Roles')
'<div class="StringWidget content"><ul>'
if self.user.is_admin:
@ -133,12 +168,18 @@ class UserPage(Directory):
except KeyError:
pass # removed role ?
'</ul></div>'
'</div>'
'</div>' # bo-block
'</div>' # splitcontent-right
if self.user.lasso_dump:
import lasso
identity = lasso.Identity.newFromDump(self.user.lasso_dump)
server = misc.get_lasso_server()
if len(identity.providerIds) and server:
'<h3>%s</h3>' % _('Liberty Alliance Details')
'<div class="bo-block">'
'<h2>%s</h2>' % _('Liberty Alliance Details')
'<div class="StringWidget content"><ul>'
for pid in identity.providerIds:
provider = server.getProvider(pid)
@ -161,7 +202,7 @@ class UserPage(Directory):
if get_cfg('debug', {}).get('debug_mode', False):
'<h4>%s</h4>' % _('Lasso Identity Dump')
'<pre>%s</pre>' % self.user.lasso_dump
'</div>'
'</div>' # bo-block
def get_sidebar [html] (self):
ident_methods = get_cfg('identification', {}).get('methods', [])