Remove Tree structure from moduleCategory and CategoryType
This commit is contained in:
parent
e99c703f55
commit
b5705cc991
|
|
@ -21,25 +21,25 @@ def create_default_categories():
|
||||||
for lehrjahr in range(1,4):
|
for lehrjahr in range(1,4):
|
||||||
module_category, created = ModuleCategory.objects.get_or_create(name=f"{lehrjahr}. Lehrjahr")
|
module_category, created = ModuleCategory.objects.get_or_create(name=f"{lehrjahr}. Lehrjahr")
|
||||||
|
|
||||||
for type in range(1, 10):
|
for type in range(1, 10):
|
||||||
ModuleType.objects.get_or_create(name=f"Lernfeld {type}", category=module_category)
|
ModuleType.objects.get_or_create(name=f"Lernfeld {type}")
|
||||||
|
|
||||||
|
|
||||||
def categorize_modules():
|
def categorize_modules():
|
||||||
for category in ModuleCategory.objects.all():
|
for category in ModuleCategory.objects.all():
|
||||||
modules = Module.objects.filter(category__isnull=True, category_type__isnull=True, meta_title__icontains=category.name)
|
modules = Module.objects.filter(category__isnull=True, meta_title__icontains=category.name)
|
||||||
print(f"{category.name}: {modules.count()}")
|
print(f"{category.name}: {modules.count()}")
|
||||||
modules.update(category=category)
|
modules.update(category=category)
|
||||||
|
|
||||||
for type in ModuleType.objects.all():
|
for type in ModuleType.objects.all():
|
||||||
modules = Module.objects.filter(category=type.category, category_type__isnull=True, meta_title__contains=type.name)
|
modules = Module.objects.filter(category_type__isnull=True, meta_title__contains=type.name)
|
||||||
print(f"{type.category} {type.name}: {modules.count()}")
|
print(f"{type.name}: {modules.count()}")
|
||||||
modules.update(category_type=type)
|
modules.update(category_type=type)
|
||||||
|
|
||||||
|
|
||||||
def uncategorize_modules():
|
def uncategorize_modules():
|
||||||
ModuleCategory.objects.all().delete()
|
|
||||||
ModuleType.objects.all().delete()
|
ModuleType.objects.all().delete()
|
||||||
|
ModuleCategory.objects.all().delete()
|
||||||
|
|
||||||
def delete_unused_categories():
|
def delete_unused_categories():
|
||||||
for category in ModuleCategory.objects.all():
|
for category in ModuleCategory.objects.all():
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
from django.core.management import BaseCommand
|
from django.core.management import BaseCommand
|
||||||
from books.categorize_modules import categorize_modules, delete_unused_categories, delete_unused_types
|
from books.categorize_modules import categorize_modules, delete_unused_categories, delete_unused_types, uncategorize_modules
|
||||||
|
|
||||||
from books.categorize_modules import create_default_categories
|
from books.categorize_modules import create_default_categories
|
||||||
|
|
||||||
|
|
@ -7,6 +7,7 @@ from books.categorize_modules import create_default_categories
|
||||||
class Command(BaseCommand):
|
class Command(BaseCommand):
|
||||||
def handle(self, *args, **options):
|
def handle(self, *args, **options):
|
||||||
self.stdout.write("Categorizing modules")
|
self.stdout.write("Categorizing modules")
|
||||||
|
uncategorize_modules()
|
||||||
create_default_categories()
|
create_default_categories()
|
||||||
categorize_modules()
|
categorize_modules()
|
||||||
delete_unused_types()
|
delete_unused_types()
|
||||||
|
|
|
||||||
|
|
@ -28,19 +28,12 @@ class ModuleType(models.Model):
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = _("module type")
|
verbose_name = _("module type")
|
||||||
verbose_name_plural = _("module types")
|
verbose_name_plural = _("module types")
|
||||||
ordering = ("category", "name")
|
ordering = ("name",)
|
||||||
|
|
||||||
name = models.CharField(max_length=255)
|
name = models.CharField(max_length=255)
|
||||||
category = models.ForeignKey(
|
|
||||||
ModuleCategory,
|
|
||||||
on_delete=models.PROTECT,
|
|
||||||
null=False,
|
|
||||||
default=default_category,
|
|
||||||
related_name="module_types",
|
|
||||||
)
|
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f"{self.category} - {self.name}"
|
return f"{self.name}"
|
||||||
|
|
||||||
|
|
||||||
class Module(StrictHierarchyPage):
|
class Module(StrictHierarchyPage):
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
from graphene import relay
|
||||||
|
from graphene import relay
|
||||||
|
from graphene_django import DjangoObjectType
|
||||||
|
|
||||||
|
from books.models import ModuleCategory
|
||||||
|
|
||||||
|
|
||||||
|
class ModuleCategoryNode(DjangoObjectType):
|
||||||
|
class Meta:
|
||||||
|
model = ModuleCategory
|
||||||
|
interfaces = (relay.Node,)
|
||||||
|
only_fields = [
|
||||||
|
"id",
|
||||||
|
"name",
|
||||||
|
]
|
||||||
|
|
@ -8,11 +8,12 @@ from wagtail import hooks
|
||||||
from .models.module import ModuleCategory, ModuleType, Module
|
from .models.module import ModuleCategory, ModuleType, Module
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
|
|
||||||
class ModuleAdmin(ModelAdmin):
|
class ModuleAdmin(ModelAdmin):
|
||||||
model = Module
|
model = Module
|
||||||
list_display = ("title", "meta_title", "category", "category_type")
|
list_display = ("title", "meta_title", "category", "category_type")
|
||||||
search_fields = ("title", "meta_title")
|
search_fields = ("title", "meta_title")
|
||||||
list_filter = ("category","category_type")
|
list_filter = ("category", "category_type")
|
||||||
|
|
||||||
|
|
||||||
class ModuleCategoryAdmin(ModelAdmin):
|
class ModuleCategoryAdmin(ModelAdmin):
|
||||||
|
|
@ -23,17 +24,9 @@ class ModuleCategoryAdmin(ModelAdmin):
|
||||||
|
|
||||||
class ModuleTypeAdmin(ModelAdmin):
|
class ModuleTypeAdmin(ModelAdmin):
|
||||||
model = ModuleType
|
model = ModuleType
|
||||||
list_display = (
|
list_display = ("name",)
|
||||||
"name",
|
ordering = ("name",)
|
||||||
"category",
|
inspect_view_fields = ("name",)
|
||||||
)
|
|
||||||
list_filter = ("category",)
|
|
||||||
ordering = ("category", "name")
|
|
||||||
inspect_view_enabled = True
|
|
||||||
inspect_view_fields = (
|
|
||||||
"name",
|
|
||||||
"category",
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class InstrumentGroup(ModelAdminGroup):
|
class InstrumentGroup(ModelAdminGroup):
|
||||||
|
|
@ -46,4 +39,3 @@ class InstrumentGroup(ModelAdminGroup):
|
||||||
|
|
||||||
|
|
||||||
modeladmin_register(InstrumentGroup)
|
modeladmin_register(InstrumentGroup)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue