summaryrefslogtreecommitdiffstats
path: root/askbot/views/users.py
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2012-09-04 10:43:18 -0400
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2012-09-04 10:43:18 -0400
commit6b0a04ae18767ec2fd13ce5b93d9d7f2dd08540a (patch)
tree1e3b3acb54df6d311627ab340049adeeac88ae9e /askbot/views/users.py
parent6406809010c29d4048a4b31c3a7c702f585729bd (diff)
downloadaskbot-6b0a04ae18767ec2fd13ce5b93d9d7f2dd08540a.tar.gz
askbot-6b0a04ae18767ec2fd13ce5b93d9d7f2dd08540a.tar.bz2
askbot-6b0a04ae18767ec2fd13ce5b93d9d7f2dd08540a.zip
users now can ask to join group, but there is no approval process yet
Diffstat (limited to 'askbot/views/users.py')
-rw-r--r--askbot/views/users.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/askbot/views/users.py b/askbot/views/users.py
index 77911c02..e55c0cc3 100644
--- a/askbot/views/users.py
+++ b/askbot/views/users.py
@@ -87,17 +87,24 @@ def show_users(request, by_group=False, group_id=None, group_slug=None):
askbot_settings.GROUP_EMAIL_ADDRESSES_ENABLED \
and askbot_settings.ENABLE_CONTENT_MODERATION
)
- user_acceptance_level = group.get_acceptance_level_for_user(
+ user_acceptance_level = group.get_openness_level_for_user(
request.user
)
except models.Group.DoesNotExist:
raise Http404
if group_slug == slugify(group.name):
- users = users.filter(groups__id = group_id
- )
+ #filter users by full group memberships
+ #todo: refactor as Group.get_full_members()
+ full_level = models.GroupMembership.FULL
+ memberships = models.GroupMembership.objects.filter(
+ group=group, level=full_level
+ )
+ user_ids = memberships.values_list('user__id', flat=True)
+ users = users.filter(id__in=user_ids)
if request.user.is_authenticated():
- if bool(users.filter(id = request.user.id).count()):
- user_membership_level = 'full'
+ membership = request.user.get_group_membership(group)
+ if membership:
+ user_membership_level = membership.get_level_display()
else:
group_page_url = reverse(