From 2a2844415db480327200a1c3c3f5c4277d4859f8 Mon Sep 17 00:00:00 2001 From: "Tibor Bossanyi (Freelancer)" Date: Fri, 15 Apr 2022 14:26:50 +0200 Subject: [PATCH] BO 1.37 next_training_plan --- .../admin/training_plan.py | 6 ++-- .../models/training_plan.py | 30 +++++++++++++++---- .../aitrainer_backoffice/settings/deploy.py | 2 +- .../aitrainer_backoffice/settings/dev.py | 2 +- .../aitrainer_backoffice/settings/prod.py | 2 +- 5 files changed, 30 insertions(+), 12 deletions(-) diff --git a/aitrainer_backoffice/aitrainer_backoffice/admin/training_plan.py b/aitrainer_backoffice/aitrainer_backoffice/admin/training_plan.py index 5660173..25f40e8 100644 --- a/aitrainer_backoffice/aitrainer_backoffice/admin/training_plan.py +++ b/aitrainer_backoffice/aitrainer_backoffice/admin/training_plan.py @@ -100,7 +100,7 @@ class TranslationTrainingPlanInline(admin.TabularInline): class TrainingPlanAdmin( admin.ModelAdmin): list_display = ('training_plan_id', 'name', 'internal_name', 'free', 'active') - fields = ('tree','training_program', 'name', 'description', 'internal_name', 'free', 'active', 'weeks') + fields = ('tree','training_program', 'name', 'description', 'internal_name', 'free', 'active', 'weeks', 'next_training_plan') list_editable = ('name', 'internal_name', 'free', 'active') def save_model(self, request, obj, form, change): @@ -142,8 +142,8 @@ class TrainingPlanAdmin( admin.ModelAdmin): class TrainingPlanDetailAdmin(SortableAdminMixin, admin.ModelAdmin): list_display = ( - 'sort', 'training_plan', 'exercise_type', 'set', 'repeats', 'max', 'weight', 'calc', - 'resting_time', 'parallel', 'day') + 'sort', 'training_plan', 'exercise_type', 'set', 'repeats', 'weight', 'max','calc', + 'resting_time', 'parallel', 'day', 'ecto_repeats', 'ecto_weight', 'endo_repeats', 'endo_weight', 'round', 'round_group') list_filter = ('training_plan__name', 'exercise_type__name') list_editable = ( 'exercise_type', 'set', 'repeats', 'weight', 'resting_time', 'parallel', 'day') diff --git a/aitrainer_backoffice/aitrainer_backoffice/models/training_plan.py b/aitrainer_backoffice/aitrainer_backoffice/models/training_plan.py index c414969..f474734 100644 --- a/aitrainer_backoffice/aitrainer_backoffice/models/training_plan.py +++ b/aitrainer_backoffice/aitrainer_backoffice/models/training_plan.py @@ -8,18 +8,30 @@ from ..models.training_plan_day import TrainingPlanDay from ..models.training_program import TrainingProgram +class TrainingPlanNext(models.Model): + training_plan_id = models.AutoField(primary_key=True) + name = models.CharField(max_length=100, help_text='The name of the training plan', + verbose_name=_("name")) + + class Meta: + db_table = 'training_plan' + + def __str__(self): + return self.name + + class TrainingPlan(models.Model): training_plan_id = models.AutoField(primary_key=True) tree = models.ForeignKey(ExerciseTree,on_delete=models.CASCADE, limit_choices_to={'active':True}) training_program = models.ForeignKey(TrainingProgram, on_delete=models.CASCADE, blank=True,null=True) - name = models.CharField(max_length=100, help_text='The name of the training plan', - verbose_name=_("name")) + name = models.CharField(max_length=100, help_text='The name of the training plan', verbose_name=_("name")) description = RichTextField(blank=True, null=True) - internal_name = models.CharField(max_length=50, blank=True, help_text='Only for programmers! "internal_name" format', + internal_name = models.CharField(max_length=50, blank=True, help_text='Only for programmers! "internal_name" format', verbose_name=_("internal_name")) free = models.BooleanField(blank=True) active = models.BooleanField() - weeks = models.IntegerField(blank=True, null=True ) + weeks = models.IntegerField(blank=True, null=True) + next_training_plan = models.ForeignKey(TrainingPlanNext, on_delete=models.CASCADE, blank=True, null=True) class Meta: db_table = 'training_plan' @@ -28,8 +40,8 @@ class TrainingPlan(models.Model): def __str__(self): return self.name - - + + class TrainingPlanDetail(models.Model): training_plan_detail_id = models.AutoField(primary_key=True) training_plan = models.ForeignKey(TrainingPlan, on_delete=models.CASCADE) @@ -41,6 +53,12 @@ class TrainingPlanDetail(models.Model): resting_time = models.IntegerField(blank=True) parallel = models.BooleanField(blank=True) day = models.ForeignKey(TrainingPlanDay, on_delete=models.CASCADE, blank=True,null=True) + ecto_repeats = models.IntegerField(blank=True) + ecto_weight = models.IntegerField(blank=True) + endo_repeats = models.IntegerField(blank=True) + endo_weight = models.IntegerField(blank=True) + round = models.IntegerField(blank=True) + round_group = models.CharField(max_length=2, default=LanguageTypes.HU) class Meta: db_table = 'training_plan_detail' diff --git a/aitrainer_backoffice/aitrainer_backoffice/settings/deploy.py b/aitrainer_backoffice/aitrainer_backoffice/settings/deploy.py index 7b5d9ac..81b86a4 100644 --- a/aitrainer_backoffice/aitrainer_backoffice/settings/deploy.py +++ b/aitrainer_backoffice/aitrainer_backoffice/settings/deploy.py @@ -1,7 +1,7 @@ import os from firebase_admin import initialize_app -BACKOFFICE_VERSION = "1.36" +BACKOFFICE_VERSION = "1.37" # 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/dev.py b/aitrainer_backoffice/aitrainer_backoffice/settings/dev.py index 12c7ea8..7649434 100644 --- a/aitrainer_backoffice/aitrainer_backoffice/settings/dev.py +++ b/aitrainer_backoffice/aitrainer_backoffice/settings/dev.py @@ -1,7 +1,7 @@ import os from firebase_admin import initialize_app -BACKOFFICE_VERSION = "1.36" +BACKOFFICE_VERSION = "1.37" # 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 efe6d97..03e68e7 100644 --- a/aitrainer_backoffice/aitrainer_backoffice/settings/prod.py +++ b/aitrainer_backoffice/aitrainer_backoffice/settings/prod.py @@ -1,7 +1,7 @@ import os from firebase_admin import initialize_app -BACKOFFICE_VERSION = "1.36" +BACKOFFICE_VERSION = "1.37" # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))