From abc773fe6e9e16fa14749403ee77f65370791333 Mon Sep 17 00:00:00 2001
From: Cayo Puigdefabregas
Date: Fri, 25 Nov 2022 18:56:56 +0100
Subject: [PATCH] add pagination in all list of devices
---
ereuse_devicehub/inventory/views.py | 20 +-
.../templates/inventory/all_device_list.html | 671 ------------------
.../templates/inventory/device_list.html | 119 +++-
3 files changed, 125 insertions(+), 685 deletions(-)
delete mode 100644 ereuse_devicehub/templates/inventory/all_device_list.html
diff --git a/ereuse_devicehub/inventory/views.py b/ereuse_devicehub/inventory/views.py
index 7e4d8ef8..59e66e07 100644
--- a/ereuse_devicehub/inventory/views.py
+++ b/ereuse_devicehub/inventory/views.py
@@ -64,9 +64,17 @@ class DeviceListMixin(GenericMixin):
def get_context(self, lot_id=None, all_devices=False):
super().get_context()
+ page = int(request.args.get('page', 1))
+ per_page = int(request.args.get('per_page', PER_PAGE))
+ filter = request.args.get('filter', "All+Computers")
+ # import pdb; pdb.set_trace()
+
lots = self.context['lots']
form_filter = FilterForm(lots, lot_id, all_devices=all_devices)
- devices = form_filter.search()
+ devices = form_filter.search().paginate(page=page, per_page=per_page)
+ devices.first = per_page * devices.page - per_page + 1
+ devices.last = len(devices.items) + devices.first - 1
+
lot = None
form_transfer = ''
form_delivery = ''
@@ -95,6 +103,7 @@ class DeviceListMixin(GenericMixin):
'tags': self.get_user_tags(),
'list_devices': self.get_selected_devices(form_new_action),
'all_devices': all_devices,
+ 'filter': filter,
}
)
@@ -161,17 +170,8 @@ class DeviceListView(DeviceListMixin):
class AllDeviceListView(DeviceListMixin):
- template_name = 'inventory/all_device_list.html'
-
def dispatch_request(self):
self.get_context(all_devices=True)
- # import pdb; pdb.set_trace()
- page = int(request.args.get('page', 1))
- per_page = int(request.args.get('per_page', PER_PAGE))
- devices = self.context['devices'].paginate(page=page, per_page=per_page)
- devices.first = per_page * devices.page - per_page + 1
- devices.last = len(devices.items) + devices.first - 1
- self.context['devices'] = devices
return flask.render_template(self.template_name, **self.context)
diff --git a/ereuse_devicehub/templates/inventory/all_device_list.html b/ereuse_devicehub/templates/inventory/all_device_list.html
deleted file mode 100644
index 79ff81cd..00000000
--- a/ereuse_devicehub/templates/inventory/all_device_list.html
+++ /dev/null
@@ -1,671 +0,0 @@
-{% extends "ereuse_devicehub/base_site.html" %}
-{% block main %}
-
-
-
Inventory
-
-
-
-
-
-
-
-
-
- {% if lot %}
-
-
-
-
-
-
-
- {% if lot.is_temporary or not lot.transfer.closed %}
-
- {% if lot and lot.is_temporary %}
-
- Create Outgoing Lot
-
-
- Create Incoming Lot
-
- {% endif %}
-
- Delete Lot
-
-
- {% endif %}
-
-
-
- {% endif %}
-
-
- {% if lot %}
-
-
- -
-
-
-
- {% if lot and not lot.is_temporary %}
- -
-
-
-
- {% if lot.transfer %}
- -
-
-
- -
-
-
- -
-
-
- {% endif %}
- {% endif %}
-
-
- {% endif %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- If this text is showing is because there are an error
-
-
-
-
-
-
- Displaying devices of type
- {{ form_filter.filter.data or "Computer" }}
-
-
-
-
-
-
-
-
-
-
-
-
-
- Showing {{ devices.first }} to {{ devices.last }} of {{ devices.total }} entries
-
-
-
-
-
-
-
- {% if lot and not lot.is_temporary %}
-
-
-
-
Documents
-
-
-
- File |
- Uploaded on |
-
-
-
- {% for doc in lot.documents %}
-
-
- {% if doc.get_url() %}
- {{ doc.file_name}}
- {% else %}
- {{ doc.file_name}}
- {% endif %}
- |
-
- {{ doc.created.strftime('%Y-%m-%d %H:%M')}}
- |
-
- {% endfor %}
- {% for doc in lot.trade.documents %}
-
-
- {% if doc.get_url() %}
- {{ doc.file_name}}
- {% else %}
- {{ doc.file_name}}
- {% endif %}
- |
-
- {{ doc.created.strftime('%Y-%m-%d %H:%M')}}
- |
-
- {% endfor %}
-
-
-
-
-
-
- {% endif %}
-
-
-
-
-
-
-
-
-
-
-
-{% include "inventory/lot_delete_modal.html" %}
-{% include "inventory/actions.html" %}
-{% include "inventory/allocate.html" %}
-{% include "inventory/data_wipe.html" %}
-{% include "inventory/trade.html" %}
-{% include "inventory/alert_export_error.html" %}
-{% include "inventory/alert_lots_changes.html" %}
-
-
-
-
-{% if config['DEBUG'] %}
-
-{% else %}
-
-{% endif %}
-
-
-{% endblock main %}
diff --git a/ereuse_devicehub/templates/inventory/device_list.html b/ereuse_devicehub/templates/inventory/device_list.html
index 98894fe5..78c3e39d 100644
--- a/ereuse_devicehub/templates/inventory/device_list.html
+++ b/ereuse_devicehub/templates/inventory/device_list.html
@@ -7,7 +7,11 @@
- Inventory
{% if not lot %}
- - Unassigned
+ {% if all_devices %}
+ - All devices
+ {% else %}
+ - Unassigned
+ {% endif %}
{% elif lot.is_temporary %}
- Temporary Lot
- {{ lot.name }}
@@ -226,10 +230,17 @@
-
+ {% if not all_devices %}
Devices Lots Spreadsheet
+ {% else %}
+
+
+ Devices Lots Spreadsheet
+
+ {% endif %}
-
@@ -324,6 +335,8 @@
{% for f in form_filter %}
{{ f }}
{% endfor %}
+
+
@@ -333,6 +346,38 @@
{{ form_filter.filter.data or "Computer" }}
+
+
+
+
+
+
+
+
@@ -351,7 +396,7 @@
- {% for dev in devices %}
+ {% for dev in devices.items %}
{% if dev.placeholder and (not dev.parent_id or dev.parent.placeholder.kangaroo) %}
@@ -410,6 +455,57 @@
{% endfor %}
|
+
+
+ Showing {{ devices.first }} to {{ devices.last }} of {{ devices.total }} entries
+
+
+
+
@@ -581,10 +677,25 @@
{% include "inventory/alert_lots_changes.html" %}
+
{% if config['DEBUG'] %}