From 77c041322fc9b3e1fbd34f79fc254e3bf4d8af0a Mon Sep 17 00:00:00 2001 From: Jason Heppler Date: Fri, 6 Sep 2024 10:29:09 -0500 Subject: [PATCH 1/7] feat: Add text search to filter --- material/filters.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/material/filters.py b/material/filters.py index dc57cca..67c5da3 100644 --- a/material/filters.py +++ b/material/filters.py @@ -62,6 +62,26 @@ class TextileFilter(django_filters.FilterSet): keywords = django_filters.CharFilter( field_name="keywords__name", lookup_expr="icontains", label="Keywords" ) + text_search = django_filters.CharFilter( + method="search_text", + label="Text search", + ) + + def search_text(self, queryset, name, value): + return queryset.filter( + Q(year__icontains=value) + | Q(primary_textile_types__name__icontains=value) + | Q(secondary_textile_types__name__icontains=value) + | Q(source_type__icontains=value) + | Q(circulation__icontains=value) + | Q(source_reference__icontains=value) + | Q(from_area__name__icontains=value) + | Q(to_area__name__icontains=value) + | Q(from_place__city__icontains=value) + | Q(to_place__city__icontains=value) + | Q(summary_of_record__icontains=value) + | Q(transcription__icontains=value) + ) class Meta: model = TextileRecord @@ -79,5 +99,6 @@ class Meta: "summary_of_record", "transcription", "keywords", + "text_search", ] empty_text = "No results match the search criteria." From cc82e912c7d20bf962a6825615688200c3693fc5 Mon Sep 17 00:00:00 2001 From: Jason Heppler Date: Fri, 6 Sep 2024 10:29:31 -0500 Subject: [PATCH 2/7] refactor: Adjustments to table layout --- material/tables.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/material/tables.py b/material/tables.py index eade4ee..29679f1 100644 --- a/material/tables.py +++ b/material/tables.py @@ -10,9 +10,18 @@ class TextileTable(tables.Table): image = tables.TemplateColumn( template_name="database/image_display.html", - verbose_name="Image", + verbose_name="Preview", orderable=False, ) + id = tables.TemplateColumn( + template_code=""" + + """, + orderable=False, + verbose_name="Item ID", + ) year = tables.Column(verbose_name="Year", orderable=False) textile_type = tables.TemplateColumn( template_name="database/textile_type.html", @@ -46,6 +55,7 @@ class Meta: "class": "min-w-full divide-y divide-gray-200", } fields = ( + "id", "image", "year", "textile_type", From c722dbecb56fdcb0b11df8ae7fa873774caa84a3 Mon Sep 17 00:00:00 2001 From: Jason Heppler Date: Fri, 6 Sep 2024 10:29:46 -0500 Subject: [PATCH 3/7] style: New GMU logo --- static/img/gmu-logo.png | Bin 7917 -> 23816 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/static/img/gmu-logo.png b/static/img/gmu-logo.png index 31125fccaef7111f2e6591a901bf7a3bd5ab3ffd..32bb268f9fb593a4baba00026f19ee77ea5eaf67 100644 GIT binary patch literal 23816 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 literal 7917 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 PZ|MRlYA967e+c~_IkIit From 2d05ebfb1b4b0907777f8bb168b2687126c8b907 Mon Sep 17 00:00:00 2001 From: Jason Heppler Date: Fri, 6 Sep 2024 10:30:36 -0500 Subject: [PATCH 4/7] refactor: Renamed modal labels and added additional fields; fixed styling on View Record button --- static/js/database.js | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/static/js/database.js b/static/js/database.js index bcb3e4b..6e04808 100644 --- a/static/js/database.js +++ b/static/js/database.js @@ -122,23 +122,32 @@ function openModal(recordId, recordUrl) { // Populate the modal content with the fetched data const modalContent = document.getElementById("modal-content"); modalContent.innerHTML = ` -

To Area: ${safeData(data.to_area)}

-

From Area: ${safeData(data.from_area)}

-

To Place: ${safeData(data.to_place)}

-

From Place: ${safeData(data.from_place)}

-

Transcription:

+

Record ID: ${recordId}

+

Originating Area: ${safeData(data.from_area)}

+

Originating Place: ${safeData(data.from_place)}

+

Destination Area: ${safeData(data.to_area)}

+

Destination Place: ${safeData(data.to_place)}

+

Summary of Record: ${safeData( + data.summary_of_record, + )}

+ +

Excerpt from Record:

${safeData( data.transcription, )}

${safeData( data.source_reference, )}

-

Summary of Record: ${safeData( - data.summary_of_record, +

Source Reference: ${safeData( + data.source_reference, )}

Source Type: ${safeData(data.source_type)}

+

Description of Source: ${safeData( + data.description_of_source, + )}

+

Record Creator: ${safeData(data.record_creator)}

`; From 80f6277a95c96014211c39ffcf67a00b944ebc2c Mon Sep 17 00:00:00 2001 From: Jason Heppler Date: Fri, 6 Sep 2024 10:30:50 -0500 Subject: [PATCH 5/7] style: Linting corrections --- templates/database/image_display.html | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/templates/database/image_display.html b/templates/database/image_display.html index 10c7a89..4713e9c 100644 --- a/templates/database/image_display.html +++ b/templates/database/image_display.html @@ -1,10 +1,14 @@
- {% if record.images.exists %} - - {{ record.images.first.alt_text }} - - {% else %} -

No images attached.

- {% endif %} - View item details -
\ No newline at end of file + {% if record.images.exists %} + + {{ record.images.first.alt_text }} + + {% else %} +

No images attached.

+ {% endif %} + + From 2acd37513f9f32b2b67d8a20aee6751d8e5b7ad8 Mon Sep 17 00:00:00 2001 From: Jason Heppler Date: Fri, 6 Sep 2024 10:31:18 -0500 Subject: [PATCH 6/7] refactor: Filter is open by default --- templates/database/textiles.html | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/templates/database/textiles.html b/templates/database/textiles.html index 8363f73..c1bfa7a 100644 --- a/templates/database/textiles.html +++ b/templates/database/textiles.html @@ -14,7 +14,7 @@

Textiles Database

{# Search form #} -
+
Filters @@ -91,7 +91,7 @@

Textiles Database

- +
+
+ + +
- - + +
@@ -146,4 +150,4 @@