# -*- encofing: utf8 -*-
from django import template
+from django.utils.html import escape
from ais.common import mmsi_to_strmmsi
register = template.Library()
@register.filter
def sqlmmsi_to_strmmsi(txt):
return unicode(mmsi_to_strmmsi(txt))
+
+@register.filter
+def format_user_tree(user, indentlevel=0):
+ result = u" "*indentlevel*8 + "<a href='%s/'>%s</a>" % (escape(user.login), escape(user.name))
+ if not user.password_hash:
+ result += " <b>Account disabled: No password</b>"
+ if user.admin_ok:
+ result +="""
+<span style="font-size:80%%">
+<a href='%s/change_password'>change password</a> - <a href='%s/delete'>delete account</a>
+</span>""" % (escape(user.login), escape(user.login))
+ result += " <br>\n"
+ for child in user.children:
+ result = result + format_user_tree(child, indentlevel+1)
+ return result
+
+ '''
+'''
users = User.objects.all()
for user in users:
user.admin_ok = user.is_admin_by(request.user.id)
- return render_to_response('users.html', {'users':users}, RequestContext(request))
+ if request.REQUEST.has_key('showtree'):
+ local_users = {}
+ for user in users:
+ user.children = []
+ local_users[user.id] = user
+ for user in users:
+ if user.father_id == None:
+ root = user
+ else:
+ local_users[user.father_id].children.append(user)
+ assert root
+ return render_to_response('users_tree.html', {'root': root, 'auser': request.user.id}, RequestContext(request))
+ else:
+ return render_to_response('users.html', {'users':users}, RequestContext(request))
class UserEditForm(forms.Form):
'name_tiny': '14d',
'name_long': '2 weeks',
'seconds': 14*24*60*60
+ }, {
+ 'name_tiny': '90d',
+ 'name_long': '3 monthes',
+ 'seconds': 90*24*60*60
})
for source in sources:
</span>
{% endif %}
{% endfor %}
+<br>
+<br>
+<a href="?showtree">Show tree</a>
{% endblock %}
--- /dev/null
+{% extends "base.html" %}
+{% load ais_extras %}
+
+{% block breadcrumbs %}
+{{ block.super }} > <a href="/user/">user</a>
+{% endblock %}
+
+{% block content %}
+<h3>User accounts</h3>
+<a href=add>+ Create new account</a>
+<br>
+<br>
+{{ root|format_user_tree|safe }}
+<br>
+<br>
+<a href=.>Hide tree</a>
+{% endblock %}