diff --git a/users/admin.py b/users/admin.py
index 5ca9e45..464a7b2 100644
--- a/users/admin.py
+++ b/users/admin.py
@@ -3,12 +3,10 @@ from django.contrib import admin
from licenses.models import LicenseWithUser
from .models import (
- AdGroup,
+ Group,
MailAlias,
- MailGroup,
User,
- UserInAdGroup,
- UserInMailGroup,
+ UserInGroup,
)
@@ -18,18 +16,12 @@ class LicenseWithUserInLine(admin.StackedInline):
verbose_name_plural = "Licenses"
-class AdGroupInLine(admin.StackedInline):
- model = UserInAdGroup
+class GroupInLine(admin.StackedInline):
+ model = UserInGroup
extra = 0
verbose_name_plural = "AD Groups"
-class MailGroupInLine(admin.StackedInline):
- model = UserInMailGroup
- extra = 0
- verbose_name_plural = "Mail Groups"
-
-
class MailAliasInLine(admin.StackedInline):
model = MailAlias
extra = 0
@@ -39,16 +31,13 @@ class MailAliasInLine(admin.StackedInline):
class UserAdmin(admin.ModelAdmin):
list_display = ("name", "customer", "enabled")
inlines = (
- AdGroupInLine,
- MailGroupInLine,
+ GroupInLine,
MailAliasInLine,
LicenseWithUserInLine,
)
-admin.site.register(AdGroup)
+admin.site.register(Group)
admin.site.register(MailAlias)
-admin.site.register(MailGroup)
admin.site.register(User, UserAdmin)
-admin.site.register(UserInAdGroup)
-admin.site.register(UserInMailGroup)
+admin.site.register(UserInGroup)
diff --git a/users/models/__init__.py b/users/models/__init__.py
index c908c26..6291d67 100644
--- a/users/models/__init__.py
+++ b/users/models/__init__.py
@@ -1,3 +1,3 @@
-from .user import User, UserInAdGroup, UserInMailGroup
-from .groups import AdGroup, Group, MailGroup
+from .user import User, UserInGroup
+from .groups import Group
from .mailalias import MailAlias
diff --git a/users/models/groups.py b/users/models/groups.py
index fe6d678..502ed64 100644
--- a/users/models/groups.py
+++ b/users/models/groups.py
@@ -1,42 +1,17 @@
from django.db import models
-from model_utils.managers import InheritanceManager
-
from customers.models import Customer
class Group(models.Model):
name = models.CharField(max_length=50)
customer = models.ForeignKey(Customer, on_delete=models.CASCADE)
-
- objects = InheritanceManager()
-
- class Meta:
- abstract = True
+ mail_address = models.EmailField()
def __str__(self):
return self.name
-
-class AdGroup(Group):
- class Meta:
- ordering = ["name"]
- verbose_name_plural = "AD Groups"
-
def get_absolute_url(self):
from django.urls import reverse
- return reverse("ad_group", args=[str(self.id)])
-
-
-class MailGroup(Group):
- mail_address = models.EmailField()
-
- class Meta:
- ordering = ["name"]
- verbose_name_plural = "Mail Groups"
-
- def get_absolute_url(self):
- from django.urls import reverse
-
- return reverse("mail_group", args=[str(self.id)])
+ return reverse("group", args=[str(self.id)])
diff --git a/users/models/user.py b/users/models/user.py
index 2df8239..3142201 100644
--- a/users/models/user.py
+++ b/users/models/user.py
@@ -1,6 +1,6 @@
from django.db import models
from customers.models import Customer
-from .groups import AdGroup, MailGroup
+from .groups import Group
class User(models.Model):
@@ -13,8 +13,7 @@ class User(models.Model):
enabled = models.BooleanField()
description = models.TextField(blank=True)
customer = models.ForeignKey(Customer, on_delete=models.CASCADE)
- ad_groups = models.ManyToManyField(AdGroup, through="UserInAdGroup")
- mail_groups = models.ManyToManyField(MailGroup, through="UserInMailGroup")
+ groups = models.ManyToManyField(Group, through="UserInGroup")
class Meta:
ordering = ["name"]
@@ -28,11 +27,6 @@ class User(models.Model):
return reverse("user", args=[str(self.id)])
-class UserInAdGroup(models.Model):
+class UserInGroup(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
- group = models.ForeignKey(AdGroup, on_delete=models.CASCADE)
-
-
-class UserInMailGroup(models.Model):
- user = models.ForeignKey(User, on_delete=models.CASCADE)
- group = models.ForeignKey(MailGroup, on_delete=models.CASCADE)
+ group = models.ForeignKey(Group, on_delete=models.CASCADE)
diff --git a/users/tables.py b/users/tables.py
index 292693a..c8d7276 100644
--- a/users/tables.py
+++ b/users/tables.py
@@ -3,8 +3,7 @@ from django_tables2.utils import A
from core.tables import CoreTable
-from .models import AdGroup
-from .models import MailGroup
+from .models import Group
from .models import User
@@ -15,8 +14,7 @@ class UsersTable(CoreTable):
attrs={"td": {"class": "text-truncate", "style": "max-width: 150px;"}}
)
customer = tables.Column("Customer", linkify=True)
- ad_groups = tables.ManyToManyColumn()
- mail_groups = tables.ManyToManyColumn()
+ groups = tables.ManyToManyColumn()
delete = tables.LinkColumn(
"user_delete",
text="delete",
@@ -33,12 +31,12 @@ class UsersTable(CoreTable):
model = User
-class AdGroupsTable(CoreTable):
+class GroupsTable(CoreTable):
id = tables.Column(visible=False)
- name = tables.Column("Ad Groups", linkify=True)
+ name = tables.Column("Groups", linkify=True)
customer = tables.Column(visible=False)
action = tables.LinkColumn(
- "ad_group_delete",
+ "group_delete",
text="delete",
args=[A("pk")],
attrs={
@@ -50,25 +48,4 @@ class AdGroupsTable(CoreTable):
)
class Meta(CoreTable.Meta):
- model = AdGroup
-
-
-class MailGroupsTable(CoreTable):
- id = tables.Column(visible=False)
- name = tables.Column("Mail Groups", linkify=True)
- mail_address = tables.EmailColumn(verbose_name="Mail Address")
- customer = tables.Column(visible=False)
- action = tables.LinkColumn(
- "mail_group_delete",
- text="delete",
- args=[A("pk")],
- attrs={
- "a": {
- "class": "delete material-icons",
- }
- },
- orderable=False,
- )
-
- class Meta(CoreTable.Meta):
- model = MailGroup
+ model = Group
diff --git a/users/templates/groups/ad_group_confirm_delete.html b/users/templates/groups/group_confirm_delete.html
similarity index 65%
rename from users/templates/groups/ad_group_confirm_delete.html
rename to users/templates/groups/group_confirm_delete.html
index 76854f9..670f978 100644
--- a/users/templates/groups/ad_group_confirm_delete.html
+++ b/users/templates/groups/group_confirm_delete.html
@@ -1,11 +1,11 @@
{% extends "core/base.html" %}
-{% block section_title %}Delete AD group{% endblock %}
+{% block section_title %}Delete Group{% endblock %}
{% block content %}
-{% endblock %}
diff --git a/users/templates/users/user_details.html b/users/templates/users/user_details.html
index f260d31..072925b 100644
--- a/users/templates/users/user_details.html
+++ b/users/templates/users/user_details.html
@@ -45,7 +45,7 @@
- {% if ad_groups or mail_groups or mail_alias %}
+ {% if groups or mail_alias %}
{% if mail_alias %}
@@ -64,31 +64,15 @@
{% endif %}
- {% if ad_groups %}
-
-
-
-
- {% for group in ad_groups %}
-
- {{ group.group }} |
-
- {% endfor %}
-
-
-
- {% endif %}
-
- {% if mail_groups %}
-
-
+ {% if groups %}
+
Group Name |
Address |
- {% for group in mail_groups %}
+ {% for group in groups %}
{{ group.group }} |
{{ group.group.mail_address }} |
diff --git a/users/tests/test_customer_ad_group_table_view.py b/users/tests/test_customer_group_table_view.py
similarity index 69%
rename from users/tests/test_customer_ad_group_table_view.py
rename to users/tests/test_customer_group_table_view.py
index b8e9271..7ae810f 100644
--- a/users/tests/test_customer_ad_group_table_view.py
+++ b/users/tests/test_customer_group_table_view.py
@@ -9,24 +9,22 @@ from customers.models import Customer
pytestmark = pytest.mark.django_db
-def test_customer_ad_group_table_not_logged_in():
+def test_customer_group_table_not_logged_in():
response = Client().get("/customer/1/groups/")
assert response.status_code == 302 and "login" in response.url
-def test_customer_ad_group_table(create_admin_user):
+def test_customer_group_table(create_admin_user):
fixture = create_admin_user()
customer = fixture["customer"]
client = Client()
client.login(username="pharma-admin", password="password")
- ad_group = mixer.blend("users.AdGroup", customer=customer)
+ group = mixer.blend("users.Group", customer=customer)
response = client.get("/customer/" + str(customer.id) + "/groups/")
- assert response.status_code == 200 and helper.in_content(
- response, ad_group
- )
+ assert response.status_code == 200 and helper.in_content(response, group)
-def test_customer_ad_group_table_no_group(create_admin_user):
+def test_customer_group_table_no_group(create_admin_user):
fixture = create_admin_user()
customer = fixture["customer"]
client = Client()
@@ -35,23 +33,23 @@ def test_customer_ad_group_table_no_group(create_admin_user):
assert response.status_code == 200
-def test_customer_ad_group_table_no_permission(create_admin_user):
+def test_customer_group_table_no_permission(create_admin_user):
create_admin_user()
customer = Customer.objects.create(name="Water Corp.")
client = Client()
client.login(username="pharma-admin", password="password")
- mixer.blend("users.AdGroup", customer=customer)
+ mixer.blend("users.Group", customer=customer)
response = client.get("/customer/" + str(customer.id) + "/groups/")
assert response.status_code == 403
-def test_customer_ad_group_table_multiple_groups(create_admin_user):
+def test_customer_group_table_multiple_groups(create_admin_user):
fixture = create_admin_user()
customer = fixture["customer"]
client = Client()
client.login(username="pharma-admin", password="password")
- group1 = mixer.blend("users.AdGroup", customer=mixer.SELECT)
- group2 = mixer.blend("users.AdGroup", customer=mixer.SELECT)
+ group1 = mixer.blend("users.Group", customer=mixer.SELECT)
+ group2 = mixer.blend("users.Group", customer=mixer.SELECT)
response = client.get("/customer/" + str(customer.id) + "/groups/")
assert (
response.status_code == 200
diff --git a/users/tests/test_customer_mail_group_table_view.py b/users/tests/test_customer_mail_group_table_view.py
deleted file mode 100644
index f62ebb9..0000000
--- a/users/tests/test_customer_mail_group_table_view.py
+++ /dev/null
@@ -1,60 +0,0 @@
-import pytest
-
-from django.test import Client
-from mixer.backend.django import mixer
-
-from core.tests import helper
-from customers.models import Customer
-
-pytestmark = pytest.mark.django_db
-
-
-def test_customer_mail_group_table_not_logged_in():
- response = Client().get("/customer/1/groups/")
- assert response.status_code == 302 and "login" in response.url
-
-
-def test_customer_mail_group_table(create_admin_user):
- fixture = create_admin_user()
- customer = fixture["customer"]
- client = Client()
- client.login(username="pharma-admin", password="password")
- mail_group = mixer.blend("users.MailGroup", customer=customer)
- response = client.get("/customer/" + str(customer.id) + "/groups/")
- assert response.status_code == 200 and helper.in_content(
- response, mail_group
- )
-
-
-def test_customer_mail_group_table_no_group(create_admin_user):
- fixture = create_admin_user()
- customer = fixture["customer"]
- client = Client()
- client.login(username="pharma-admin", password="password")
- response = client.get("/customer/" + str(customer.id) + "/groups/")
- assert response.status_code == 200
-
-
-def test_customer_mail_group_table_no_permission(create_admin_user):
- create_admin_user()
- customer = Customer.objects.create(name="Water Corp.")
- client = Client()
- client.login(username="pharma-admin", password="password")
- mixer.blend("users.MailGroup", customer=customer)
- response = client.get("/customer/" + str(customer.id) + "/groups/")
- assert response.status_code == 403
-
-
-def test_customer_mail_group_table_multiple_groups(create_admin_user):
- fixture = create_admin_user()
- customer = fixture["customer"]
- client = Client()
- client.login(username="pharma-admin", password="password")
- group1 = mixer.blend("users.MailGroup", customer=mixer.SELECT)
- group2 = mixer.blend("users.MailGroup", customer=mixer.SELECT)
- response = client.get("/customer/" + str(customer.id) + "/groups/")
- assert (
- response.status_code == 200
- and helper.in_content(response, group1.name)
- and helper.in_content(response, group2.name)
- )
diff --git a/users/tests/test_customer_user_table_view.py b/users/tests/test_customer_user_table_view.py
index 31417b3..dfd994d 100644
--- a/users/tests/test_customer_user_table_view.py
+++ b/users/tests/test_customer_user_table_view.py
@@ -20,16 +20,13 @@ def test_customer_user_table(create_admin_user):
client = Client()
client.login(username="pharma-admin", password="password")
user = mixer.blend("users.User", customer=mixer.SELECT)
- ad_group = mixer.blend("users.AdGroup")
- mail_group = mixer.blend("users.MailGroup")
- mixer.blend("users.UserInAdGroup", user=user, group=ad_group)
- mixer.blend("users.UserInMailGroup", user=user, group=mail_group)
+ group = mixer.blend("users.Group")
+ mixer.blend("users.UserInGroup", user=user, group=group)
response = client.get("/customer/" + str(customer.id) + "/users/")
assert (
response.status_code == 200
and helper.in_content(response, user.name)
- and helper.in_content(response, ad_group)
- and helper.in_content(response, mail_group)
+ and helper.in_content(response, group)
and helper.in_content(response, user.primary_mail)
)
diff --git a/users/tests/test_ad_group_detail_view.py b/users/tests/test_group_detail_view.py
similarity index 54%
rename from users/tests/test_ad_group_detail_view.py
rename to users/tests/test_group_detail_view.py
index 1df1a5f..2569e80 100644
--- a/users/tests/test_ad_group_detail_view.py
+++ b/users/tests/test_group_detail_view.py
@@ -8,45 +8,45 @@ from core.tests import helper
pytestmark = pytest.mark.django_db
-def test_ad_group_detail_view_not_logged_in():
- response = Client().get("/ad-group/1/")
+def test_group_detail_view_not_logged_in():
+ response = Client().get("/group/1/")
assert response.status_code == 302 and "login" in response.url
-def test_ad_group_detail_view(create_admin_user):
+def test_group_detail_view(create_admin_user):
create_admin_user()
- group = mixer.blend("users.AdGroup", customer=mixer.SELECT)
+ group = mixer.blend("users.Group", customer=mixer.SELECT)
client = Client()
client.login(username="pharma-admin", password="password")
- response = client.get("/ad-group/" + str(group.id) + "/")
+ response = client.get("/group/" + str(group.id) + "/")
assert response.status_code == 200 and helper.in_content(response, group)
-def test_ad_group_detail_view_not_found(create_admin_user):
+def test_group_detail_view_not_found(create_admin_user):
create_admin_user()
client = Client()
client.login(username="pharma-admin", password="password")
- response = client.get("/ad-group/230/")
+ response = client.get("/group/230/")
assert response.status_code == 404
-def test_ad_group_detail_view_no_permission(create_admin_user):
+def test_group_detail_view_no_permission(create_admin_user):
create_admin_user()
customer = mixer.blend("customers.Customer")
- group = mixer.blend("users.AdGroup", customer=customer)
+ group = mixer.blend("users.Group", customer=customer)
client = Client()
client.login(username="pharma-admin", password="password")
- response = client.get("/ad-group/" + str(group.id) + "/")
+ response = client.get("/group/" + str(group.id) + "/")
assert response.status_code == 404
-def test_ad_group_detail_view_with_user(create_admin_user):
+def test_group_detail_view_with_user(create_admin_user):
create_admin_user()
- group = mixer.blend("users.AdGroup", customer=mixer.SELECT)
+ group = mixer.blend("users.Group", customer=mixer.SELECT)
client = Client()
client.login(username="pharma-admin", password="password")
- response = client.get("/ad-group/" + str(group.id) + "/")
+ response = client.get("/group/" + str(group.id) + "/")
user = mixer.blend("users.User", customer=mixer.SELECT)
- user.ad_groups.add(group)
- response = client.get("/ad-group/" + str(group.id) + "/")
+ user.groups.add(group)
+ response = client.get("/group/" + str(group.id) + "/")
assert response.status_code == 200 and helper.in_content(response, user)
diff --git a/users/tests/test_mail_group_detail_view.py b/users/tests/test_mail_group_detail_view.py
deleted file mode 100644
index 7afd830..0000000
--- a/users/tests/test_mail_group_detail_view.py
+++ /dev/null
@@ -1,52 +0,0 @@
-import pytest
-from mixer.backend.django import mixer
-
-from django.test import Client
-
-from core.tests import helper
-
-pytestmark = pytest.mark.django_db
-
-
-def test_mail_group_detail_view_not_logged_in():
- response = Client().get("/mail-group/1/")
- assert response.status_code == 302 and "login" in response.url
-
-
-def test_mail_group_detail_view(create_admin_user):
- create_admin_user()
- group = mixer.blend("users.MailGroup", customer=mixer.SELECT)
- client = Client()
- client.login(username="pharma-admin", password="password")
- response = client.get("/mail-group/" + str(group.id) + "/")
- assert response.status_code == 200 and helper.in_content(response, group)
-
-
-def test_mail_group_detail_view_not_found(create_admin_user):
- create_admin_user()
- client = Client()
- client.login(username="pharma-admin", password="password")
- response = client.get("/mail-group/230/")
- assert response.status_code == 404
-
-
-def test_mail_group_detail_view_no_permission(create_admin_user):
- create_admin_user()
- customer = mixer.blend("customers.Customer")
- group = mixer.blend("users.MailGroup", customer=customer)
- client = Client()
- client.login(username="pharma-admin", password="password")
- response = client.get("/mail-group/" + str(group.id) + "/")
- assert response.status_code == 404
-
-
-def test_mail_group_detail_view_with_user(create_admin_user):
- create_admin_user()
- group = mixer.blend("users.MailGroup", customer=mixer.SELECT)
- client = Client()
- client.login(username="pharma-admin", password="password")
- response = client.get("/mail-group/" + str(group.id) + "/")
- user = mixer.blend("users.User", customer=mixer.SELECT)
- user.mail_groups.add(group)
- response = client.get("/mail-group/" + str(group.id) + "/")
- assert response.status_code == 200 and helper.in_content(response, user)
diff --git a/users/tests/test_user_detail_view.py b/users/tests/test_user_detail_view.py
index 2f284b5..8043fb9 100644
--- a/users/tests/test_user_detail_view.py
+++ b/users/tests/test_user_detail_view.py
@@ -30,29 +30,16 @@ def test_user_detail_view_not_found(create_admin_user):
assert response.status_code == 404
-def test_user_detail_view_ad_group(create_admin_user):
+def test_user_detail_view_group(create_admin_user):
create_admin_user()
user = mixer.blend("users.User", customer=mixer.SELECT)
- group = mixer.blend("users.AdGroup")
- mixer.blend("users.UserInAdGroup", user=user, group=group)
+ group = mixer.blend("users.Group")
+ mixer.blend("users.UserInGroup", user=user, group=group)
client = Client()
client.login(username="pharma-admin", password="password")
response = client.get("/user/" + str(user.id) + "/")
assert response.status_code == 200 and helper.in_content(
- response, "AD Groups"
- )
-
-
-def test_user_detail_view_mail_group(create_admin_user):
- create_admin_user()
- user = mixer.blend("users.User", customer=mixer.SELECT)
- group = mixer.blend("users.MailGroup")
- mixer.blend("users.UserInMailGroup", user=user, group=group)
- client = Client()
- client.login(username="pharma-admin", password="password")
- response = client.get("/user/" + str(user.id) + "/")
- assert response.status_code == 200 and helper.in_content(
- response, "Mail Groups"
+ response, "Groups"
)
diff --git a/users/urls.py b/users/urls.py
index 502ea00..0b54bc8 100644
--- a/users/urls.py
+++ b/users/urls.py
@@ -4,19 +4,11 @@ from . import views
urlpatterns = [
path("customer//groups/", views.groups_table_view, name="groups"),
- path("ad-group//", views.ad_group_detail_view, name="ad_group"),
+ path("group//", views.group_detail_view, name="group"),
path(
- "mail-group//", views.mail_group_detail_view, name="mail_group"
- ),
- path(
- "delete/ad-group//",
- views.delete_ad_group,
- name="ad_group_delete",
- ),
- path(
- "delete/mail-group//",
- views.delete_mail_group,
- name="mail_group_delete",
+ "delete/group//",
+ views.delete_group,
+ name="group_delete",
),
path("customer//users/", views.users_table_view, name="users"),
path("user//", views.user_detail_view, name="user"),
diff --git a/users/views.py b/users/views.py
index a7ff216..03c93ff 100644
--- a/users/views.py
+++ b/users/views.py
@@ -16,14 +16,11 @@ from computers.models import Computer
from licenses.models import LicenseWithUser
from .decorators import user_view_permission
-from .models import AdGroup
-from .models import MailGroup
+from .models import Group
from .models import MailAlias
from .models import User
-from .models import UserInAdGroup
-from .models import UserInMailGroup
-from .tables import AdGroupsTable
-from .tables import MailGroupsTable
+from .models import UserInGroup
+from .tables import GroupsTable
from .tables import UsersTable
@@ -39,8 +36,7 @@ def users_table_view(request, pk):
@user_view_permission
def user_detail_view(request, pk):
user = get_object_or_404(User, pk=pk)
- ad_groups = UserInAdGroup.objects.filter(user=user)
- mail_groups = UserInMailGroup.objects.filter(user=user)
+ groups = Group.objects.filter(user=user)
mail_alias = MailAlias.objects.filter(user=user)
computers = Computer.objects.filter(user=user)
licenses = LicenseWithUser.objects.filter(user=user)
@@ -49,8 +45,7 @@ def user_detail_view(request, pk):
"users/user_details.html",
{
"user": user,
- "ad_groups": ad_groups,
- "mail_groups": mail_groups,
+ "groups": groups,
"mail_alias": mail_alias,
"computers": computers,
"licenses": licenses,
@@ -69,34 +64,26 @@ class UserDeleteView(LoginRequiredMixin, DeleteView):
@customer_view_permission
def groups_table_view(request, pk):
customer = get_object_or_404(Customer, pk=pk)
- ad_groups_table = AdGroupsTable(
+ groups_table = GroupsTable(
utils.get_objects_for_customer(
- AdGroup, user=request.user, customer_pk=pk
+ Group, user=request.user, customer_pk=pk
)
)
- RequestConfig(request).configure(ad_groups_table)
-
- mail_groups_table = MailGroupsTable(
- utils.get_objects_for_customer(
- MailGroup, user=request.user, customer_pk=pk
- )
- )
- RequestConfig(request).configure(mail_groups_table)
+ RequestConfig(request).configure(groups_table)
return TemplateResponse(
request,
"groups/group_list.html",
{
"customer": customer.name,
- "ad_groups": ad_groups_table,
- "mail_groups": mail_groups_table,
+ "groups": groups_table,
},
)
@login_required
-def ad_group_detail_view(request, pk):
+def group_detail_view(request, pk):
group = utils.get_object_with_view_permission(
- AdGroup, user=request.user, pk=pk
+ Group, user=request.user, pk=pk
)
users = group.user_set.all()
return render(
@@ -105,37 +92,13 @@ def ad_group_detail_view(request, pk):
@login_required
-def mail_group_detail_view(request, pk):
+def delete_group(request, pk):
group = utils.get_object_with_view_permission(
- MailGroup, user=request.user, pk=pk
- )
- users = group.user_set.all()
- return render(
- request, "groups/group_details.html", {"group": group, "users": users}
- )
-
-
-@login_required
-def delete_ad_group(request, pk):
- group = utils.get_object_with_view_permission(
- AdGroup, user=request.user, pk=pk
+ Group, user=request.user, pk=pk
)
if request.method == "POST":
group.delete()
- return redirect("ad_groups", pk=group.customer.pk)
+ return redirect("groups", pk=group.customer.pk)
return TemplateResponse(
- request, "groups/ad_group_confirm_delete.html", {"object": group}
- )
-
-
-@login_required
-def delete_mail_group(request, pk):
- group = utils.get_object_with_view_permission(
- MailGroup, user=request.user, pk=pk
- )
- if request.method == "POST":
- group.delete()
- return redirect("mail_groups", pk=group.customer.pk)
- return TemplateResponse(
- request, "groups/mail_group_confirm_delete.html", {"object": group}
+ request, "groups/group_confirm_delete.html", {"object": group}
)