added display of sub-storage when expanding sub-storages in stock view

This commit is contained in:
Stefan Strobel 2025-02-01 00:16:36 +01:00
parent 871086c7b7
commit 6dc8f3bfef
4 changed files with 20 additions and 3 deletions

View File

@ -83,20 +83,24 @@ class Storage(models.Model):
# caching variable for subtrees
storage_list = None
def get_path_components(self):
def get_path_components(self, top_level=None):
chain = []
iterator = self
chain.append(self)
while iterator.parent_storage is not None:
if top_level and iterator.parent_storage == top_level:
break
chain.append(iterator.parent_storage)
iterator = iterator.parent_storage
return chain
def get_full_path(self):
def get_full_path(self, top_level=None):
output = ''
chain = self.get_path_components()
chain = self.get_path_components(top_level)
for i in range(len(chain) - 1, -1, -1):
output = output + '/' + chain[i].name

View File

@ -0,0 +1,9 @@
import datetime
from django import template
register = template.Library()
@register.filter(name="get_relative_storage_path")
def get_relative_storage_path(storage, top_level):
return f'.{storage.get_full_path(top_level)}'

View File

@ -2,6 +2,7 @@
{% load qr_code %}
{% load static %}
{% load crispy_forms_tags %}
{% load storage_tags %}
{% block content %}
<div class="container">
@ -97,6 +98,9 @@
{% if stock.component.manufacturer %}
Manufacturer: {{stock.component.manufacturer}}
{% endif %}
{% if stock.storage != storage %}
<span class="text-secondary"><br>{{ stock.storage|get_relative_storage_path:storage }}</span>
{% endif %}
{% if stock.lot %}
<span class="text-secondary"><br>Lot: {{stock.lot}}</span>
{% endif %}