In user list, show icons with flag_showhidden permission
authorJean-Michel Nirgal Vourgère <jmv@nirgal.com>
Fri, 13 May 2011 10:00:16 +0000 (10:00 +0000)
committerJean-Michel Nirgal Vourgère <jmv@nirgal.com>
Fri, 13 May 2011 10:00:16 +0000 (10:00 +0000)
bin/djais/models.py
bin/djais/templatetags/ais_extras.py
www_templates/users.html
www_templates/users_tree.html

index 397e3106ec545475031d28675dc0e71bbeefef8a..c9537bdc356324c2edcc0991ef2c900c370b6a26 100644 (file)
@@ -34,6 +34,7 @@ class User(models.Model):
     creation_datetime = models.DateTimeField(auto_now_add=True)
     phone = models.CharField(max_length=20, blank=True)
     access_datetime = models.DateTimeField(blank=True, null=True)
+    flag_allowhidden = models.BooleanField(default=False)
     class Meta:
         db_table = u'user'
         ordering = ('id',)
index dc9c90a8dd70dd7c1d70c6d2fbf3668393b0e660..684a600a3befd1d5c25303e49221f263a61e3e9c 100644 (file)
@@ -11,8 +11,12 @@ def sqlmmsi_to_strmmsi(txt):
     return unicode(mmsi_to_strmmsi(txt))
 
 @register.filter
-def format_user_tree(user, indentlevel=0):
+def format_user_tree(user, requestuser=None, indentlevel=0):
     result = u"&nbsp;"*indentlevel*8 + "<a href='%s/'>%s</a>" % (escape(user.login), escape(user.name))
+    #{%comment%}{% if auser.father %}sponsor: {{ auser.father }}{% endif %}{%endcomment%}
+    if requestuser and requestuser.flag_allowhidden:
+        if user.flag_allowhidden:
+            result += u' <img src="/allow_hidden.png" height=10 width=10 title="That user has been granted special permission to see ships hidden by the system."> '
     if not user.password_hash:
         result += " <b>Account disabled: No password</b>"
     if user.admin_ok:
@@ -21,6 +25,10 @@ def format_user_tree(user, indentlevel=0):
 <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)
+    try:
+        children = user.children
+    except AttributeError:
+        children = ()
+    for child in children:
+        result = result + format_user_tree(child, requestuser, indentlevel+1)
     return result
index 3e58137bc0a65b72052eceb926c7f785654b433f..aa17202f76c48bf31b18b6c7b3e5c1ff08609128 100644 (file)
@@ -1,4 +1,5 @@
 {% extends "base.html" %}
+{% load ais_extras %}
 
 {% block tab_active_user %} id=tabactive{% endblock %}
 
@@ -17,15 +18,7 @@ User accounts
 <br>
 {% block userlist %}
 {% for auser in users %}
-<a href='{{ auser.login }}/'>{{ auser.name }}</a>
-{%comment%}{% if auser.father %}sponsor: {{ auser.father }}{% endif %}{%endcomment%}
-{% if auser.password_hash %}{% else %}<b>Account disabled: No password</b>{% endif %}
-{% if auser.admin_ok %}
-<span style="font-size:60%">
-<a href='{{auser.login}}/change_password'>change password</a> - <a href='{{auser.login}}/delete'>delete account</a>
-</span>
-{% endif %}
-<br>
+{{ auser|format_user_tree:request.user|safe }}
 {% endfor %}
 {% endblock %}
 <br>
index 4eb3075793c324ccb6648a7276e3a9b38885d169..fea4d82ac5a5241c633ddfac047d17265fd00ddf 100644 (file)
@@ -2,7 +2,7 @@
 {% load ais_extras %}
 
 {% block userlist %}
-{{ root|format_user_tree|safe }}
+{{ root|format_user_tree:request.user|safe }}
 {% endblock %}
 
 {% block showtree %}