Added list of Vorgaben to Referenz-Admin
All checks were successful
Build containers when image tags change / build-if-image-changed (., web, containers, main container, git.baumann.gr/adebaumann/vui) (push) Successful in 3m6s
Build containers when image tags change / build-if-image-changed (data-loader, loader, initContainers, init-container, git.baumann.gr/adebaumann/vui-data-loader) (push) Successful in 7s

This commit is contained in:
2025-11-10 09:32:51 +01:00
parent dbc4f89055
commit 4fece110d9
5 changed files with 50 additions and 6 deletions

View File

@@ -25,7 +25,7 @@ spec:
mountPath: /data mountPath: /data
containers: containers:
- name: web - name: web
image: git.baumann.gr/adebaumann/vui:0.950-oblique image: git.baumann.gr/adebaumann/vui:0.951-oblique
imagePullPolicy: Always imagePullPolicy: Always
ports: ports:
- containerPort: 8000 - containerPort: 8000

View File

@@ -294,6 +294,5 @@ class VorgabeAdmin(NestedModelAdmin):
admin.site.register(Checklistenfrage) admin.site.register(Checklistenfrage)
admin.site.register(Dokumententyp) admin.site.register(Dokumententyp)
#admin.site.register(Person) #admin.site.register(Person)
#admin.site.register(Referenz, DraggableM§PTTAdmin)
#admin.site.register(Changelog) #admin.site.register(Changelog)

View File

@@ -180,7 +180,7 @@
</p> </p>
</div> </div>
<div class="col-sm-6 text-right"> <div class="col-sm-6 text-right">
<p class="text-muted">Version {{ version|default:"0.950" }}</p> <p class="text-muted">Version {{ version|default:"0.951" }}</p>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -1,4 +1,5 @@
from django.contrib import admin from django.contrib import admin
from django.utils.html import format_html
from nested_admin import NestedStackedInline, NestedModelAdmin, NestedTabularInline from nested_admin import NestedStackedInline, NestedModelAdmin, NestedTabularInline
from .models import * from .models import *
@@ -11,6 +12,50 @@ class ReferenzerklaerungInline(NestedStackedInline):
@admin.register(Referenz) @admin.register(Referenz)
class ReferenzAdmin(NestedModelAdmin): class ReferenzAdmin(NestedModelAdmin):
list_display = ('Path', 'vorgaben_count')
inlines=[ReferenzerklaerungInline] inlines=[ReferenzerklaerungInline]
list_display =['Path'] search_fields=("name_nummer","Path")
search_fields=("referenz","path") readonly_fields=("vorgaben_list",)
fieldsets = (
(None, {
'fields': ('name_nummer','name_text','oberreferenz','url', 'vorgaben_list')
}),
)
def vorgaben_count(self, obj):
"""Count the number of Vorgaben that have this Stichwort"""
count = obj.vorgabe_set.count()
return f"{count} Vorgabe{'n' if count != 1 else ''}"
vorgaben_count.short_description = "Anzahl Vorgaben"
def vorgaben_list(self, obj):
"""Display list of Vorgaben that use this Stichwort"""
vorgaben = obj.vorgabe_set.order_by('dokument__nummer', 'nummer')
vorgaben_list = list(vorgaben) # Evaluate queryset once
count = len(vorgaben_list)
if count == 0:
return format_html("<em>Keine Vorgaben gefunden</em><p><strong>Gesamt: 0 Vorgaben</strong></p>")
html = "<div style='max-height: 300px; overflow-y: auto;'>"
html += "<table style='width: 100%; border-collapse: collapse;'>"
html += "<thead><tr style='background-color: #f5f5f5;'>"
html += "<th style='padding: 8px; border: 1px solid #ddd; text-align: left;'>Vorgabe</th>"
html += "<th style='padding: 8px; border: 1px solid #ddd; text-align: left;'>Titel</th>"
html += "<th style='padding: 8px; border: 1px solid #ddd; text-align: left;'>Dokument</th>"
html += "</tr></thead>"
html += "<tbody>"
for vorgabe in vorgaben_list:
html += "<tr>"
html += f"<td style='padding: 6px; border: 1px solid #ddd;'>{vorgabe.Vorgabennummer()}</td>"
html += f"<td style='padding: 6px; border: 1px solid #ddd;'>{vorgabe.titel}</td>"
html += f"<td style='padding: 6px; border: 1px solid #ddd;'>{vorgabe.dokument.nummer} {vorgabe.dokument.name}</td>"
html += "</tr>"
html += "</tbody></table>"
html += f"</div><p><strong>Gesamt: {count} Vorgabe{'n' if count != 1 else ''}</strong></p>"
return format_html(html)
vorgaben_list.short_description = "Zugeordnete Vorgaben"

View File

@@ -1,3 +1,3 @@
from django.contrib import admin from django.contrib import admin
# Register your models here. # Admin in dokumente/admin.py