From 345b51e1eb22d702be228e13c35c1535175d9523 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20S=C3=A1nchez?= Date: Wed, 18 Dec 2024 07:30:08 -0300 Subject: [PATCH] add custom table page length --- src/core/logic.py | 6 ++++++ src/templates/admin/elements/datatables.html | 4 +++- .../admin/elements/forms/group_styling.html | 1 + src/utils/install/journal_defaults.json | 19 +++++++++++++++++++ 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/core/logic.py b/src/core/logic.py index 98268f3ae..25ca34977 100755 --- a/src/core/logic.py +++ b/src/core/logic.py @@ -502,6 +502,12 @@ def get_settings_to_edit(display_group, journal, user): 'display_journal_title', journal), }, + { + 'name': 'table_default_page_length', + 'object': setting_handler.get_setting('styling', + 'table_default_page_length', + journal), + }, ] setting_group = 'styling' elif display_group == 'editorial': diff --git a/src/templates/admin/elements/datatables.html b/src/templates/admin/elements/datatables.html index 399e22a2a..c584e906b 100644 --- a/src/templates/admin/elements/datatables.html +++ b/src/templates/admin/elements/datatables.html @@ -13,7 +13,9 @@ {% if sort and order %}"order": [[ {{ sort }}, "{{ order }}" ]],{% endif %} {% if sort_list %}"order": [{{ sort_list }}],{% endif %} {% if disable_ordering %}"ordering": false,{% endif %} - {% if page_length %}"pageLength": {{ page_length }},{% endif %} + {% if journal_settings.styling.table_default_page_length %}"pageLength": {{ journal_settings.styling.table_default_page_length }}, + {% else %}{% if page_length %}"pageLength": {{ page_length }},{% endif %} + {% endif %} }); }); }); diff --git a/src/templates/admin/elements/forms/group_styling.html b/src/templates/admin/elements/forms/group_styling.html index ca8078f55..687232557 100644 --- a/src/templates/admin/elements/forms/group_styling.html +++ b/src/templates/admin/elements/forms/group_styling.html @@ -3,4 +3,5 @@

{% trans 'Full Width Navbar only applies to the Material theme' %}.

{% include "admin/elements/forms/field.html" with field=edit_form.multi_page_editorial %} {% include "admin/elements/forms/field.html" with field=edit_form.display_journal_title %} + {% include "admin/elements/forms/field.html" with field=edit_form.table_default_page_length %} diff --git a/src/utils/install/journal_defaults.json b/src/utils/install/journal_defaults.json index 4601c628e..13a14cf96 100644 --- a/src/utils/install/journal_defaults.json +++ b/src/utils/install/journal_defaults.json @@ -5132,5 +5132,24 @@ "value": { "default": "" } + }, + { + "group": { + "name": "styling" + }, + "setting": { + "description": "Default page length for tables in the platform. If the value is 0, each table will have a custom length. To show all elements in all tables, use -1.", + "is_translatable": false, + "name": "table_default_page_length", + "pretty_name": "Table Default Page Length", + "type": "number" + }, + "value": { + "default": "0" + }, + "editable_by": [ + "editor", + "journal-manager" + ] } ]