From 0f6053166e5a8897186ad2279852854e03c5f84a Mon Sep 17 00:00:00 2001 From: Ole Laursen Date: Fri, 20 Jan 2012 16:18:03 +0000 Subject: [PATCH] Fix outputted groups in JS - Legacy-Id: 3840 --- ietf/idtracker/templatetags/ietf_filters.py | 17 +++++++++++++++++ ietf/templates/base.html | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/ietf/idtracker/templatetags/ietf_filters.py b/ietf/idtracker/templatetags/ietf_filters.py index 3beac0987..b786c4585 100644 --- a/ietf/idtracker/templatetags/ietf_filters.py +++ b/ietf/idtracker/templatetags/ietf_filters.py @@ -7,6 +7,7 @@ from django.utils.html import escape, fix_ampersands from django.template.defaultfilters import linebreaksbr, wordwrap, stringfilter, urlize, truncatewords_html from django.template import resolve_variable from django.utils.safestring import mark_safe, SafeData +from django.utils import simplejson try: from email import utils as emailutils except ImportError: @@ -449,6 +450,22 @@ def format_history_text(text): return mark_safe(u'
%s
[show all]
' % (snipped, full)) return full +@register.filter +def user_roles_json(user): + roles = {} + if user.is_authenticated(): + if settings.USE_DB_REDESIGN_PROXY_CLASSES: + from redesign.group.models import Role + for r in Role.objects.filter(person__user=user).select_related(depth=1): + if r.name_id == "secr" and r.group.acronym == "secretariat": + roles["Secretariat"] = True + elif r.name_id == "ad" and r.group.type_id == "area" and r.group.state_id == "active": + roles["Area Director"] = roles["Area_Director"] = True + else: + for g in user.groups: + roles[g.name] = True + return mark_safe(simplejson.dumps(roles)) + def _test(): import doctest doctest.testmod() diff --git a/ietf/templates/base.html b/ietf/templates/base.html index eda750f7f..61a8f45b3 100644 --- a/ietf/templates/base.html +++ b/ietf/templates/base.html @@ -34,6 +34,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. {% endcomment %} +{% load ietf_filters %} @@ -46,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. {% block pagehead %}{% endblock %} {% ifnotequal server_mode "production" %}