Skip to content

Commit 6f2e33d

Browse files
committed
Fix
1 parent f6850b7 commit 6f2e33d

9 files changed

Lines changed: 189 additions & 144 deletions

File tree

landolfio/inventory/locale/nl/LC_MESSAGES/django.po

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ msgid ""
77
msgstr ""
88
"Project-Id-Version: \n"
99
"Report-Msgid-Bugs-To: \n"
10-
"POT-Creation-Date: 2025-09-28 11:50+0200\n"
10+
"POT-Creation-Date: 2025-10-12 11:10+0200\n"
1111
"PO-Revision-Date: 2023-02-21 13:39+0100\n"
1212
"Last-Translator: Job Doesburg <job.doesburg@gmail.com>\n"
1313
"Language-Team: \n"
@@ -514,6 +514,7 @@ msgid "Value must be a valid number for numeric properties"
514514
msgstr ""
515515

516516
#: inventory/models/asset_property.py:186
517+
#, python-brace-format
517518
msgid "Value must be one of the allowed dropdown options: {}"
518519
msgstr ""
519520

landolfio/inventory_frontend/templates/list.html

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -385,14 +385,22 @@
385385
{% endif %}
386386
</form>
387387

388-
<!-- View Toggle -->
389-
<div class="btn-group d-none d-md-flex mb-4" role="group">
390-
<button type="button" id="grid-view-btn" class="btn btn-outline-primary active">
391-
<i class="fas fa-th-large"></i><span class="ms-1">{% translate "Grid" %}</span>
392-
</button>
393-
<button type="button" id="list-view-btn" class="btn btn-outline-primary">
394-
<i class="fas fa-list"></i><span class="ms-1">{% translate "List" %}</span>
395-
</button>
388+
<!-- View Toggle and Page Size -->
389+
<div class="d-none d-md-flex gap-2 mb-4">
390+
<div class="btn-group" role="group">
391+
<button type="button" id="grid-view-btn" class="btn btn-outline-primary active">
392+
<i class="fas fa-th-large"></i><span class="ms-1">{% translate "Grid" %}</span>
393+
</button>
394+
<button type="button" id="list-view-btn" class="btn btn-outline-primary">
395+
<i class="fas fa-list"></i><span class="ms-1">{% translate "List" %}</span>
396+
</button>
397+
</div>
398+
<select class="form-select" style="width: auto;" id="page-size-selector" onchange="changePageSize(this.value)">
399+
<option value="12" {% if request.GET.page_size == '12' or not request.GET.page_size %}selected{% endif %}>12</option>
400+
<option value="24" {% if request.GET.page_size == '24' %}selected{% endif %}>24</option>
401+
<option value="48" {% if request.GET.page_size == '48' %}selected{% endif %}>48</option>
402+
<option value="96" {% if request.GET.page_size == '96' %}selected{% endif %}>96</option>
403+
</select>
396404
</div>
397405
</div>
398406
</div>
@@ -1064,6 +1072,16 @@ <h4 class="text-muted">{% translate "No assets found" %}</h4>
10641072
updateFilters();
10651073
}
10661074

1075+
/**
1076+
* Change page size
1077+
*/
1078+
function changePageSize(pageSize) {
1079+
const url = new URL(window.location);
1080+
url.searchParams.set('page_size', pageSize);
1081+
url.searchParams.delete('page'); // Reset to page 1
1082+
window.location.href = url.toString();
1083+
}
1084+
10671085
/**
10681086
* Initialize page functionality
10691087
*/

landolfio/inventory_frontend/views.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,18 @@ class AssetListView(LoginRequiredMixin, ListView):
9494
model = Asset
9595
paginate_by = 12
9696

97+
def get_paginate_by(self, queryset):
98+
"""Allow user to specify page size via GET parameter."""
99+
page_size = self.request.GET.get("page_size", self.paginate_by)
100+
try:
101+
page_size = int(page_size)
102+
# Limit to reasonable values
103+
if page_size in [12, 24, 48, 96]:
104+
return page_size
105+
except (ValueError, TypeError):
106+
pass
107+
return self.paginate_by
108+
97109
def get_queryset(self):
98110
queryset = super().get_queryset()
99111

-367 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)