diff --git a/peachjam/js/components/FindDocuments/index.vue b/peachjam/js/components/FindDocuments/index.vue
index cbb06e5a3..54f6b2746 100644
--- a/peachjam/js/components/FindDocuments/index.vue
+++ b/peachjam/js/components/FindDocuments/index.vue
@@ -244,6 +244,10 @@ export default {
return labelOptions;
};
+ const getTitle = (title) => {
+ return JSON.parse(document.querySelector('#data-labels').textContent)[title];
+ };
+
const data = {
searchPlaceholder: JSON.parse(document.querySelector('#data-labels').textContent).searchPlaceholder,
documentLabels: JSON.parse(document.querySelector('#data-labels').textContent).documentLabels,
@@ -288,7 +292,7 @@ export default {
optionLabels: getLabelOptionLabels(data.documentLabels)
},
{
- title: JSON.parse(document.querySelector('#data-labels').textContent).author,
+ title: getTitle('author'),
name: 'authors',
type: 'checkboxes',
value: [],
@@ -302,7 +306,7 @@ export default {
options: []
},
{
- title: this.$t('Court registry'),
+ title: getTitle('registry'),
name: 'registry',
type: 'checkboxes',
value: [],
diff --git a/peachjam/models/judgment.py b/peachjam/models/judgment.py
index de192140e..f0948ce74 100644
--- a/peachjam/models/judgment.py
+++ b/peachjam/models/judgment.py
@@ -135,6 +135,9 @@ def get_queryset(self):
class CourtRegistry(models.Model):
+ model_label = _("Court registry")
+ model_label_plural = _("Court registries")
+
objects = CourtRegistryManager()
court = models.ForeignKey(
Court,
@@ -158,7 +161,8 @@ def get_absolute_url(self):
return reverse("court_registry", args=[self.court.code, self.code])
def save(self, *args, **kwargs):
- self.code = f"{self.court.code}-{slugify(self.name)}"
+ if not self.code:
+ self.code = f"{self.court.code}-{slugify(self.name)}"
return super().save(*args, **kwargs)
diff --git a/peachjam/templates/peachjam/_registries.html b/peachjam/templates/peachjam/_registries.html
index cf433b198..1277913a0 100644
--- a/peachjam/templates/peachjam/_registries.html
+++ b/peachjam/templates/peachjam/_registries.html
@@ -1,6 +1,6 @@
{% load i18n %}
{% if registries %}
-
{% trans 'Registries' %}
+ {{ registry_label_plural }}
{% for group in registry_groups %}
diff --git a/peachjam/templates/peachjam/judgment_detail.html b/peachjam/templates/peachjam/judgment_detail.html
index 6e26aafe9..85211f778 100644
--- a/peachjam/templates/peachjam/judgment_detail.html
+++ b/peachjam/templates/peachjam/judgment_detail.html
@@ -36,7 +36,7 @@
{% endif %}
{% if document.registry %}
- {% trans 'Court Registry' %}
+ {{ document.registry.model_label }}
{{ document.registry.name }}
diff --git a/peachjam/tests/test_admin.py b/peachjam/tests/test_admin.py
index 0be1b0693..7ff310c6b 100644
--- a/peachjam/tests/test_admin.py
+++ b/peachjam/tests/test_admin.py
@@ -19,7 +19,7 @@ def test_add_judgment_docx_swap_pdf(self):
judgment_add_url = reverse("admin:peachjam_judgment_add")
judgment_list_url = reverse("admin:peachjam_judgment_changelist")
- form = self.app.get(judgment_add_url).form
+ form = self.app.get(judgment_add_url).forms["judgment_form"]
form["jurisdiction"] = "ZA"
form["court"] = "1"
@@ -66,7 +66,7 @@ def test_add_judgment_docx_swap_pdf(self):
judgment_change_url = reverse(
"admin:peachjam_judgment_change", kwargs={"object_id": judgment.pk}
)
- form2 = self.app.get(judgment_change_url).form
+ form2 = self.app.get(judgment_change_url).forms["judgment_form"]
with open(
os.path.abspath("peachjam/fixtures/source_files/gauteng_judgment.pdf"), "rb"
@@ -86,7 +86,7 @@ def test_add_judgment_pdf_swap_docx(self):
judgment_add_url = reverse("admin:peachjam_judgment_add")
judgment_list_url = reverse("admin:peachjam_judgment_changelist")
- form = self.app.get(judgment_add_url).form
+ form = self.app.get(judgment_add_url).forms["judgment_form"]
form["jurisdiction"] = "ZA"
form["court"] = "1"
@@ -133,7 +133,7 @@ def test_add_judgment_pdf_swap_docx(self):
) as docx_file:
docx_file_content = docx_file.read()
- form2 = self.app.get(judgment_change_url).form
+ form2 = self.app.get(judgment_change_url).forms["judgment_form"]
form2["source_file-0-file"] = Upload(
"file.docx",
docx_file_content,
diff --git a/peachjam/views/courts.py b/peachjam/views/courts.py
index 546dafb99..48d881f4c 100644
--- a/peachjam/views/courts.py
+++ b/peachjam/views/courts.py
@@ -40,6 +40,7 @@ def get_context_data(self, **kwargs):
context["doc_type"] = "Judgment"
context["court"] = self.court
context["formatted_court_name"] = self.formatted_court_name()
+ context["registry_label_plural"] = CourtRegistry.model_label_plural
context["registries"] = self.court.registries.exclude(
judgments__isnull=True
) # display registries with judgments only
diff --git a/peachjam_search/views.py b/peachjam_search/views.py
index c756bf852..12ee4cb2e 100644
--- a/peachjam_search/views.py
+++ b/peachjam_search/views.py
@@ -27,7 +27,7 @@
from rest_framework.exceptions import PermissionDenied
from rest_framework.permissions import AllowAny
-from peachjam.models import Author, Label, pj_settings
+from peachjam.models import Author, CourtRegistry, Label, pj_settings
from peachjam_api.serializers import LabelSerializer
from peachjam_search.documents import SearchableDocument, get_search_indexes
from peachjam_search.serializers import SearchableDocumentSerializer
@@ -170,6 +170,7 @@ def get_context_data(self, **kwargs):
}
context["labels"] = {
"author": Author.model_label,
+ "registry": CourtRegistry.model_label,
"searchPlaceholder": search_placeholder_text,
"documentLabels": LabelSerializer(Label.objects.all(), many=True).data,
}