From 753fe9c80f7ec826eb17ddfeda4b69391b6dff70 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 18 Jul 2021 21:15:51 +1000 Subject: [PATCH] Ordering and rendering for StockLocation --- InvenTree/stock/api.py | 9 +++++++++ InvenTree/stock/serializers.py | 3 +++ InvenTree/templates/js/model_renderers.js | 8 +++----- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 08e948607a..70ab939ff1 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -363,6 +363,15 @@ class StockLocationList(generics.ListCreateAPIView): ordering_fields = [ 'name', 'items', + 'level', + 'tree_id', + 'lft', + ] + + ordering = [ + 'tree_id', + 'lft', + 'name', ] diff --git a/InvenTree/stock/serializers.py b/InvenTree/stock/serializers.py index 38301bdd1f..a175787c63 100644 --- a/InvenTree/stock/serializers.py +++ b/InvenTree/stock/serializers.py @@ -260,12 +260,15 @@ class LocationSerializer(InvenTreeModelSerializer): items = serializers.IntegerField(source='item_count', read_only=True) + level = serializers.IntegerField(read_only=True) + class Meta: model = StockLocation fields = [ 'pk', 'url', 'name', + 'level', 'description', 'parent', 'pathstring', diff --git a/InvenTree/templates/js/model_renderers.js b/InvenTree/templates/js/model_renderers.js index 3b1b9c82d9..257d296eff 100644 --- a/InvenTree/templates/js/model_renderers.js +++ b/InvenTree/templates/js/model_renderers.js @@ -67,7 +67,9 @@ function renderStockItem(name, data, parameters, options) { // Renderer for "StockLocation" model function renderStockLocation(name, data, parameters, options) { - var html = `${data.name}`; + var level = '-'.repeat(data.level); + + var html = `${level} ${data.pathstring}`; if (data.description) { html += ` - ${data.description}`; @@ -75,10 +77,6 @@ function renderStockLocation(name, data, parameters, options) { html += `{% trans "Location ID" %}: ${data.pk}`; - if (data.pathstring) { - html += `

${data.pathstring}

`; - } - return html; }