.
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
|
||||
{% extends 'oef/base.html' %}
|
||||
|
||||
|
||||
|
||||
{% block content %}
|
||||
<h2>Formats</h2>
|
||||
|
||||
<ul>
|
||||
|
||||
{% for dupe in dupes %}
|
||||
{{dupe}}
|
||||
|
||||
{% endfor %}
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
{% endblock content %}
|
||||
|
||||
@@ -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 %}
|
||||
|
||||
@@ -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"
|
||||
),
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user