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]
%s
' % (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" %}