From 4259393916b2945b0497d1fbb0a4ca1ffd3bba54 Mon Sep 17 00:00:00 2001 From: "Adrian A. Baumann" Date: Thu, 2 Oct 2025 13:04:48 +0200 Subject: [PATCH] Standards renamed to Dokumente --- data/db.sqlite3 | Bin 647168 -> 651264 bytes pages/views.py | 4 ++-- standards/admin.py | 6 ++--- ...tandard_dokument_alter_dokument_options.py | 21 ++++++++++++++++++ standards/models.py | 17 ++++++++------ standards/views.py | 8 +++---- 6 files changed, 40 insertions(+), 16 deletions(-) create mode 100644 standards/migrations/0006_rename_standard_dokument_alter_dokument_options.py diff --git a/data/db.sqlite3 b/data/db.sqlite3 index d0104331f440b6439c8d931f535883c43fd406a6..46bf14ad8b2e6c0da135c2038c02f64f40758a77 100644 GIT binary patch delta 4853 zcmb7I33yZ2m45fV`}Cx@UD?KxZM?`EHW=HIED75g$Cek2!Nwa5OPI*Qk{7V$-Nt-0 z=0QRmk{K2O_k&>UexW37Ljx8;4NFMcCYi|wq_jzBCdExAO!Fm>W;&BhSZ1y)Y++*3 z8R@h2-hJnu^WSs+d+s@J^UG6g1Rygv%V$l0JieeJDx4fLTfac!vnGD;whu0*q zR6?J2)~UdfnZj+m6oO)(%gP*=V+A znv9u7v%#2`Z?fiFOj&t(Cd&e=Z(h`UT#oz+6)CNu(4SE+IxW3}oEHFs7q$kAxkRFs? zm3qZt-{P8ABze+lx+IvG1MsacK%CF^@Ec(=O`-vUQQJNdsS8M`GeBSmkuGZlo-tm%KCEqn(M8`>Wwv3X3L;ut$Af*mu=&^ z4b`h#t35Tg)pefEB`d3zIjTyn{cS@nPHVf_)zfZXT(e@()N5JU=318H>^CkdUeVjR zqO7xKV@Yed%~olwZ>;MctZrOhz1rTos;b6mZ5b$OUbt{sU3Jc?uKxDwmM*)!ue~aF zrPXe z#*MWlO9v)-X|fqYKFl>*jk&(q7yn(Q=H%NHS|s20@h^WRr=~Df;BR@2^Ch1jH!!1O zikJKHxLV8;&0>a_;``;7F2P%L6GrK%Q56Gd9W@gCITZXE_7&Ys{z^Sb3IF~o z)Pmx`*B^g@9%7)7%AO#+IL6}I59su?N&61dcQ=)Jt7zx+CKGt91UEQ=KH|F~CY<;_ z9fhBB0=56M59rv1ewC5Ajbs)*LZMI4+sKceLXVI&v>|+~5T-CDvkf12zz9542qX16 zs87?>k^EvSYj15EG%O++rP=MlZx_PYBSnlB@IG*XG3SrC_78~c2LSI9*iZdyWcDyPxtW356pnh50w0Nf0Rubr zBtH(L@BK1MNPcnopWMluqahnZy+dx_@JH`q0D!WIeVv&4HH*g&FlCy_FqL31#zx_e z1B?dOJjKindR}>oIY#?Uhv0dz`xx}YQHI_ro~O{)=nE2r%ji4_z*!W}GtnRjn$a+N zP-i5;fNCa^Tp9CJ_={>7%YB9}p_kB6zqSSrqcAO#rkNg@qYhXc&XaV-qD>U~6rD%M z(SEdv7+5zE;kYP0iD^*xw3!fZ>VWZgMSQW-V_4MDLe7;wcQ-!Y0b}my{r>|Wg0Y&< z&_%-epQ8f=%8$@c0Qocv5ljYH*xlN@(Xhfj=D*gsGDOZa7sUG6CyFdO-W9;t$$97OqDH+5C=TvdnaFz|nx6iVo-*=X+ zqVbRSz;~dSO`Rm%81tv@gS?7x0~8Q$F5UVV(vR)T3njb2Ot=Zp5CKf>smp)idl4f9ne>%=^br zv9E%CFS7wI!J7$kpsE1q+W`0x^eyr5bp#*YQp>*p0As9a*L+N&>*yo0-OrE+>_M#^>@Gd^{hL#jAUE$?Af2slxadSYa zcdYZQugLIwmA7Jp0sI4r@+u*C@He(NJkE;yW zI1K+z*jlNCar*3Ru&o@wa*)x5hYpAS4&s=#?y8`nh7&3d?>xwG`0+!`M^n~zK_y+$ z;<&w}bg~7r+7I?J70hx)#sx33@6n1B;HC~|oMQc`P7yhMVIkO-)9YN@=ANk4uxlrb z20sW|IeUtYz(3mwZv_oJzY8`Vd70IotWiPjGw=%A>4!VjH_>6W_GG6D7R8D%jzVtf zX>uMI`BR!gbt$(=MJ&OqFpjMK7L%kbRN^`P`ZA!jwvr-mLuh@I$ru;yVnD<@lp$X+d_XZB>i!e>j`hJRR z8Bn4)eOVcJv}>XSo)hBM3=W>!1=#RD9i#w$^Y?Ti&K_ZMr!rqAu6&nn61H?JdQNY* z(~q`Ks7{$gG=t(h457A!%57|apDvg|aWkKz=s10&l~z{a*xfJ&d-uW&+_)R21g>=W zo4qhgovTC==988*DoF1gEdh21*`2c81mA>Vq&DqhXkcYYxINeE1+tJq(OTzEoW}X;1^LA6($REyOnx z)S73YfzkTl=q=<2Mm3{l7SWBED^fqMrmxU1(A()ol8N60Ln(@Zr9fJ?uD{hiFqH~Q zNGTQ=FqGbT6_Kux7Z)HSM;B8P|%Qlw_mvt&x)5-naQoywcyadD40Ag&S1#cWY80#XBA z7G4#O3wworVTF({#FA>~GJl$Xn*R}>+|DoKi}<;GxaJnA`(DxvYaY=wXbLs)>ioqL3oP3NW~ls-n0!&H;$ikH+!R*s)wXAUOek zjPK<1D1LWBEO!SW5j$Xnqq%HAo(`aBUw+CafPFnFQA^AkmkUeAIE zp|_IC>NT!1m#5Ul$EnmoNPoi&=bD;|YL|z{2bfX8aKoSYaa=xi>*GfI3M~ggT)TCa zS>3GsOTArvQ>{^2)a(9vg(p-k1R9k9vlLK5jT zqN94pbB48u%->^}GC2~0sUT|k3a6*sHAs2cCocC` z@dO4J_?6>dX}&^pvVX#PN`(9Pt>{fOj-KmZ_#Ea^eM>Xf%|eRN zLx=C_(c3rxIPau;$=M?)AN-QU2auD^yNASg@KNE_$nM}H6Vqqdv*>xZ4i6%{k#`W# z0&m#JprJWrm|$LTr#WG`IqB)(Zz;T6FjeFNZj9+ThTKSU?p>r#=c6)*K@Tb@ z!8Ci?GMbJvLb@0>lckWGT@%?YIVFgiDA6ufh$ zld2=Aw6l%lo0Sa=K1rLQ4R{+qMDM(nI4TlGCW3`l>x_jJ<*sV;qKcL7igi5MmCePF z4cXkpNNYxhqqN%X^q3tf=Go3QtDGJWOHO8Urcn|tj0m4%@YnbfK8626d$Nf8kK#B3 z7ug5Ni=2tR*iti~#6^RJwp4psI!7*L!x-T#y?B3zujs}c*n-Ki1#tERBbO}Zu5zz@ z#9ZL=)RenC{rKw{iv2lWPg}Qk%J~6IUMYcbV@=SM+z&p)1_oKjj*Et-sX-1I8F|(2 znsw&8U5~h``>CHQfu?7z9IyO*;uVzmo0Nwif2bRcunChV4zkg;5nM7DN+Oc8fMKh~ zjpn9;o9P6Do<|qApkjr~<6PsaR$()PncEonyt-0(SFy-bq+;JsCCUONSGiTODalH#GFlPk@8y5X|B!p-GxACKb-7DEDF0U8 zB|oj@YBM#9Hc^Y#G>udLt6owssAtso)e~x``jXnFZdaSsTD3-XtHtUfwLqPvrmD$m zj2fZx%D2i@ayrAzs}@*CwjMR-!FSJrBUwBI`@k%u1RF6u3ha%X`ebJ1-7 zabW87r5m`tpf;H7tHh5Pa&7^{RS~5;?3MP`4`y3YNZ* z&PZ=auSl)ZX6a#k1)rk_JAhxpJJklYN-dFX3QL3hO#V>rkx$4S@_u=z{G?nbua?W? zCDMaZu~a0@l`^F%QmkaeTd}1cKZGB^#dsmk!!vOTPQX!E(!SHa(k^NrXg%5=v`+0s ztyOzQ+oY}2JlpR=Ns2sCHp!B7UA|ME^Xhq|iR2}W63D#@T0xRE)JUL&(ndvaiR^;v za;L|=+F9eS@PGihETVDbZ3VTHmo=0`PGV#ySrYo1Y*tYQ`ICmu>J}MI1LTB?$~w)6 zZB8m;MCKhv8YRwT*MmLGJKC-48fBlniL;JC)wGLl8@?PEHSr01Az@NqVG*#-wHR<9&i4-;H)TO zsfW?zejmgn(g&Z?P4%#e-FF-rmkuO1pwGt!?&%iS{4(fxy*HPI( zWi6E!DvwavO=Sy}Ix2~@jPAwH9HK#;N0s~GX+#^_^Wrt!S;@nkiAK=G;F;Qk%H#50 z=`Hasu~K9W@9^LAS!f01IE}pnG|`M(21t<~b<19dR}xHa+K{;V57Hh#{kzhtBZZvm zLJz!|x@ f93n!F;R)((4XdL$hHvNZE98xv+6?>J#GL;DaTgJh diff --git a/pages/views.py b/pages/views.py index fdd9884..520a508 100644 --- a/pages/views.py +++ b/pages/views.py @@ -1,11 +1,11 @@ from django.shortcuts import render from abschnitte.utils import render_textabschnitte -from standards.models import Standard, VorgabeLangtext, VorgabeKurztext, Geltungsbereich +from standards.models import Dokument, VorgabeLangtext, VorgabeKurztext, Geltungsbereich from itertools import groupby import datetime def startseite(request): - standards=list(Standard.objects.all()) + standards=list(Dokument.objects.all()) return render(request, 'startseite.html', {"standards":standards,}) def search(request): diff --git a/standards/admin.py b/standards/admin.py index 9a76b69..469b0f1 100644 --- a/standards/admin.py +++ b/standards/admin.py @@ -99,8 +99,8 @@ class PersonAdmin(admin.ModelAdmin): -@admin.register(Standard) -class StandardAdmin(NestedModelAdmin): +@admin.register(Dokument) +class DokumentAdmin(NestedModelAdmin): actions_on_top=True inlines = [EinleitungInline,GeltungsbereichInline,VorgabeInline] #filter_horizontal=['autoren','pruefende'] @@ -118,7 +118,7 @@ class StandardAdmin(NestedModelAdmin): #admin.site.register(Stichwort) admin.site.register(Checklistenfrage) -#admin.site.register(Dokumententyp) +admin.site.register(Dokumententyp) #admin.site.register(Person) admin.site.register(Thema) #admin.site.register(Referenz, DraggableM§PTTAdmin) diff --git a/standards/migrations/0006_rename_standard_dokument_alter_dokument_options.py b/standards/migrations/0006_rename_standard_dokument_alter_dokument_options.py new file mode 100644 index 0000000..f45d978 --- /dev/null +++ b/standards/migrations/0006_rename_standard_dokument_alter_dokument_options.py @@ -0,0 +1,21 @@ +# Generated by Django 5.2.5 on 2025-10-02 09:15 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('standards', '0005_vorgabe_relevanz'), + ] + + operations = [ + migrations.RenameModel( + old_name='Standard', + new_name='Dokument', + ), + migrations.AlterModelOptions( + name='dokument', + options={'verbose_name': 'Dokument', 'verbose_name_plural': 'Dokumente'}, + ), + ] diff --git a/standards/models.py b/standards/models.py index e0b5bd1..6f4ba11 100644 --- a/standards/models.py +++ b/standards/models.py @@ -13,6 +13,9 @@ class Dokumententyp(models.Model): def __str__(self): return self.name + class Meta: + verbose_name_plural="Dokumententypen" + verbose_name = "Dokumententyp" class Person(models.Model): name = models.CharField(max_length=100, primary_key=True) @@ -33,7 +36,7 @@ class Thema(models.Model): verbose_name_plural="Themen" -class Standard(models.Model): +class Dokument(models.Model): nummer = models.CharField(max_length=50, primary_key=True) dokumententyp = models.ForeignKey(Dokumententyp, on_delete=models.PROTECT) name = models.CharField(max_length=255) @@ -48,12 +51,12 @@ class Standard(models.Model): return f"{self.nummer} – {self.name}" class Meta: - verbose_name_plural="Standards" - verbose_name="Standard" + verbose_name_plural="Dokumente" + verbose_name="Dokument" class Vorgabe(models.Model): nummer = models.IntegerField() - dokument = models.ForeignKey(Standard, on_delete=models.CASCADE, related_name='vorgaben') + dokument = models.ForeignKey(Dokument, on_delete=models.CASCADE, related_name='vorgaben') thema = models.ForeignKey(Thema, on_delete=models.PROTECT) titel = models.CharField(max_length=255) referenzen = models.ManyToManyField(Referenz, blank=True) @@ -97,13 +100,13 @@ class VorgabeKurztext(Textabschnitt): verbose_name="Kurztext-Abschnitt" class Geltungsbereich(Textabschnitt): - geltungsbereich=models.ForeignKey(Standard,on_delete=models.CASCADE) + geltungsbereich=models.ForeignKey(Dokument,on_delete=models.CASCADE) class Meta: verbose_name_plural="Geltungsbereich" verbose_name="Geltungsbereichs-Abschnitt" class Einleitung(Textabschnitt): - einleitung=models.ForeignKey(Standard,on_delete=models.CASCADE) + einleitung=models.ForeignKey(Dokument,on_delete=models.CASCADE) class Meta: verbose_name_plural="Einleitung" verbose_name="Einleitungs-Abschnitt" @@ -119,7 +122,7 @@ class Checklistenfrage(models.Model): verbose_name_plural="Fragen für Checkliste" class Changelog(models.Model): - dokument = models.ForeignKey(Standard, on_delete=models.CASCADE, related_name='changelog') + dokument = models.ForeignKey(Dokument, on_delete=models.CASCADE, related_name='changelog') autoren = models.ManyToManyField(Person) datum = models.DateField() aenderung = models.TextField() diff --git a/standards/views.py b/standards/views.py index 529f8bb..2cd35bc 100644 --- a/standards/views.py +++ b/standards/views.py @@ -1,5 +1,5 @@ from django.shortcuts import render, get_object_or_404 -from .models import Standard +from .models import Dokument from abschnitte.utils import render_textabschnitte from datetime import date @@ -9,14 +9,14 @@ calendar=parsedatetime.Calendar() def standard_list(request): - standards = Standard.objects.all() + standards = Dokument.objects.all() return render(request, 'standards/standard_list.html', {'standards': standards} ) def standard_detail(request, nummer,check_date=""): - standard = get_object_or_404(Standard, nummer=nummer) + standard = get_object_or_404(Dokument, nummer=nummer) if check_date: check_date = calendar.parseDT(check_date)[0].date() @@ -48,7 +48,7 @@ def standard_detail(request, nummer,check_date=""): def standard_checkliste(request, nummer): - standard = get_object_or_404(Standard, nummer=nummer) + standard = get_object_or_404(Dokument, nummer=nummer) vorgaben = list(standard.vorgaben.all()) return render(request, 'standards/standard_checkliste.html', { 'standard': standard,