diff --git a/aitrainer_backoffice/aitrainer_backoffice/admin/__init__.py b/aitrainer_backoffice/aitrainer_backoffice/admin/__init__.py index a462d07..c9fa97f 100644 --- a/aitrainer_backoffice/aitrainer_backoffice/admin/__init__.py +++ b/aitrainer_backoffice/aitrainer_backoffice/admin/__init__.py @@ -11,3 +11,4 @@ from .description import DescriptionAdmin from .training_plan import TrainingPlanAdmin, TrainingPlanDetailAdmin from .faq import FaqAdmin from .split_tests import SplitTestAdmin +from .training_plan_day import TrainingPlanDayAdmin diff --git a/aitrainer_backoffice/aitrainer_backoffice/admin/training_plan.py b/aitrainer_backoffice/aitrainer_backoffice/admin/training_plan.py index b9ed27d..18066a9 100644 --- a/aitrainer_backoffice/aitrainer_backoffice/admin/training_plan.py +++ b/aitrainer_backoffice/aitrainer_backoffice/admin/training_plan.py @@ -55,10 +55,9 @@ class TrainingPlanDetailAdmin(admin.ModelAdmin): def copy_attributes(self, request, queryset): name = str(queryset[0].training_plan) details = TrainingPlanDetail.objects.filter(training_plan__name=name).order_by('sort') - new_sort = details[len(details)-1].sort + 1 + new_sort = details[len(details) - 1].sort + 1 for objectAttr in queryset: - objectAttr.pk = None objectAttr.sort = new_sort objectAttr.save() diff --git a/aitrainer_backoffice/aitrainer_backoffice/admin/training_plan_day.py b/aitrainer_backoffice/aitrainer_backoffice/admin/training_plan_day.py new file mode 100644 index 0000000..f83ea71 --- /dev/null +++ b/aitrainer_backoffice/aitrainer_backoffice/admin/training_plan_day.py @@ -0,0 +1,22 @@ +from django.contrib import admin + +from ..models.training_plan_day import TrainingPlanDay, TrainingPlanDayTranslation + + +class TrainingPlanDayTranslationInline(admin.TabularInline): + model = TrainingPlanDayTranslation + fields = ('language_code', 'name_translation') + extra = 0 + + +class TrainingPlanDayAdmin(admin.ModelAdmin): + list_display = ('name',) + fields = ('name',) + + inlines = [ + TrainingPlanDayTranslationInline, + ] + + +admin.site.register(TrainingPlanDay, TrainingPlanDayAdmin) +admin.autodiscover() diff --git a/aitrainer_backoffice/aitrainer_backoffice/models/__init__.py b/aitrainer_backoffice/aitrainer_backoffice/models/__init__.py index 08b09f0..963112a 100644 --- a/aitrainer_backoffice/aitrainer_backoffice/models/__init__.py +++ b/aitrainer_backoffice/aitrainer_backoffice/models/__init__.py @@ -14,3 +14,4 @@ from .description import Description, DescriptionTranslation from .training_plan import TrainingPlan, TrainingPlanDetail from .faq import Faq, FaqTranslation from .split_tests import SplitTests +from .training_plan_day import TrainingPlanDay, TrainingPlanDayTranslation diff --git a/aitrainer_backoffice/aitrainer_backoffice/models/training_plan.py b/aitrainer_backoffice/aitrainer_backoffice/models/training_plan.py index d011f96..d4c92b9 100644 --- a/aitrainer_backoffice/aitrainer_backoffice/models/training_plan.py +++ b/aitrainer_backoffice/aitrainer_backoffice/models/training_plan.py @@ -4,6 +4,7 @@ from django.utils.translation import ugettext_lazy as _ from .enums import LanguageTypes from ..models import ExerciseType, ExerciseTree +from ..models.training_plan_day import TrainingPlanDay class TrainingPlan(models.Model): @@ -36,7 +37,7 @@ class TrainingPlanDetail(models.Model): weight = models.IntegerField(blank=True) resting_time = models.IntegerField(blank=True) parallel = models.BooleanField(blank=True) - day = models.CharField(max_length=50, blank=True) + day = models.ForeignKey(TrainingPlanDay, on_delete=models.CASCADE, blank=True,null=True) class Meta: db_table = 'training_plan_detail' diff --git a/aitrainer_backoffice/aitrainer_backoffice/models/training_plan_day.py b/aitrainer_backoffice/aitrainer_backoffice/models/training_plan_day.py new file mode 100644 index 0000000..21e54ac --- /dev/null +++ b/aitrainer_backoffice/aitrainer_backoffice/models/training_plan_day.py @@ -0,0 +1,32 @@ +from django.db import models +from django.utils.translation import ugettext_lazy as _ +from ckeditor.fields import RichTextField + +from .enums import LanguageTypes + + +class TrainingPlanDay(models.Model): + day_id = models.AutoField(primary_key=True) + name = models.CharField(max_length=200, help_text='Unique description name', + verbose_name=_("name")) + + class Meta: + db_table = 'training_plan_day' + verbose_name = _("Training Day") + verbose_name_plural = _("Training Days") + + def __str__(self): + return self.name + + +class TrainingPlanDayTranslation(models.Model): + translation_id = models.AutoField(primary_key=True) + day = models.ForeignKey(TrainingPlanDay, on_delete=models.CASCADE) + language_code = models.CharField(max_length=2, choices=LanguageTypes.choices, default=LanguageTypes.HU) + name_translation = models.CharField(max_length=200, help_text='Unique description name', + verbose_name=_("name")) + + class Meta: + db_table = 'training_plan_day_translation' + verbose_name = _("Translation") + verbose_name_plural = _("Translations") diff --git a/aitrainer_backoffice/aitrainer_backoffice/settings/dev.py b/aitrainer_backoffice/aitrainer_backoffice/settings/dev.py index 47521f0..4e64134 100644 --- a/aitrainer_backoffice/aitrainer_backoffice/settings/dev.py +++ b/aitrainer_backoffice/aitrainer_backoffice/settings/dev.py @@ -12,7 +12,7 @@ https://docs.djangoproject.com/en/3.0/ref/settings/ import os -BACKOFFICE_VERSION = 1.21 +BACKOFFICE_VERSION = 1.22 # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) diff --git a/aitrainer_backoffice/aitrainer_backoffice/settings/prod.py b/aitrainer_backoffice/aitrainer_backoffice/settings/prod.py index 09debd4..00d60ea 100644 --- a/aitrainer_backoffice/aitrainer_backoffice/settings/prod.py +++ b/aitrainer_backoffice/aitrainer_backoffice/settings/prod.py @@ -12,7 +12,7 @@ https://docs.djangoproject.com/en/3.0/ref/settings/ import os -BACKOFFICE_VERSION = 1.21 +BACKOFFICE_VERSION = 1.22 # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))