Einleitung and Geltungsbereich now draggable
This commit is contained in:
@@ -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']
|
||||||
|
|||||||
@@ -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),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -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'},
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -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")
|
||||||
|
|||||||
Reference in New Issue
Block a user