mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-12 14:00:17 +02:00
Include requestable groups other than open
This commit is contained in:
parent
25dadf81f6
commit
42def30c91
@ -48,11 +48,8 @@ def group_management(request):
|
||||
def group_membership(request):
|
||||
logger.debug("group_membership called by user %s" % request.user)
|
||||
# Get all open and closed groups
|
||||
opengroups = OpenGroup.objects.all().annotate(num_members=Count('group__user'))
|
||||
closedgroups = HiddenGroup.objects.all().annotate(num_members=Count('group__user'))
|
||||
|
||||
groups = list(chain(opengroups, closedgroups))
|
||||
groups.sort(key=lambda g: g.group.name.lower())
|
||||
groups = [group for group in Group.objects.all().annotate(num_members=Count('user')).order_by('name')
|
||||
if joinable_group(group)]
|
||||
|
||||
render_items = {'groups': groups}
|
||||
|
||||
@ -67,7 +64,7 @@ def group_membership_list(request, group_id):
|
||||
group = Group.objects.get(id=group_id)
|
||||
|
||||
# Check its a joinable group i.e. not corp or internal
|
||||
if not hasattr(group, 'hiddengroup') and not hasattr(group, 'opengroup'):
|
||||
if not joinable_group(group):
|
||||
raise PermissionDenied
|
||||
|
||||
except ObjectDoesNotExist:
|
||||
@ -221,13 +218,7 @@ def groups_view(request):
|
||||
|
||||
for group in Group.objects.all():
|
||||
# Check if group is a corp
|
||||
if "Corp_" in group.name:
|
||||
pass
|
||||
elif "Alliance_" in group.name:
|
||||
pass
|
||||
elif settings.DEFAULT_AUTH_GROUP in group.name:
|
||||
pass
|
||||
elif settings.DEFAULT_BLUE_GROUP in group.name:
|
||||
if not joinable_group(group):
|
||||
pass
|
||||
elif HiddenGroup.objects.filter(group=group).exists():
|
||||
pass
|
||||
@ -291,3 +282,18 @@ def group_request_leave(request, group_id):
|
||||
logger.info("Created group leave request for user %s to group %s" % (request.user, Group.objects.get(id=group_id)))
|
||||
messages.success(request, 'Applied to leave group %s.' % group)
|
||||
return redirect("auth_groups")
|
||||
|
||||
|
||||
def joinable_group(group):
|
||||
"""
|
||||
Check if a group is a user joinable group, i.e.
|
||||
not an internal group for Corp, Alliance, Members etc
|
||||
:param group: django.contrib.auth.models.Group object
|
||||
:return: bool True if its joinable, False otherwise
|
||||
"""
|
||||
return (
|
||||
"Corp_" not in group.name and
|
||||
"Alliance_" not in group.name and
|
||||
settings.DEFAULT_AUTH_GROUP not in group.name and
|
||||
settings.DEFAULT_BLUE_GROUP not in group.name
|
||||
)
|
||||
|
@ -23,22 +23,22 @@
|
||||
</tr>
|
||||
{% for group in groups %}
|
||||
<tr>
|
||||
<td class="text-center">{{ group.group.name }}</td>
|
||||
<td class="text-center">{{ group.group.groupdescription.description }}</td>
|
||||
<td class="text-center">{{ group.name }}</td>
|
||||
<td class="text-center">{{ group.groupdescription.description }}</td>
|
||||
<td class="text-center">
|
||||
{% if group.group.hiddengroup %}
|
||||
{% if group.hiddengroup %}
|
||||
<span class="label label-info">{% trans "Hidden" %}</span>
|
||||
{% elif group.group.opengroup %}
|
||||
{% elif group.opengroup %}
|
||||
<span class="label label-success">{% trans "Open" %}</span>
|
||||
{% else %}
|
||||
<span class="label label-default">{% trans "Other" %}</span>
|
||||
<span class="label label-default">{% trans "Requestable" %}</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="text-center">
|
||||
{{ group.num_members }}
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<a href="{% url 'auth_group_membership_list' group.group.id %}" class="btn btn-primary"
|
||||
<a href="{% url 'auth_group_membership_list' group.id %}" class="btn btn-primary"
|
||||
title="{% trans "View Members" %}">
|
||||
<i class="glyphicon glyphicon-eye-open"></i>
|
||||
</a>
|
||||
|
Loading…
x
Reference in New Issue
Block a user