"merge" nested items

pull/9/head
JensDiemer 2020-10-24 19:11:59 +02:00
rodzic 0e28d53743
commit 2a4d6a1988
3 zmienionych plików z 35 dodań i 3 usunięć

Wyświetl plik

@ -45,15 +45,30 @@ class ItemModelChangeList(ChangeList):
@admin.register(ItemModel)
class ItemModelAdmin(ImportExportMixin, BaseUserAdmin):
form = ItemModelModelForm
def column_item(self, obj):
qs = ItemModel.objects.filter(user=self.user)
qs = qs.filter(parent=obj)
context = {
'base_item': obj,
'sub_items': qs
}
return render_to_string(
template_name='admin/inventory/item/column_item.html',
context=context,
)
column_item.short_description = _('ItemModel.verbose_name_plural')
date_hierarchy = 'create_dt'
list_display = (
'kind', 'producer',
'name',
'parent', 'location',
'column_item',
'location',
'received_date', 'update_dt'
)
ordering = ('kind', 'producer', 'name')
list_display_links = ('name',)
list_display_links = None
list_filter = ('kind', 'location', 'producer', 'tags')
search_fields = ('name', 'description')
fieldsets = (

Wyświetl plik

@ -1,6 +1,7 @@
import tagulous.models
from ckeditor_uploader.fields import RichTextUploadingField
from django.db import models
from django.urls import reverse
from django.utils.translation import ugettext_lazy as _
from inventory.models.base import BaseModel
@ -117,6 +118,14 @@ class ItemModel(BaseModel):
help_text=_('ItemModel.handed_over_price.help_text')
)
def local_admin_link(self):
url = reverse('admin:inventory_itemmodel_change', args=[self.id])
return url
def verbose_name(self):
parts = [str(part) for part in (self.kind, self.producer, self.name)]
return ' - '.join(part for part in parts if part)
def __str__(self):
if self.parent_id is None:
title = self.name

Wyświetl plik

@ -0,0 +1,8 @@
<strong><a href="{{ base_item.local_admin_link }}">{{ base_item.name }}</a></strong>
{% if sub_items %}
<ul>
{% for item in sub_items %}
<li><a href="{{ item.local_admin_link }}">{{ item.verbose_name }}</a></li>
{% endfor %}
</ul>
{% endif %}