This commit is contained in:
Ross
2024-10-07 19:38:44 +01:00
parent 2e80a4ee0a
commit 8964a5598f
6 changed files with 107 additions and 2 deletions
+34 -2
View File
@@ -1,3 +1,4 @@
from difflib import HtmlDiff
from django.http import HttpResponse
from django.shortcuts import get_object_or_404, render
from django.views.generic.edit import UpdateView, CreateView
@@ -77,7 +78,10 @@ def replace_questions(request):
if not search or not replace:
return HttpResponse("Please provide both search and replace values")
entries = Entry.objects.filter(questions__contains=search)
if request.POST.get("exact", False):
entries = Entry.objects.filter(questions=search)
else:
entries = Entry.objects.filter(questions__contains=search)
for entry in entries:
entry.questions = entry.questions.replace(search, replace)
@@ -85,4 +89,32 @@ def replace_questions(request):
return HttpResponse(f"{entries.count()} questions replaced")
else:
return render(request, "oef/replace_questions.html", {})
return render(request, "oef/replace_questions.html", {})
def questions(request):
questions = set(Entry.objects.all().values_list("questions", flat=True))
questions = sorted(questions, key=lambda x: len(x))
return render(request, "oef/questions.html", {"questions": questions})
def entries_by_question(request):
if request.method == "POST":
question = request.POST.get("question")
entries = Entry.objects.filter(questions=question)
return render(request, "oef/entries_by_question.html", {"entries": entries})
return HttpResponse("Please provide a question")
def questions_diff(request):
if request.method == "POST":
question1 = request.POST.get("question1")
question2 = request.POST.get("question2")
html = HtmlDiff().make_table(question1.split("\n"), question2.split("\n"))
return HttpResponse(html)
return HttpResponse("Please provide two questions")