From 693893eee4a3054c5765a2f22c1d09617a77823d Mon Sep 17 00:00:00 2001 From: Bossanyi Tibor Date: Mon, 8 Mar 2021 14:46:38 +0100 Subject: [PATCH] Exercise sorting --- .../aitrainer_backoffice/admin.py | 23 ++++++++++++++++--- .../aitrainer_backoffice/models.py | 15 ++++++++---- requirements.txt | 2 +- 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/aitrainer_backoffice/aitrainer_backoffice/admin.py b/aitrainer_backoffice/aitrainer_backoffice/admin.py index f594bd6..479c2e8 100644 --- a/aitrainer_backoffice/aitrainer_backoffice/admin.py +++ b/aitrainer_backoffice/aitrainer_backoffice/admin.py @@ -3,15 +3,18 @@ from abc import ABC from django.contrib import admin from django.utils.html import format_html from django.utils.translation import ugettext_lazy as _ +#from treenode.admin import TreeNodeModelAdmin +#from treenode.forms import TreeNodeForm + from .models import ExerciseType, ExerciseTypeAlternative, ExerciseTypeParents from .models import Product from .models import ExerciseDevice, ExerciseDeviceTranslation, ExerciseTypeDevice, ExerciseDeviceAlternative from .models import ExerciseTypeImage from .models import ExerciseTypeTranslation from .models import ExerciseTreeTranslation -from .models import ExerciseTree, ExerciseTreeParents +from .models import ExerciseTree +from .models import ExerciseTreeParents from .models import ExercisePlanTranslation -from .models import ExercisePlanDetail from .models import ExercisePlan from .models import ExercisePlanTemplate, ExercisePlanTemplateTranslation, ExercisePlanTemplateDetail @@ -34,6 +37,18 @@ class ExerciseTreeParentsInline(admin.TabularInline): extra = 0 +''' + + +class ExerciseTreeParentAdmin(TreeNodeModelAdmin): + treenode_display_mode = TreeNodeModelAdmin.TREENODE_DISPLAY_MODE_ACCORDION + list_display = ('name',) + + # use TreeNodeForm to automatically exclude invalid parent choices + form = TreeNodeForm +''' + + class ExerciseTreeAdmin(admin.ModelAdmin): list_display = ('tree_id', 'name_colored', 'active') search_fields = ['name'] @@ -158,8 +173,10 @@ class TranslationPlanTemplateInline(admin.TabularInline): class TranslationPlanTemplateDetailInline(admin.TabularInline): model = ExercisePlanTemplateDetail + verbose_name = 'name' fields = ('exercise_type',) extra = 0 + ordering = ('exercise_type',) class ExercisePlanTemplateAdmin(admin.ModelAdmin): @@ -268,7 +285,7 @@ class ExerciseDeviceAdmin(admin.ModelAdmin): admin.site.register(ExerciseType, ExerciseTypeAdmin) admin.site.register(ExerciseTree, ExerciseTreeAdmin) admin.site.register(ExercisePlanTemplate, ExercisePlanTemplateAdmin) -admin.site.register(ExercisePlan, ExercisePlanAdmin) +#admin.site.register(ExercisePlan, ExercisePlanAdmin) admin.site.register(Product, ProductAdmin) admin.site.register(ExerciseDevice, ExerciseDeviceAdmin) admin.autodiscover() diff --git a/aitrainer_backoffice/aitrainer_backoffice/models.py b/aitrainer_backoffice/aitrainer_backoffice/models.py index 0e3c657..4e5e750 100644 --- a/aitrainer_backoffice/aitrainer_backoffice/models.py +++ b/aitrainer_backoffice/aitrainer_backoffice/models.py @@ -1,6 +1,7 @@ from django.db import models from django.utils.safestring import mark_safe from django.utils.translation import ugettext_lazy as _ +#from treenode.models import TreeNodeModel class LanguageTypes(models.TextChoices): @@ -26,6 +27,7 @@ class ExerciseDevice(models.Model): db_table = 'exercise_device' verbose_name = _("Exercise Device") verbose_name_plural = _("Exercise Devices") + ordering = ['name'] def image_tag(self): return mark_safe('' % self.image_url) @@ -82,6 +84,7 @@ class ExerciseTree(models.Model): db_table = 'exercise_tree' verbose_name = _("Exercise Tree") verbose_name_plural = _("Exercise Tree Items") + ordering = ['name'] def __str__(self): return self.name @@ -103,16 +106,17 @@ class ExerciseTreeTranslation(models.Model): class ExerciseTreeParents(models.Model): + #treenode_display_field = 'name' exercise_tree_parents_id = models.AutoField(primary_key=True) exercise_tree_parent = models.ForeignKey(ExerciseTree, on_delete=models.CASCADE, - related_name=_('exercise_tree_parent'), help_text=_('Parent menu'), blank=True) - exercise_tree_child = models.ForeignKey(ExerciseTree, on_delete=models.CASCADE, - related_name=_('exercise_tree_child'), help_text=_('Actual menu')) + related_name=_('exercise_tree_parent'), + help_text=_('Parent menu'), blank=True) + exercise_tree_child = models.ForeignKey(ExerciseTree, on_delete=models.CASCADE) class Meta: db_table = 'exercise_tree_parents' - verbose_name = _("Exercise Tree Parent") - verbose_name_plural = _("Exercise Tree Parents") + verbose_name = _("Menu Tree Representation") + verbose_name_plural = _("Menu Tree Representation") unique_together = [['exercise_tree_parent', 'exercise_tree_child']] @@ -149,6 +153,7 @@ class ExerciseType(models.Model): db_table = 'exercise_type' verbose_name = _("Exercise") verbose_name_plural = _("Exercises") + ordering = ['name'] def __str__(self): return self.name diff --git a/requirements.txt b/requirements.txt index d60b218..a311f8d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -django==3.1.5 +django==3.1.7 asgiref==3.2.10 certifi==2020.6.20 chardet==3.0.4