exercise plan, plan detail
This commit is contained in:
parent
bf0be8b26f
commit
71e0b8f155
@ -6,6 +6,9 @@ from .models import ExerciseTypeImage
|
||||
from .models import ExerciseTypeTranslation
|
||||
from .models import ExerciseTreeTranslation
|
||||
from .models import ExerciseTree
|
||||
from .models import ExercisePlanTranslation
|
||||
from .models import ExercisePlanDetail
|
||||
from .models import ExercisePlan
|
||||
|
||||
|
||||
class ImageInline(admin.StackedInline):
|
||||
@ -87,7 +90,44 @@ class ExerciseTreeAdmin(admin.ModelAdmin):
|
||||
]
|
||||
|
||||
|
||||
class TranslationPlanInline(admin.TabularInline):
|
||||
model = ExercisePlanTranslation
|
||||
fields = ('language_code', 'name','description')
|
||||
extra = 0
|
||||
|
||||
|
||||
class ExercisePlanAdmin(admin.ModelAdmin):
|
||||
list_display = ('name_colored',)
|
||||
search_fields = ['name']
|
||||
|
||||
def name_colored(self, obj):
|
||||
color_code = 'C20000'
|
||||
html = '<span style="color: #{};">{}</span>˓→'.format(color_code, obj.name)
|
||||
return format_html(html)
|
||||
|
||||
name_colored.admin_order_field = 'name'
|
||||
name_colored.short_description = 'name'
|
||||
|
||||
inlines = [
|
||||
TranslationPlanInline
|
||||
]
|
||||
|
||||
|
||||
class ExercisePlanDetailAdmin(admin.ModelAdmin):
|
||||
list_display = ( 'get_plan', 'get_exercise_type', 'serie', 'repeat', 'weight_equation',)
|
||||
list_editable = ('serie', 'repeat', 'weight_equation',)
|
||||
#list_editable_link('',)
|
||||
|
||||
def get_plan(self, obj):
|
||||
return obj.exercise_plan.name
|
||||
|
||||
def get_exercise_type(self, obj):
|
||||
return obj.exercise_type.name
|
||||
|
||||
|
||||
admin.site.register(ExerciseType, ExerciseTypeAdmin)
|
||||
admin.site.register(ExerciseTree, ExerciseTreeAdmin)
|
||||
admin.site.register(ExercisePlan, ExercisePlanAdmin)
|
||||
admin.site.register(ExercisePlanDetail, ExercisePlanDetailAdmin)
|
||||
admin.autodiscover()
|
||||
|
||||
|
@ -104,3 +104,48 @@ class ExerciseTreeTranslation(models.Model):
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
class ExercisePlan(models.Model):
|
||||
exercise_plan_id = models.AutoField(primary_key=True)
|
||||
name = models.CharField(max_length=100, help_text='The name should be in English here')
|
||||
description = models.TextField(max_length=1000, blank=True, null=True, help_text='The description should be in '
|
||||
'English here')
|
||||
|
||||
class Meta:
|
||||
db_table = 'exercise_plan'
|
||||
verbose_name = _("Exercise Plan")
|
||||
verbose_name_plural = _("Exercise Plans")
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
class ExercisePlanTranslation(models.Model):
|
||||
translation_id = models.AutoField(primary_key=True)
|
||||
exercise_plan = models.ForeignKey(ExercisePlan, on_delete=models.CASCADE)
|
||||
language_code = models.CharField(max_length=2, choices=LanguageTypes.choices, default=LanguageTypes.HU)
|
||||
name = models.CharField(max_length=100)
|
||||
description = models.TextField(max_length=1000, blank=True, null=True)
|
||||
|
||||
class Meta:
|
||||
db_table = 'exercise_plan_translation'
|
||||
verbose_name = _("Translation")
|
||||
verbose_name_plural = _("Translations")
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
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)
|
||||
serie = models.IntegerField()
|
||||
repeat = models.IntegerField()
|
||||
weight_equation = models.CharField(max_length=100)
|
||||
|
||||
class Meta:
|
||||
db_table = 'exercise_plan_detail'
|
||||
verbose_name = _("Exercise Plan Detail")
|
||||
verbose_name_plural = _("Exercise Plan Details")
|
Loading…
Reference in New Issue
Block a user