This commit is contained in:
Ross
2024-12-16 12:29:36 +00:00
parent 720debc2a5
commit c6485333bb
4 changed files with 43 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
{% extends 'oef/base.html' %}
{% block content %}
<h2>Formats</h2>
<ul>
{% for dupe in dupes %}
{{dupe}}
{% endfor %}
</ul>
{% endblock content %}
+1
View File
@@ -6,6 +6,7 @@
{% block content %}
<h2>Formats</h2>
<a href="{% url 'oef:format_create' %}">Create a new format</a>
<a href="{% url 'oef:formats_dupe_view' %}">View dupes</a>
<ul>
{% for format in formats %}
+3
View File
@@ -17,6 +17,9 @@ urlpatterns = [
path(
"formats", views.formats_view, name="formats_view"
),
path(
"formats/dupes", views.formats_dupe_view, name="formats_dupe_view"
),
path(
"formats/create", views.FormatsCreateView.as_view(), name="format_create"
),
+18
View File
@@ -1,3 +1,4 @@
from collections import defaultdict
from dataclasses import dataclass
from difflib import HtmlDiff, SequenceMatcher
from django import forms
@@ -141,6 +142,23 @@ def formats_view(request):
formats = Formats.objects.all()
return render(request, "oef/formats_view.html", {"formats": formats})
def formats_dupe_view(request):
formats = Formats.objects.all()
format_dict = defaultdict(list)
dupes = []
for format in formats:
if format.format in format_dict:
dupes.append(format)
format_dict[format.format].append(format)
return render(request, "oef/formats_dupe_view.html", {"dupes": dupes, "format_dict": format_dict})
@user_passes_test(lambda u: u.is_superuser)
def formats_delete(request, pk):