From 61196cea5181a9921b1e4c6d67eafa093ff611c3 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 17 Apr 2024 20:48:00 -0700 Subject: [PATCH] Refactoring names --- .../e2e/dashboard/requests/api-dashboard1.har | 2 +- .../e2e/dashboard/requests/api-dashboard2.har | 2 +- .../e2e/dashboard/requests/api-dashboard3.har | 2 +- .../e2e/dashboard/requests/api-dashboard4.har | 2 +- .../admin/settings/settings.component.html | 8 +-- .../admin/settings/settings.component.ts | 12 ++-- .../saved-view-widget.component.html | 4 +- .../saved-view-widget.component.spec.ts | 6 +- .../saved-view-widget.component.ts | 6 +- .../document-list/document-list.component.ts | 4 +- src-ui/src/app/data/saved-view.ts | 8 +-- ...7_savedview_dasboard_view_mode_and_more.py | 6 +- src/documents/models.py | 28 +++++----- src/documents/serialisers.py | 12 ++-- src/documents/tests/test_api_documents.py | 56 +++++++++---------- 15 files changed, 77 insertions(+), 81 deletions(-) diff --git a/src-ui/e2e/dashboard/requests/api-dashboard1.har b/src-ui/e2e/dashboard/requests/api-dashboard1.har index d7380511b..a0e6ea088 100644 --- a/src-ui/e2e/dashboard/requests/api-dashboard1.har +++ b/src-ui/e2e/dashboard/requests/api-dashboard1.har @@ -124,7 +124,7 @@ "content": { "size": -1, "mimeType": "application/json", - "text": "{\"count\":6,\"next\":null,\"previous\":null,\"all\":[8,17,7,4,11,15],\"results\":[{\"id\":8,\"name\":\"Correspondent 2\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":3,\"value\":\"2\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":17,\"name\":\"In the Last Month\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":20,\"value\":\"created:[-1 month to now]\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":7,\"name\":\"Inbox\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"9\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":4,\"name\":\"Recently Added\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":11,\"name\":\"Tag: Another Sample Tag\",\"show_on_dashboard\":false,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"4\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":15,\"name\":\"View ASN not empty\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":18,\"value\":\"false\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]}]}" + "text": "{\"count\":6,\"next\":null,\"previous\":null,\"all\":[8,17,7,4,11,15],\"results\":[{\"id\":8,\"name\":\"Correspondent 2\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":3,\"value\":\"2\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":17,\"name\":\"In the Last Month\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":20,\"value\":\"created:[-1 month to now]\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":7,\"name\":\"Inbox\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"9\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":4,\"name\":\"Recently Added\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":11,\"name\":\"Tag: Another Sample Tag\",\"show_on_dashboard\":false,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"4\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":15,\"name\":\"View ASN not empty\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":18,\"value\":\"false\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]}]}" }, "headersSize": -1, "bodySize": -1, diff --git a/src-ui/e2e/dashboard/requests/api-dashboard2.har b/src-ui/e2e/dashboard/requests/api-dashboard2.har index d0c4f3fd6..9b228ef74 100644 --- a/src-ui/e2e/dashboard/requests/api-dashboard2.har +++ b/src-ui/e2e/dashboard/requests/api-dashboard2.har @@ -124,7 +124,7 @@ "content": { "size": -1, "mimeType": "application/json", - "text": "{\"count\":6,\"next\":null,\"previous\":null,\"all\":[8,17,7,4,11,15],\"results\":[{\"id\":8,\"name\":\"Correspondent 2\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":3,\"value\":\"2\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":17,\"name\":\"In the Last Month\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":20,\"value\":\"created:[-1 month to now]\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":7,\"name\":\"Inbox\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"9\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":4,\"name\":\"Recently Added\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":11,\"name\":\"Tag: Another Sample Tag\",\"show_on_dashboard\":false,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"4\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":15,\"name\":\"View ASN not empty\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":18,\"value\":\"false\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]}]}" + "text": "{\"count\":6,\"next\":null,\"previous\":null,\"all\":[8,17,7,4,11,15],\"results\":[{\"id\":8,\"name\":\"Correspondent 2\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":3,\"value\":\"2\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":17,\"name\":\"In the Last Month\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":20,\"value\":\"created:[-1 month to now]\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":7,\"name\":\"Inbox\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"9\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":4,\"name\":\"Recently Added\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":11,\"name\":\"Tag: Another Sample Tag\",\"show_on_dashboard\":false,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"4\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":15,\"name\":\"View ASN not empty\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":18,\"value\":\"false\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]}]}" }, "headersSize": -1, "bodySize": -1, diff --git a/src-ui/e2e/dashboard/requests/api-dashboard3.har b/src-ui/e2e/dashboard/requests/api-dashboard3.har index d1ee6dd82..01a590c4e 100644 --- a/src-ui/e2e/dashboard/requests/api-dashboard3.har +++ b/src-ui/e2e/dashboard/requests/api-dashboard3.har @@ -124,7 +124,7 @@ "content": { "size": -1, "mimeType": "application/json", - "text": "{\"count\":6,\"next\":null,\"previous\":null,\"all\":[8,17,7,4,11,15],\"results\":[{\"id\":8,\"name\":\"Correspondent 2\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":3,\"value\":\"2\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":17,\"name\":\"In the Last Month\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":20,\"value\":\"created:[-1 month to now]\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":7,\"name\":\"Inbox\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"9\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":4,\"name\":\"Recently Added\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":11,\"name\":\"Tag: Another Sample Tag\",\"show_on_dashboard\":false,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"4\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":15,\"name\":\"View ASN not empty\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":18,\"value\":\"false\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]}]}" + "text": "{\"count\":6,\"next\":null,\"previous\":null,\"all\":[8,17,7,4,11,15],\"results\":[{\"id\":8,\"name\":\"Correspondent 2\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":3,\"value\":\"2\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":17,\"name\":\"In the Last Month\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":20,\"value\":\"created:[-1 month to now]\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":7,\"name\":\"Inbox\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"9\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":4,\"name\":\"Recently Added\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":11,\"name\":\"Tag: Another Sample Tag\",\"show_on_dashboard\":false,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"4\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":15,\"name\":\"View ASN not empty\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":18,\"value\":\"false\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]}]}" }, "headersSize": -1, "bodySize": -1, diff --git a/src-ui/e2e/dashboard/requests/api-dashboard4.har b/src-ui/e2e/dashboard/requests/api-dashboard4.har index 16bd4f57b..a65752705 100644 --- a/src-ui/e2e/dashboard/requests/api-dashboard4.har +++ b/src-ui/e2e/dashboard/requests/api-dashboard4.har @@ -124,7 +124,7 @@ "content": { "size": -1, "mimeType": "application/json", - "text": "{\"count\":6,\"next\":null,\"previous\":null,\"all\":[8,17,7,4,11,15],\"results\":[{\"id\":8,\"name\":\"Correspondent 2\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":3,\"value\":\"2\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":17,\"name\":\"In the Last Month\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":20,\"value\":\"created:[-1 month to now]\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":7,\"name\":\"Inbox\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"9\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":4,\"name\":\"Recently Added\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":11,\"name\":\"Tag: Another Sample Tag\",\"show_on_dashboard\":false,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"4\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":15,\"name\":\"View ASN not empty\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":18,\"value\":\"false\"}],\"owner\":\"2\",\"user_can_change\":true,\"dashboard_view_limit\":10,\"dashboard_view_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]}]}" + "text": "{\"count\":6,\"next\":null,\"previous\":null,\"all\":[8,17,7,4,11,15],\"results\":[{\"id\":8,\"name\":\"Correspondent 2\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":3,\"value\":\"2\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":17,\"name\":\"In the Last Month\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":20,\"value\":\"created:[-1 month to now]\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":7,\"name\":\"Inbox\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"9\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":4,\"name\":\"Recently Added\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":11,\"name\":\"Tag: Another Sample Tag\",\"show_on_dashboard\":false,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"4\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]},{\"id\":15,\"name\":\"View ASN not empty\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":18,\"value\":\"false\"}],\"owner\":\"2\",\"user_can_change\":true,\"page_size\":10,\"display_mode\":\"table\",\"document_display_fields\":[\"created\",\"title\",\"tag\",\"documenttype\"]}]}" }, "headersSize": -1, "bodySize": -1, diff --git a/src-ui/src/app/components/admin/settings/settings.component.html b/src-ui/src/app/components/admin/settings/settings.component.html index 6f4b90d59..d54b02de1 100644 --- a/src-ui/src/app/components/admin/settings/settings.component.html +++ b/src-ui/src/app/components/admin/settings/settings.component.html @@ -354,16 +354,16 @@ @if (savedViewGroup.get(view.id.toString()).get('show_on_dashboard').value) {
- +
- -
- @if (savedViewGroup.get(view.id.toString()).get('dashboard_view_mode').value === DashboardViewMode.TABLE && documentDisplayFields) { + @if (savedViewGroup.get(view.id.toString()).get('display_mode').value === DashboardViewMode.TABLE && documentDisplayFields) { }
diff --git a/src-ui/src/app/components/admin/settings/settings.component.ts b/src-ui/src/app/components/admin/settings/settings.component.ts index be7629088..7112c03c5 100644 --- a/src-ui/src/app/components/admin/settings/settings.component.ts +++ b/src-ui/src/app/components/admin/settings/settings.component.ts @@ -28,7 +28,7 @@ import { import { Group } from 'src/app/data/group' import { DOCUMENT_DISPLAY_FIELDS, - DashboardViewMode, + DisplayMode, DocumentDisplayField, SavedView, } from 'src/app/data/saved-view' @@ -80,7 +80,7 @@ export class SettingsComponent implements OnInit, AfterViewInit, OnDestroy, DirtyComponent { activeNavID: number - DashboardViewMode = DashboardViewMode + DashboardViewMode = DisplayMode savedViewGroup = new FormGroup({}) @@ -367,8 +367,8 @@ export class SettingsComponent name: view.name, show_on_dashboard: view.show_on_dashboard, show_in_sidebar: view.show_in_sidebar, - dashboard_view_limit: view.dashboard_view_limit, - dashboard_view_mode: view.dashboard_view_mode, + page_size: view.page_size, + display_mode: view.display_mode, document_display_fields: view.document_display_fields, } this.savedViewGroup.addControl( @@ -378,8 +378,8 @@ export class SettingsComponent name: new FormControl(null), show_on_dashboard: new FormControl(null), show_in_sidebar: new FormControl(null), - dashboard_view_limit: new FormControl(null), - dashboard_view_mode: new FormControl(null), + page_size: new FormControl(null), + display_mode: new FormControl(null), document_display_fields: new FormControl([]), }) ) diff --git a/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html b/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html index 9a6f4eaae..eb6ac003e 100644 --- a/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html +++ b/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html @@ -9,7 +9,7 @@ Show all } - @if (documents.length && savedView.dashboard_view_mode === DashboardViewMode.TABLE) { + @if (documents.length && savedView.display_mode === DashboardViewMode.TABLE) { @@ -111,7 +111,7 @@ }
- } @else if (documents.length && savedView.dashboard_view_mode === DashboardViewMode.SMALL_CARDS) { + } @else if (documents.length && savedView.display_mode === DashboardViewMode.SMALL_CARDS) {
@for (d of documents; track d.id) { diff --git a/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.spec.ts b/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.spec.ts index 63f90ccf9..63562b36a 100644 --- a/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.spec.ts +++ b/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.spec.ts @@ -18,7 +18,7 @@ import { FILTER_STORAGE_PATH, } from 'src/app/data/filter-rule-type' import { - DashboardViewMode, + DisplayMode, DocumentDisplayField, SavedView, } from 'src/app/data/saved-view' @@ -56,8 +56,8 @@ const savedView: SavedView = { value: '1,2', }, ], - dashboard_view_limit: 20, - dashboard_view_mode: DashboardViewMode.TABLE, + page_size: 20, + display_mode: DisplayMode.TABLE, document_display_fields: [ DocumentDisplayField.CREATED, DocumentDisplayField.TITLE, diff --git a/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.ts b/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.ts index b2792f49d..5d2f68978 100644 --- a/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.ts +++ b/src-ui/src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.ts @@ -11,7 +11,7 @@ import { Subject, takeUntil } from 'rxjs' import { Document } from 'src/app/data/document' import { DocumentDisplayField, - DashboardViewMode, + DisplayMode, SavedView, DOCUMENT_DISPLAY_FIELDS, } from 'src/app/data/saved-view' @@ -45,7 +45,7 @@ export class SavedViewWidgetComponent extends ComponentWithPermissions implements OnInit, OnDestroy { - public DashboardViewMode = DashboardViewMode + public DashboardViewMode = DisplayMode public DashboardViewTableColumn = DocumentDisplayField public CustomFieldDataType = CustomFieldDataType @@ -136,7 +136,7 @@ export class SavedViewWidgetComponent this.documentService .listFiltered( 1, - this.savedView.dashboard_view_limit, + this.savedView.page_size, this.savedView.sort_field, this.savedView.sort_reverse, this.savedView.filter_rules, diff --git a/src-ui/src/app/components/document-list/document-list.component.ts b/src-ui/src/app/components/document-list/document-list.component.ts index 7d27f4e3e..e2bd73862 100644 --- a/src-ui/src/app/components/document-list/document-list.component.ts +++ b/src-ui/src/app/components/document-list/document-list.component.ts @@ -16,7 +16,7 @@ import { } from 'src/app/utils/filter-rules' import { FILTER_FULLTEXT_MORELIKE } from 'src/app/data/filter-rule-type' import { Document } from 'src/app/data/document' -import { SavedView } from 'src/app/data/saved-view' +import { DisplayMode, SavedView } from 'src/app/data/saved-view' import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { SortableDirective, @@ -66,7 +66,7 @@ export class DocumentListComponent @ViewChildren(SortableDirective) headers: QueryList - displayMode = 'smallCards' // largeCards, smallCards, details + displayMode: string = DisplayMode.SMALL_CARDS // largeCards, smallCards, details unmodifiedFilterRules: FilterRule[] = [] private unmodifiedSavedView: SavedView diff --git a/src-ui/src/app/data/saved-view.ts b/src-ui/src/app/data/saved-view.ts index bfd8b42f6..3c4d90930 100644 --- a/src-ui/src/app/data/saved-view.ts +++ b/src-ui/src/app/data/saved-view.ts @@ -1,9 +1,9 @@ import { FilterRule } from './filter-rule' import { ObjectWithPermissions } from './object-with-permissions' -export enum DashboardViewMode { +export enum DisplayMode { TABLE = 'table', - SMALL_CARDS = 'small_cards', + SMALL_CARDS = 'smallCards', } export enum DocumentDisplayField { @@ -61,9 +61,9 @@ export interface SavedView extends ObjectWithPermissions { filter_rules: FilterRule[] - dashboard_view_limit?: number + page_size?: number - dashboard_view_mode?: DashboardViewMode + display_mode?: DisplayMode document_display_fields?: DocumentDisplayField[] } diff --git a/src/documents/migrations/1047_savedview_dasboard_view_mode_and_more.py b/src/documents/migrations/1047_savedview_dasboard_view_mode_and_more.py index 3e19ece0d..a423251cd 100644 --- a/src/documents/migrations/1047_savedview_dasboard_view_mode_and_more.py +++ b/src/documents/migrations/1047_savedview_dasboard_view_mode_and_more.py @@ -15,9 +15,9 @@ class Migration(migrations.Migration): operations = [ migrations.AddField( model_name="savedview", - name="dashboard_view_mode", + name="display_mode", field=models.CharField( - choices=[("table", "Table"), ("small_cards", "Small Cards")], + choices=[("table", "Table"), ("smallCards", "Small Cards")], default="table", max_length=128, verbose_name="Dashboard view display mode", @@ -25,7 +25,7 @@ class Migration(migrations.Migration): ), migrations.AddField( model_name="savedview", - name="dashboard_view_limit", + name="page_size", field=models.PositiveIntegerField( default=10, validators=[django.core.validators.MinValueValidator(1)], diff --git a/src/documents/models.py b/src/documents/models.py index 811437c79..987414286 100644 --- a/src/documents/models.py +++ b/src/documents/models.py @@ -542,7 +542,7 @@ class DynamicMultiSelectField(MultiSelectField): if self.dynamic_choices: for key, model in self.dynamic_choices: try: - for obj in model.objects.all(): + for obj in model.objects.all(): # pragma: no cover value.append((key % obj.pk, obj.name)) except Exception: pass @@ -552,11 +552,11 @@ class DynamicMultiSelectField(MultiSelectField): class SavedView(ModelWithOwner): - class DashboardViewDisplayMode(models.TextChoices): + class ViewDisplayMode(models.TextChoices): TABLE = ("table", _("Table")) - SMALL_CARDS = ("small_cards", _("Small Cards")) + SMALL_CARDS = ("smallCards", _("Small Cards")) - class DashboardViewTableColumns(models.TextChoices): + class DocumentDisplayFields(models.TextChoices): TITLE = ("title", _("Title")) CREATED = ("created", _("Created")) ADDED = ("added", _("Added")) @@ -565,7 +565,7 @@ class SavedView(ModelWithOwner): CORRESPONDENT = ("correspondent", _("Correspondent")) STORAGE_PATH = ("storagepath", _("Storage Path")) - class DashboardViewDynamicTableColumns: + class DynamicDocumentDisplayFields: CUSTOM_FIELD = ("custom_field_%d", CustomField) name = models.CharField(_("name"), max_length=128) @@ -585,25 +585,25 @@ class SavedView(ModelWithOwner): ) sort_reverse = models.BooleanField(_("sort reverse"), default=False) - dashboard_view_limit = models.PositiveIntegerField( - _("Dashboard view limit"), + page_size = models.PositiveIntegerField( + _("View page size"), default=10, validators=[MinValueValidator(1)], ) - dashboard_view_mode = models.CharField( + display_mode = models.CharField( max_length=128, - verbose_name=_("Dashboard view display mode"), - choices=DashboardViewDisplayMode.choices, - default=DashboardViewDisplayMode.TABLE, + verbose_name=_("View display mode"), + choices=ViewDisplayMode.choices, + default=ViewDisplayMode.TABLE, ) document_display_fields = DynamicMultiSelectField( max_length=128, verbose_name=_("Document display fields"), - choices=DashboardViewTableColumns.choices, - dyanmic_choices=[DashboardViewDynamicTableColumns.CUSTOM_FIELD], - default=f"{DashboardViewTableColumns.CREATED},{DashboardViewTableColumns.TITLE},{DashboardViewTableColumns.TAGS},{DashboardViewTableColumns.CORRESPONDENT}", + choices=DocumentDisplayFields.choices, + dyanmic_choices=[DynamicDocumentDisplayFields.CUSTOM_FIELD], + default=f"{DocumentDisplayFields.CREATED},{DocumentDisplayFields.TITLE},{DocumentDisplayFields.TAGS},{DocumentDisplayFields.CORRESPONDENT}", ) class Meta: diff --git a/src/documents/serialisers.py b/src/documents/serialisers.py index 2382030c8..1ae971a52 100644 --- a/src/documents/serialisers.py +++ b/src/documents/serialisers.py @@ -823,12 +823,8 @@ class DynamicOrderedMultipleChoiceField(fields.MultipleChoiceField): choices = property(_get_choices, _set_choices) def to_internal_value(self, data): + super().to_internal_value(data) # MultipleChoiceField doesn't preserve order, so we use an array - if isinstance(data, str) or not hasattr(data, "__iter__"): - self.fail("not_a_list", input_type=type(data).__name__) - if not self.allow_empty and len(data) == 0: - self.fail("empty") - return [fields.ChoiceField.to_internal_value(self, item) for item in data] def to_representation(self, value): @@ -839,7 +835,7 @@ class DynamicOrderedMultipleChoiceField(fields.MultipleChoiceField): class SavedViewSerializer(OwnedObjectSerializer): filter_rules = SavedViewFilterRuleSerializer(many=True) document_display_fields = DynamicOrderedMultipleChoiceField( - choices=SavedView.DashboardViewTableColumns.choices, + choices=SavedView.DocumentDisplayFields.choices, dyanmic_choices=[("custom_field_%d", CustomField)], required=False, ) @@ -854,8 +850,8 @@ class SavedViewSerializer(OwnedObjectSerializer): "sort_field", "sort_reverse", "filter_rules", - "dashboard_view_limit", - "dashboard_view_mode", + "page_size", + "display_mode", "document_display_fields", "owner", "permissions", diff --git a/src/documents/tests/test_api_documents.py b/src/documents/tests/test_api_documents.py index 6bdfae0ae..7fc9a857f 100644 --- a/src/documents/tests/test_api_documents.py +++ b/src/documents/tests/test_api_documents.py @@ -1543,11 +1543,11 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase): "show_in_sidebar": True, "sort_field": "created2", "filter_rules": [{"rule_type": 4, "value": "test"}], - "dashboard_view_limit": 20, - "dashboard_view_mode": SavedView.DashboardViewDisplayMode.SMALL_CARDS, + "page_size": 20, + "display_mode": SavedView.ViewDisplayMode.SMALL_CARDS, "document_display_fields": [ - SavedView.DashboardViewTableColumns.TITLE, - SavedView.DashboardViewTableColumns.CREATED, + SavedView.DocumentDisplayFields.TITLE, + SavedView.DocumentDisplayFields.CREATED, ], } @@ -1555,16 +1555,16 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase): self.assertEqual(response.status_code, status.HTTP_201_CREATED) v1 = SavedView.objects.get(name="test") - self.assertEqual(v1.dashboard_view_limit, 20) + self.assertEqual(v1.page_size, 20) self.assertEqual( - v1.dashboard_view_mode, - SavedView.DashboardViewDisplayMode.SMALL_CARDS, + v1.display_mode, + SavedView.ViewDisplayMode.SMALL_CARDS, ) self.assertEqual( v1.document_display_fields, [ - SavedView.DashboardViewTableColumns.TITLE, - SavedView.DashboardViewTableColumns.CREATED, + SavedView.DocumentDisplayFields.TITLE, + SavedView.DocumentDisplayFields.CREATED, ], ) @@ -1572,9 +1572,9 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase): f"/api/saved_views/{v1.id}/", { "document_display_fields": [ - SavedView.DashboardViewTableColumns.TAGS, - SavedView.DashboardViewTableColumns.TITLE, - SavedView.DashboardViewTableColumns.CREATED, + SavedView.DocumentDisplayFields.TAGS, + SavedView.DocumentDisplayFields.TITLE, + SavedView.DocumentDisplayFields.CREATED, ], }, format="json", @@ -1585,9 +1585,9 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase): self.assertEqual( v1.document_display_fields, [ - SavedView.DashboardViewTableColumns.TAGS, - SavedView.DashboardViewTableColumns.TITLE, - SavedView.DashboardViewTableColumns.CREATED, + SavedView.DocumentDisplayFields.TAGS, + SavedView.DocumentDisplayFields.TITLE, + SavedView.DocumentDisplayFields.CREATED, ], ) @@ -1598,11 +1598,11 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase): "show_in_sidebar": True, "sort_field": "created2", "filter_rules": [{"rule_type": 4, "value": "test"}], - "dashboard_view_limit": 20, - "dashboard_view_mode": SavedView.DashboardViewDisplayMode.SMALL_CARDS, + "page_size": 20, + "display_mode": SavedView.ViewDisplayMode.SMALL_CARDS, "document_display_fields": [ - SavedView.DashboardViewTableColumns.TITLE, - SavedView.DashboardViewTableColumns.CREATED, + SavedView.DocumentDisplayFields.TITLE, + SavedView.DocumentDisplayFields.CREATED, ], } @@ -1620,9 +1620,9 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase): f"/api/saved_views/{v1.id}/", { "document_display_fields": [ - SavedView.DashboardViewTableColumns.TITLE, - SavedView.DashboardViewTableColumns.CREATED, - SavedView.DashboardViewDynamicTableColumns.CUSTOM_FIELD[0] + SavedView.DocumentDisplayFields.TITLE, + SavedView.DocumentDisplayFields.CREATED, + SavedView.DynamicDocumentDisplayFields.CUSTOM_FIELD[0] % custom_field.id, ], }, @@ -1634,9 +1634,9 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase): self.assertEqual( v1.document_display_fields, [ - str(SavedView.DashboardViewTableColumns.TITLE), - str(SavedView.DashboardViewTableColumns.CREATED), - SavedView.DashboardViewDynamicTableColumns.CUSTOM_FIELD[0] + str(SavedView.DocumentDisplayFields.TITLE), + str(SavedView.DocumentDisplayFields.CREATED), + SavedView.DynamicDocumentDisplayFields.CUSTOM_FIELD[0] % custom_field.id, ], ) @@ -1646,9 +1646,9 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase): f"/api/saved_views/{v1.id}/", { "document_display_fields": [ - SavedView.DashboardViewTableColumns.TITLE, - SavedView.DashboardViewTableColumns.CREATED, - SavedView.DashboardViewDynamicTableColumns.CUSTOM_FIELD[0] % 99, + SavedView.DocumentDisplayFields.TITLE, + SavedView.DocumentDisplayFields.CREATED, + SavedView.DynamicDocumentDisplayFields.CUSTOM_FIELD[0] % 99, ], }, format="json",