diff --git a/allianceauth/groupmanagement/admin.py b/allianceauth/groupmanagement/admin.py
index 6dce3baf..44750aab 100644
--- a/allianceauth/groupmanagement/admin.py
+++ b/allianceauth/groupmanagement/admin.py
@@ -195,12 +195,11 @@ finally:
@admin.register(GroupRequest)
class GroupRequestAdmin(admin.ModelAdmin):
search_fields = ('user__username', )
- list_display = ('id', 'group', 'user', '_leave_request', 'status')
+ list_display = ('id', 'group', 'user', '_leave_request')
list_filter = (
('group', admin.RelatedOnlyFieldListFilter),
('user', admin.RelatedOnlyFieldListFilter),
'leave_request',
- 'status'
)
def _leave_request(self, obj) -> True:
diff --git a/allianceauth/groupmanagement/managers.py b/allianceauth/groupmanagement/managers.py
index 5ba2f3dd..d85771dd 100644
--- a/allianceauth/groupmanagement/managers.py
+++ b/allianceauth/groupmanagement/managers.py
@@ -108,11 +108,10 @@ class GroupManager:
"""Returns the number of pending group requests for the given user"""
if cls.has_management_permission(user):
- return GroupRequest.objects.filter(status="pending").count()
+ return GroupRequest.objects.all().count()
else:
return (
GroupRequest.objects
- .filter(status="pending")
.filter(group__authgroup__group_leaders__exact=user)
.select_related("group__authgroup__group_leaders")
.count()
diff --git a/allianceauth/groupmanagement/migrations/0016_remove_grouprequest_status_field.py b/allianceauth/groupmanagement/migrations/0016_remove_grouprequest_status_field.py
new file mode 100644
index 00000000..f0154eb4
--- /dev/null
+++ b/allianceauth/groupmanagement/migrations/0016_remove_grouprequest_status_field.py
@@ -0,0 +1,17 @@
+# Generated by Django 3.2.8 on 2021-10-19 18:53
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("groupmanagement", "0015_make_descriptions_great_again"),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name="grouprequest",
+ name="status",
+ ),
+ ]
diff --git a/allianceauth/groupmanagement/models.py b/allianceauth/groupmanagement/models.py
index 5fb60a75..0959ccb1 100644
--- a/allianceauth/groupmanagement/models.py
+++ b/allianceauth/groupmanagement/models.py
@@ -7,7 +7,6 @@ from allianceauth.authentication.models import State
class GroupRequest(models.Model):
- status = models.CharField(max_length=254)
leave_request = models.BooleanField(default=0)
user = models.ForeignKey(User, on_delete=models.CASCADE)
group = models.ForeignKey(Group, on_delete=models.CASCADE)
diff --git a/allianceauth/groupmanagement/templates/groupmanagement/groups.html b/allianceauth/groupmanagement/templates/groupmanagement/groups.html
index 6ae84ce1..6b1124a1 100644
--- a/allianceauth/groupmanagement/templates/groupmanagement/groups.html
+++ b/allianceauth/groupmanagement/templates/groupmanagement/groups.html
@@ -31,7 +31,7 @@
{% else %}
{% endif %}
{% elif not g.request %}
@@ -46,7 +46,7 @@
{% endif %}
{% else %}
{% endif %}
diff --git a/allianceauth/groupmanagement/tests/test_managers.py b/allianceauth/groupmanagement/tests/test_managers.py
index 0660628c..c8f9ae53 100644
--- a/allianceauth/groupmanagement/tests/test_managers.py
+++ b/allianceauth/groupmanagement/tests/test_managers.py
@@ -339,11 +339,16 @@ class TestPendingRequestsCountForUser(TestCase):
def setUp(self) -> None:
self.group_1 = Group.objects.create(name="Group 1")
self.group_2 = Group.objects.create(name="Group 2")
+ self.group_3 = Group.objects.create(name="Group 3")
+
self.user_leader_1 = AuthUtils.create_member('Clark Kent')
self.group_1.authgroup.group_leaders.add(self.user_leader_1)
self.user_leader_2 = AuthUtils.create_member('Peter Parker')
self.group_2.authgroup.group_leaders.add(self.user_leader_2)
+
self.user_requestor = AuthUtils.create_member('Bruce Wayne')
+ self.user_superuser = AuthUtils.create_member('Q')
+ self.user_superuser.is_superuser = True
def test_single_request_for_leader(self):
# given user_leader_1 is leader of group_1
@@ -351,7 +356,7 @@ class TestPendingRequestsCountForUser(TestCase):
# when user_requestor is requesting access to group 1
# then return 1 for user_leader 1 and 0 for user_leader_2
GroupRequest.objects.create(
- status="pending", user=self.user_requestor, group=self.group_1
+ user=self.user_requestor, group=self.group_1
)
self.assertEqual(
GroupManager.pending_requests_count_for_user(self.user_leader_1), 1
@@ -365,7 +370,21 @@ class TestPendingRequestsCountForUser(TestCase):
# when user_requestor is requesting access to group 1
# then return 0 for user_requestor
GroupRequest.objects.create(
- status="pending", user=self.user_requestor, group=self.group_1
+ user=self.user_requestor, group=self.group_1
+ )
+ self.assertEqual(
+ GroupManager.pending_requests_count_for_user(self.user_requestor), 0
+ )
+
+ def test_single_request_for_superuser(self):
+ # given group_3 has no leader
+ # when user_requestor is requesting access to group 1
+ # then return 1 for user_superuser but 0 for user_requestor
+ GroupRequest.objects.create(
+ user=self.user_requestor, group=self.group_3
+ )
+ self.assertEqual(
+ GroupManager.pending_requests_count_for_user(self.user_superuser), 1
)
self.assertEqual(
GroupManager.pending_requests_count_for_user(self.user_requestor), 0
@@ -379,7 +398,6 @@ class TestPendingRequestsCountForUser(TestCase):
self.user_requestor.groups.add(self.group_2)
GroupRequest.objects.create(
- status="pending",
user=self.user_requestor,
group=self.group_2,
leave_request=True
@@ -397,12 +415,10 @@ class TestPendingRequestsCountForUser(TestCase):
self.user_requestor.groups.add(self.group_2)
user_requestor_2 = AuthUtils.create_member("Lex Luther")
GroupRequest.objects.create(
- status="pending",
user=user_requestor_2,
group=self.group_2
)
GroupRequest.objects.create(
- status="pending",
user=self.user_requestor,
group=self.group_2,
leave_request=True
@@ -420,7 +436,7 @@ class TestPendingRequestsCountForUser(TestCase):
AuthUtils.add_permission_to_user_by_name("auth.group_management", user_leader_4)
user_leader_4 = User.objects.get(pk=user_leader_4.pk)
GroupRequest.objects.create(
- status="pending", user=self.user_requestor, group=self.group_1
+ user=self.user_requestor, group=self.group_1
)
self.assertEqual(
GroupManager.pending_requests_count_for_user(self.user_leader_1), 1
diff --git a/allianceauth/groupmanagement/tests/test_models.py b/allianceauth/groupmanagement/tests/test_models.py
index 9fdacd38..d3737e4f 100644
--- a/allianceauth/groupmanagement/tests/test_models.py
+++ b/allianceauth/groupmanagement/tests/test_models.py
@@ -60,7 +60,6 @@ class TestGroupRequest(TestCase):
def test_main_char(self):
group_request = GroupRequest.objects.create(
- status='Pending',
user=self.user_1,
group=self.group
)
@@ -69,7 +68,6 @@ class TestGroupRequest(TestCase):
def test_str(self):
group_request = GroupRequest.objects.create(
- status='Pending',
user=self.user_1,
group=self.group
)
diff --git a/allianceauth/groupmanagement/views.py b/allianceauth/groupmanagement/views.py
index bae689f3..f351c288 100755
--- a/allianceauth/groupmanagement/views.py
+++ b/allianceauth/groupmanagement/views.py
@@ -354,7 +354,6 @@ def group_request_add(request, group_id):
messages.warning(request, _("You already have a pending application for that group."))
return redirect("groupmanagement:groups")
grouprequest = GroupRequest()
- grouprequest.status = _('Pending')
grouprequest.group = group
grouprequest.user = request.user
grouprequest.leave_request = False
@@ -396,7 +395,6 @@ def group_request_leave(request, group_id):
request.user.groups.remove(group)
return redirect('groupmanagement:groups')
grouprequest = GroupRequest()
- grouprequest.status = _('Pending')
grouprequest.group = group
grouprequest.user = request.user
grouprequest.leave_request = True