.
This commit is contained in:
@@ -0,0 +1,18 @@
|
|||||||
|
# Generated by Django 5.0.2 on 2024-10-10 20:40
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('oef', '0004_specialty_formats_specialties'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='entry',
|
||||||
|
name='inactive',
|
||||||
|
field=models.BooleanField(default=False),
|
||||||
|
),
|
||||||
|
]
|
||||||
+3
-1
@@ -15,6 +15,8 @@ class Entry(models.Model):
|
|||||||
|
|
||||||
comments = models.TextField(blank=True)
|
comments = models.TextField(blank=True)
|
||||||
|
|
||||||
|
inactive = models.BooleanField(default=False)
|
||||||
|
|
||||||
#format = models.ForeignKey('Formats', on_delete=models.CASCADE, null=True, blank=True)
|
#format = models.ForeignKey('Formats', on_delete=models.CASCADE, null=True, blank=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
@@ -64,7 +66,7 @@ class Formats(models.Model):
|
|||||||
return "\n".join(formats)
|
return "\n".join(formats)
|
||||||
|
|
||||||
def get_entries(self):
|
def get_entries(self):
|
||||||
return Entry.objects.filter(questions__icontains=self.get_format())
|
return Entry.objects.filter(questions__icontains=self.get_format(), inactive=False)
|
||||||
|
|
||||||
class Specialty(models.Model):
|
class Specialty(models.Model):
|
||||||
name = models.CharField(max_length=200)
|
name = models.CharField(max_length=200)
|
||||||
|
|||||||
+7
-7
@@ -15,7 +15,7 @@ from django_tables2 import SingleTableView, SingleTableMixin
|
|||||||
class EntryUpdateView(UpdateView):
|
class EntryUpdateView(UpdateView):
|
||||||
model = Entry
|
model = Entry
|
||||||
template_name = "oef/entry_update_view.html"
|
template_name = "oef/entry_update_view.html"
|
||||||
fields = ['modality', 'exam_code', 'exam_name', 'questions', 'comments']
|
fields = ['modality', 'exam_code', 'exam_name', 'questions', 'comments', "inactive"]
|
||||||
|
|
||||||
class EntryDetailView(DetailView):
|
class EntryDetailView(DetailView):
|
||||||
model = Entry
|
model = Entry
|
||||||
@@ -48,7 +48,7 @@ def formats_apply(request, pk):
|
|||||||
|
|
||||||
search_text = format.get_format()
|
search_text = format.get_format()
|
||||||
|
|
||||||
entries = Entry.objects.filter(questions__icontains=search_text)
|
entries = Entry.objects.filter(questions__icontains=search_text, inactive=False)
|
||||||
|
|
||||||
entry_list = []
|
entry_list = []
|
||||||
for entry in entries:
|
for entry in entries:
|
||||||
@@ -79,9 +79,9 @@ def replace_questions(request):
|
|||||||
return HttpResponse("Please provide both search and replace values")
|
return HttpResponse("Please provide both search and replace values")
|
||||||
|
|
||||||
if request.POST.get("exact", False):
|
if request.POST.get("exact", False):
|
||||||
entries = Entry.objects.filter(questions=search)
|
entries = Entry.objects.filter(questions=search, inactive=False)
|
||||||
else:
|
else:
|
||||||
entries = Entry.objects.filter(questions__contains=search)
|
entries = Entry.objects.filter(questions__contains=search, inactive=False)
|
||||||
|
|
||||||
for entry in entries:
|
for entry in entries:
|
||||||
entry.questions = entry.questions.replace(search, replace)
|
entry.questions = entry.questions.replace(search, replace)
|
||||||
@@ -92,7 +92,7 @@ def replace_questions(request):
|
|||||||
return render(request, "oef/replace_questions.html", {})
|
return render(request, "oef/replace_questions.html", {})
|
||||||
|
|
||||||
def questions(request):
|
def questions(request):
|
||||||
questions = set(Entry.objects.all().values_list("questions", flat=True))
|
questions = set(Entry.objects.filter(inactive=False).values_list("questions", flat=True))
|
||||||
|
|
||||||
questions = sorted(questions, key=lambda x: len(x))
|
questions = sorted(questions, key=lambda x: len(x))
|
||||||
|
|
||||||
@@ -111,7 +111,7 @@ def entries_by_question(request):
|
|||||||
|
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
question = request.POST.get("question")
|
question = request.POST.get("question")
|
||||||
entries = Entry.objects.filter(questions=question)
|
entries = Entry.objects.filter(questions=question, inactive=False)
|
||||||
|
|
||||||
return render(request, "oef/entries_by_question.html", {"entries": entries})
|
return render(request, "oef/entries_by_question.html", {"entries": entries})
|
||||||
|
|
||||||
@@ -121,7 +121,7 @@ def entries_by_question_codes(request):
|
|||||||
|
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
question = request.POST.get("question")
|
question = request.POST.get("question")
|
||||||
entries = Entry.objects.filter(questions=question)
|
entries = Entry.objects.filter(questions=question, inactive=False)
|
||||||
|
|
||||||
return render(request, "oef/entries_by_question_codes.html", {"entries": entries})
|
return render(request, "oef/entries_by_question_codes.html", {"entries": entries})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user