Add Explicit Ordering to ModuleLevels and Categories

This commit is contained in:
Lorenz Padberg 2023-08-31 10:49:15 +02:00
parent 630671ba00
commit d91d80b6da
3 changed files with 47 additions and 16 deletions

View File

@ -0,0 +1,31 @@
# Generated by Django 3.2.16 on 2023-08-31 08:45
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('books', '0043_auto_20230822_1219'),
]
operations = [
migrations.AlterModelOptions(
name='modulecategory',
options={'ordering': ('order', 'name'), 'verbose_name': 'module type', 'verbose_name_plural': 'module types'},
),
migrations.AlterModelOptions(
name='modulelevel',
options={'ordering': ('order', 'name'), 'verbose_name': 'module level', 'verbose_name_plural': 'module Levels'},
),
migrations.AddField(
model_name='modulecategory',
name='order',
field=models.PositiveIntegerField(default=99, help_text='Order in the Dropdown List'),
),
migrations.AddField(
model_name='modulelevel',
name='order',
field=models.PositiveIntegerField(default=99, help_text='Order in the Dropdown List'),
),
]

View File

@ -1,10 +1,10 @@
from django.db import models
from django import forms
from django.db import models
from django.utils import timezone
from django.utils.translation import gettext as _
from wagtail.admin.forms import WagtailAdminPageForm
from wagtail.admin.panels import FieldPanel, TabbedInterface, ObjectList
from wagtail.fields import RichTextField
from wagtail.admin.forms import WagtailAdminPageForm
from django.utils.translation import gettext as _
from core.constants import DEFAULT_RICH_TEXT_FEATURES
from core.wagtail_utils import StrictHierarchyPage, get_default_settings
@ -20,25 +20,28 @@ class ModuleLevel(models.Model):
filter_attribute_type = models.CharField(
max_length=16, choices=FILTER_ATTRIBUTE_TYPE, default=EXACT
)
def __str__(self):
return self.name
order = models.PositiveIntegerField(null=False, blank=False, default=99, help_text='Order in the Dropdown List')
class Meta:
verbose_name_plural = _("module Levels")
verbose_name = _("module level")
ordering = ("order", "name")
def __str__(self):
return self.name
class ModuleCategory(models.Model):
class Meta:
verbose_name = _("module type")
verbose_name_plural = _("module types")
ordering = ("name",)
name = models.CharField(max_length=255)
filter_attribute_type = models.CharField(
max_length=16, choices=FILTER_ATTRIBUTE_TYPE, default=EXACT
)
order = models.PositiveIntegerField(null=False, blank=False, default=99, help_text='Order in the Dropdown List')
class Meta:
verbose_name = _("module type")
verbose_name_plural = _("module types")
ordering = ("order", "name")
def __str__(self):
return f"{self.name}"

View File

@ -16,15 +16,12 @@ class ModuleAdmin(ModelAdmin):
class ModuleLevelAdmin(ModelAdmin):
model = ModuleLevel
list_display = ("name",)
ordering = ("name",)
list_display = ("name","filter_attribute_type", "order")
class ModuleCategoryAdmin(ModelAdmin):
model = ModuleCategory
list_display = ("name",)
ordering = ("name",)
inspect_view_fields = ("name",)
list_display = ("name", "filter_attribute_type", "order")
class InstrumentGroup(ModelAdminGroup):