Check Group Membership Filter

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from django import template
from django.utils.safestring import SafeUnicode

register=template.Library()

@register.filter
def in_group(user, group):
	"""Returns True/False if the user is in the given group(s).
	Usage::
		{% if user|in_group:"Friends" %}
		or
		{% if user|in_group:"Friends,Enemies" %}
		...
		{% endif %}
	You can specify a single group or comma-delimited list.
	No white space allowed.
	"""
	import re
	if re.search(',', group): group_list = re.sub('\s+','',group).split(',')
	elif re.search(' ', group): group_list = group.split()
	else: group_list = [group]
	user_groups = []
	for group in user.groups.all(): user_groups.append(str(group.name))
	if filter(lambda x:x in user_groups, group_list): return True
	else: return False
in_group.is_safe = True

More like this

  1. in_group template filter by whiteinge 4 years, 10 months ago
  2. User groups template tag by hijinks 3 years, 11 months ago
  3. A few jinja2 filters like django ones by brondsem 4 years, 2 months ago
  4. Stacked/Grouped Forms 2 - easy rendering forms by diverman 3 years, 6 months ago
  5. group_required decorator by msanders 3 years, 9 months ago

Comments

(Forgotten your password?)