summaryrefslogtreecommitdiff
path: root/coip/extensions
diff options
context:
space:
mode:
authorLeif Johansson <leifj@sunet.se>2011-02-22 13:40:51 +0100
committerLeif Johansson <leifj@sunet.se>2011-02-22 13:40:51 +0100
commitda77a5f09a8fab7d00f32c275957050fad24c715 (patch)
treef02eb7a9dd197d2270ebcd7abd2a45e285b415f8 /coip/extensions
parent55b25d9ca13ca80a99b802d244c2557eda05c187 (diff)
beautify acl display a bit
Diffstat (limited to 'coip/extensions')
-rw-r--r--coip/extensions/templatetags/permdisplay.py28
1 files changed, 23 insertions, 5 deletions
diff --git a/coip/extensions/templatetags/permdisplay.py b/coip/extensions/templatetags/permdisplay.py
index a2b347d..364544e 100644
--- a/coip/extensions/templatetags/permdisplay.py
+++ b/coip/extensions/templatetags/permdisplay.py
@@ -1,4 +1,7 @@
from django import template
+from coip.extensions.templatetags.userdisplay import userdisplay
+from string import split
+from django.contrib.auth.models import User
register = template.Library()
@@ -8,14 +11,29 @@ MOMENT = 120 # duration in seconds within which the time difference
perms = {'r':'read',
'w':'write',
'd':'delete',
- 'i':'insert',
- 'l':'list'}
+ 'i':'manage members',
+ 'l':'list members'}
def permdisplay(perm):
if perm:
- return "can %s" % (' '.join([perms[p] for p in perm]))
+ return "can %s" % (', '.join([perms[p] for p in perm]))
else:
return "can do nothing"
-
+
permdisplay.is_safe = True
-register.filter(permdisplay) \ No newline at end of file
+register.filter(permdisplay)
+
+def acldstdisplay(dst):
+ if dst.display.startswith("user:"):
+ (pfx,username) = split(dst.display,":",1)
+ user = User.objects.get(username=username)
+ if user:
+ return userdisplay(user)
+ else:
+ return "Unknown user \"%s\"" % username
+ else:
+ return "Members of <a tip=\"%s\" href=\"/name/%d\">%s</a>" % (dst.display,dst.id,dst.short)
+
+
+acldstdisplay.is_safe = True
+register.filter(acldstdisplay) \ No newline at end of file