Einleitung and Geltungsbereich now draggable

This commit is contained in:
2026-02-12 15:05:52 +01:00
parent c125238f12
commit a0495fdea0
4 changed files with 60 additions and 5 deletions

View File

@@ -1,7 +1,7 @@
from django.contrib import admin from django.contrib import admin
from django import forms from django import forms
from django.utils.safestring import mark_safe from django.utils.safestring import mark_safe
from adminsortable2.admin import SortableInlineAdminMixin, SortableAdminBase
from mptt.forms import TreeNodeMultipleChoiceField from mptt.forms import TreeNodeMultipleChoiceField
from nested_admin import NestedStackedInline, NestedModelAdmin, NestedTabularInline from nested_admin import NestedStackedInline, NestedModelAdmin, NestedTabularInline
from .models import * from .models import *
@@ -65,7 +65,6 @@ class GeltungsbereichInline(NestedStackedInline):
extra=0 extra=0
sortable_field_name = "order" sortable_field_name = "order"
show_change_link=True show_change_link=True
classes = ['collapse']
verbose_name_plural = "Geltungsbereich-Abschnitte" verbose_name_plural = "Geltungsbereich-Abschnitte"
fieldsets = ( fieldsets = (
(None, { (None, {
@@ -79,7 +78,6 @@ class EinleitungInline(NestedStackedInline):
extra = 0 extra = 0
sortable_field_name = "order" sortable_field_name = "order"
show_change_link = True show_change_link = True
classes = ['collapse']
verbose_name_plural = "Einleitungs-Abschnitte" verbose_name_plural = "Einleitungs-Abschnitte"
fieldsets = ( fieldsets = (
(None, { (None, {
@@ -102,7 +100,7 @@ class VorgabeForm(forms.ModelForm):
raise forms.ValidationError('Thema ist ein Pflichtfeld. Bitte wählen Sie ein Thema aus.') raise forms.ValidationError('Thema ist ein Pflichtfeld. Bitte wählen Sie ein Thema aus.')
return thema return thema
class VorgabeInline(SortableInlineAdminMixin, NestedStackedInline): class VorgabeInline(NestedStackedInline):
model = Vorgabe model = Vorgabe
form = VorgabeForm form = VorgabeForm
extra = 0 extra = 0
@@ -200,7 +198,7 @@ class PersonAdmin(admin.ModelAdmin):
@admin.register(Dokument) @admin.register(Dokument)
class DokumentAdmin(SortableAdminBase, NestedModelAdmin): class DokumentAdmin(NestedModelAdmin):
actions_on_top=True actions_on_top=True
inlines = [EinleitungInline, GeltungsbereichInline, VorgabeInline] inlines = [EinleitungInline, GeltungsbereichInline, VorgabeInline]
filter_horizontal=['autoren','pruefende'] filter_horizontal=['autoren','pruefende']

View File

@@ -0,0 +1,34 @@
# Generated by Django 6.0.1 on 2026-02-12 13:27
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('dokumente', '0010_vorgabentable_alter_person_options_vorgabecomment'),
]
operations = [
migrations.AlterModelOptions(
name='einleitung',
options={'ordering': ('order',), 'verbose_name': 'Einleitungs-Abschnitt', 'verbose_name_plural': 'Einleitung'},
),
migrations.AlterModelOptions(
name='geltungsbereich',
options={'ordering': ('order',), 'verbose_name': 'Geltungsbereichs-Abschnitt', 'verbose_name_plural': 'Geltungsbereich'},
),
migrations.AlterModelOptions(
name='person',
options={'ordering': ['name'], 'verbose_name': 'Person', 'verbose_name_plural': 'Personen'},
),
migrations.AlterModelOptions(
name='thema',
options={'verbose_name': 'Thema', 'verbose_name_plural': 'Themen'},
),
migrations.AlterField(
model_name='dokument',
name='aktiv',
field=models.BooleanField(blank=True, default=False),
),
]

View File

@@ -0,0 +1,21 @@
# Generated by Django 6.0.1 on 2026-02-12 13:43
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('dokumente', '0011_alter_einleitung_options_and_more'),
]
operations = [
migrations.AlterModelOptions(
name='einleitung',
options={'ordering': ['order'], 'verbose_name': 'Einleitungs-Abschnitt', 'verbose_name_plural': 'Einleitung'},
),
migrations.AlterModelOptions(
name='geltungsbereich',
options={'ordering': ['order'], 'verbose_name': 'Geltungsbereichs-Abschnitt', 'verbose_name_plural': 'Geltungsbereich'},
),
]

View File

@@ -261,12 +261,14 @@ class Geltungsbereich(Textabschnitt):
class Meta: class Meta:
verbose_name_plural="Geltungsbereich" verbose_name_plural="Geltungsbereich"
verbose_name="Geltungsbereichs-Abschnitt" verbose_name="Geltungsbereichs-Abschnitt"
ordering = ['order']
class Einleitung(Textabschnitt): class Einleitung(Textabschnitt):
einleitung=models.ForeignKey(Dokument,on_delete=models.CASCADE) einleitung=models.ForeignKey(Dokument,on_delete=models.CASCADE)
class Meta: class Meta:
verbose_name_plural="Einleitung" verbose_name_plural="Einleitung"
verbose_name="Einleitungs-Abschnitt" verbose_name="Einleitungs-Abschnitt"
ordering = ['order']
class Checklistenfrage(models.Model): class Checklistenfrage(models.Model):
vorgabe=models.ForeignKey(Vorgabe, on_delete=models.CASCADE, related_name="checklistenfragen") vorgabe=models.ForeignKey(Vorgabe, on_delete=models.CASCADE, related_name="checklistenfragen")