BO 1.24 sport + active exercises in exercise programs

This commit is contained in:
Tibor Bossanyi (Freelancer) 2021-08-09 14:53:14 +02:00
parent 7919da3e42
commit a9d34f65b8
7 changed files with 62 additions and 5 deletions

View File

@ -13,3 +13,4 @@ from .faq import FaqAdmin
from .split_tests import SplitTestAdmin
from .training_plan_day import TrainingPlanDayAdmin
from .controlling import ControllingAdmin
from .sport import SportAdmin

View File

@ -0,0 +1,22 @@
from django.contrib import admin
from ..models.sports import Sport, SportTranslation
class SportTranslationInline(admin.TabularInline):
model = SportTranslation
fields = ('language_code', 'sport_name')
extra = 0
class SportAdmin(admin.ModelAdmin):
list_display = ('name',)
fields = ('name',)
inlines = [
SportTranslationInline,
]
admin.site.register(Sport, SportAdmin)
admin.autodiscover()

View File

@ -15,4 +15,5 @@ from .training_plan import TrainingPlan, TrainingPlanDetail
from .faq import Faq, FaqTranslation
from .split_tests import SplitTests
from .training_plan_day import TrainingPlanDay, TrainingPlanDayTranslation
from .controlling import Controlling
from .controlling import Controlling
from .sports import Sport, SportTranslation

View File

@ -7,7 +7,8 @@ from .exercise_type import ExerciseType
class Evaluation(models.Model):
evaluation_id = models.AutoField(primary_key=True)
name = models.CharField(max_length=100, help_text='The name should be in English here')
exercise_type = models.ForeignKey(ExerciseType, on_delete=models.CASCADE, verbose_name=_("exercise_type"))
exercise_type = models.ForeignKey(ExerciseType, on_delete=models.CASCADE, verbose_name=_("exercise_type"),
limit_choices_to={'active': True})
unit = models.CharField(max_length=50, verbose_name=_("unit"))
class Meta:

View File

@ -39,7 +39,7 @@ class ExercisePlanTranslation(models.Model):
class ExercisePlanDetail(models.Model):
exercise_plan_detail_id = models.AutoField(primary_key=True)
exercise_plan = models.ForeignKey(ExercisePlan, on_delete=models.CASCADE)
exercise_type = models.ForeignKey(ExerciseType, on_delete=models.CASCADE)
exercise_type = models.ForeignKey(ExerciseType, on_delete=models.CASCADE, limit_choices_to={'active':True})
serie = models.IntegerField()
repeats = models.IntegerField()
weight_equation = models.CharField(max_length=100)

View File

@ -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 Sport(models.Model):
sport_id = models.AutoField(primary_key=True)
name = models.CharField(max_length=200, help_text='Unique name',
verbose_name=_("name"))
class Meta:
db_table = 'sport'
verbose_name = _("Sport")
verbose_name_plural = _("Sports")
def __str__(self):
return self.name
class SportTranslation(models.Model):
translation_id = models.AutoField(primary_key=True)
sport = models.ForeignKey(Sport, on_delete=models.CASCADE)
language_code = models.CharField(max_length=2, choices=LanguageTypes.choices, default=LanguageTypes.HU)
sport_name = models.CharField(max_length=200, help_text='Unique description name',
verbose_name=_("name"))
class Meta:
db_table = 'sport_translation'
verbose_name = _("Translation")
verbose_name_plural = _("Translations")

View File

@ -9,7 +9,7 @@ from ..models.training_plan_day import TrainingPlanDay
class TrainingPlan(models.Model):
training_plan_id = models.AutoField(primary_key=True)
tree = models.ForeignKey(ExerciseTree,on_delete=models.CASCADE)
tree = models.ForeignKey(ExerciseTree,on_delete=models.CASCADE, limit_choices_to={'active':True})
name = models.CharField(max_length=100, help_text='The name of the training plan',
verbose_name=_("name"))
description = RichTextField(blank=True, null=True)
@ -30,7 +30,7 @@ class TrainingPlan(models.Model):
class TrainingPlanDetail(models.Model):
training_plan_detail_id = models.AutoField(primary_key=True)
training_plan = models.ForeignKey(TrainingPlan, on_delete=models.CASCADE)
exercise_type = models.ForeignKey(ExerciseType, on_delete=models.CASCADE)
exercise_type = models.ForeignKey(ExerciseType, on_delete=models.CASCADE, limit_choices_to={'active': True})
sort = models.IntegerField()
set = models.IntegerField()
repeats = models.IntegerField(blank=True)