BO 1.24 sport + active exercises in exercise programs
This commit is contained in:
parent
7919da3e42
commit
a9d34f65b8
@ -13,3 +13,4 @@ from .faq import FaqAdmin
|
|||||||
from .split_tests import SplitTestAdmin
|
from .split_tests import SplitTestAdmin
|
||||||
from .training_plan_day import TrainingPlanDayAdmin
|
from .training_plan_day import TrainingPlanDayAdmin
|
||||||
from .controlling import ControllingAdmin
|
from .controlling import ControllingAdmin
|
||||||
|
from .sport import SportAdmin
|
||||||
|
22
aitrainer_backoffice/aitrainer_backoffice/admin/sport.py
Normal file
22
aitrainer_backoffice/aitrainer_backoffice/admin/sport.py
Normal 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()
|
@ -16,3 +16,4 @@ from .faq import Faq, FaqTranslation
|
|||||||
from .split_tests import SplitTests
|
from .split_tests import SplitTests
|
||||||
from .training_plan_day import TrainingPlanDay, TrainingPlanDayTranslation
|
from .training_plan_day import TrainingPlanDay, TrainingPlanDayTranslation
|
||||||
from .controlling import Controlling
|
from .controlling import Controlling
|
||||||
|
from .sports import Sport, SportTranslation
|
@ -7,7 +7,8 @@ from .exercise_type import ExerciseType
|
|||||||
class Evaluation(models.Model):
|
class Evaluation(models.Model):
|
||||||
evaluation_id = models.AutoField(primary_key=True)
|
evaluation_id = models.AutoField(primary_key=True)
|
||||||
name = models.CharField(max_length=100, help_text='The name should be in English here')
|
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"))
|
unit = models.CharField(max_length=50, verbose_name=_("unit"))
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -39,7 +39,7 @@ class ExercisePlanTranslation(models.Model):
|
|||||||
class ExercisePlanDetail(models.Model):
|
class ExercisePlanDetail(models.Model):
|
||||||
exercise_plan_detail_id = models.AutoField(primary_key=True)
|
exercise_plan_detail_id = models.AutoField(primary_key=True)
|
||||||
exercise_plan = models.ForeignKey(ExercisePlan, on_delete=models.CASCADE)
|
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()
|
serie = models.IntegerField()
|
||||||
repeats = models.IntegerField()
|
repeats = models.IntegerField()
|
||||||
weight_equation = models.CharField(max_length=100)
|
weight_equation = models.CharField(max_length=100)
|
||||||
|
32
aitrainer_backoffice/aitrainer_backoffice/models/sports.py
Normal file
32
aitrainer_backoffice/aitrainer_backoffice/models/sports.py
Normal 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")
|
@ -9,7 +9,7 @@ from ..models.training_plan_day import TrainingPlanDay
|
|||||||
|
|
||||||
class TrainingPlan(models.Model):
|
class TrainingPlan(models.Model):
|
||||||
training_plan_id = models.AutoField(primary_key=True)
|
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',
|
name = models.CharField(max_length=100, help_text='The name of the training plan',
|
||||||
verbose_name=_("name"))
|
verbose_name=_("name"))
|
||||||
description = RichTextField(blank=True, null=True)
|
description = RichTextField(blank=True, null=True)
|
||||||
@ -30,7 +30,7 @@ class TrainingPlan(models.Model):
|
|||||||
class TrainingPlanDetail(models.Model):
|
class TrainingPlanDetail(models.Model):
|
||||||
training_plan_detail_id = models.AutoField(primary_key=True)
|
training_plan_detail_id = models.AutoField(primary_key=True)
|
||||||
training_plan = models.ForeignKey(TrainingPlan, on_delete=models.CASCADE)
|
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()
|
sort = models.IntegerField()
|
||||||
set = models.IntegerField()
|
set = models.IntegerField()
|
||||||
repeats = models.IntegerField(blank=True)
|
repeats = models.IntegerField(blank=True)
|
||||||
|
Loading…
Reference in New Issue
Block a user