BO 1.8 Evaluation
This commit is contained in:
parent
a16de5c7cd
commit
fa6cd89fe2
@ -1,13 +1,12 @@
|
||||
from abc import ABC
|
||||
|
||||
from django.contrib import admin
|
||||
from django.contrib import admin, messages
|
||||
from django.utils.html import format_html
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
#from treenode.admin import TreeNodeModelAdmin
|
||||
#from treenode.forms import TreeNodeForm
|
||||
from django.utils.translation import ugettext_lazy as _, ngettext
|
||||
# from treenode.admin import TreeNodeModelAdmin
|
||||
# from treenode.forms import TreeNodeForm
|
||||
|
||||
from .models import ExerciseType, ExerciseTypeAlternative, ExerciseTypeParents
|
||||
from .models import Product
|
||||
from .models import Evaluation, EvaluationAttribute
|
||||
from .models import ExerciseDevice, ExerciseDeviceTranslation, ExerciseTypeDevice, ExerciseDeviceAlternative
|
||||
from .models import ExerciseTypeImage
|
||||
from .models import ExerciseTypeTranslation
|
||||
@ -15,7 +14,6 @@ from .models import ExerciseTreeTranslation
|
||||
from .models import ExerciseTree
|
||||
from .models import ExerciseTreeParents
|
||||
from .models import ExercisePlanTranslation
|
||||
from .models import ExercisePlan
|
||||
from .models import ExercisePlanTemplate, ExercisePlanTemplateTranslation, ExercisePlanTemplateDetail
|
||||
|
||||
'''
|
||||
@ -53,7 +51,7 @@ class ExerciseTreeAdmin(admin.ModelAdmin):
|
||||
list_display = ('tree_id', 'name_colored', 'active')
|
||||
search_fields = ['name']
|
||||
|
||||
fields = ["name", 'description', "image_url", "active", "get_image_preview"]
|
||||
fields = ["name", 'description', "image_url", "active", "get_image_preview"]
|
||||
readonly_fields = ("get_image_preview",)
|
||||
|
||||
def get_image_preview(self, obj):
|
||||
@ -198,9 +196,8 @@ class ExercisePlanTemplateAdmin(admin.ModelAdmin):
|
||||
|
||||
|
||||
class ExercisePlanTemplateDetailAdmin(admin.ModelAdmin):
|
||||
list_display = ('get_plan', 'get_exercise_type', 'quantity', 'quantity_unit_quantity','rest_time',)
|
||||
list_editable = ('serie', 'quantity', 'quantity_unit_quantity','rest_time')
|
||||
|
||||
list_display = ('get_plan', 'get_exercise_type', 'quantity', 'quantity_unit_quantity', 'rest_time',)
|
||||
list_editable = ('serie', 'quantity', 'quantity_unit_quantity', 'rest_time')
|
||||
|
||||
def get_plan(self, obj):
|
||||
return obj.exercise_plan_template.name
|
||||
@ -231,6 +228,7 @@ class ExercisePlanAdmin(admin.ModelAdmin):
|
||||
TranslationPlanInline
|
||||
]
|
||||
|
||||
|
||||
'''
|
||||
class ExercisePlanDetailAdmin(admin.ModelAdmin):
|
||||
list_display = ('get_plan', 'get_exercise_type', 'serie', 'repeats', 'weight_equation',)
|
||||
@ -282,10 +280,35 @@ class ExerciseDeviceAdmin(admin.ModelAdmin):
|
||||
]
|
||||
|
||||
|
||||
class EvaluationAdmin(admin.ModelAdmin):
|
||||
list_display = ('evaluation_id', 'name', 'get_exercise_type')
|
||||
|
||||
def get_exercise_type(self, obj):
|
||||
return obj.exercise_type.name
|
||||
|
||||
|
||||
class EvaluationAttributeAdmin(admin.ModelAdmin):
|
||||
list_display = (
|
||||
'evaluation_attr_id', 'name', 'sex', 'age_min', 'age_max', 'value_min', 'value_max', 'evaluation_text')
|
||||
list_editable = ('name', 'sex', 'age_min', 'age_max', 'value_min', 'value_max', 'evaluation_text')
|
||||
list_filter = ('evaluation',)
|
||||
|
||||
def copy_attributes(self, request, queryset):
|
||||
for objectAttr in queryset:
|
||||
objectAttr.pk = None
|
||||
objectAttr.name = objectAttr.name + "_copy"
|
||||
objectAttr.save()
|
||||
|
||||
copy_attributes.short_description = "Clone the selected attribute"
|
||||
|
||||
actions = [copy_attributes]
|
||||
|
||||
|
||||
admin.site.register(ExerciseType, ExerciseTypeAdmin)
|
||||
admin.site.register(ExerciseTree, ExerciseTreeAdmin)
|
||||
admin.site.register(ExercisePlanTemplate, ExercisePlanTemplateAdmin)
|
||||
#admin.site.register(ExercisePlan, ExercisePlanAdmin)
|
||||
admin.site.register(Product, ProductAdmin)
|
||||
admin.site.register(ExerciseDevice, ExerciseDeviceAdmin)
|
||||
admin.site.register(Evaluation, EvaluationAdmin)
|
||||
admin.site.register(EvaluationAttribute, EvaluationAttributeAdmin)
|
||||
admin.autodiscover()
|
||||
|
Binary file not shown.
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-02-23 14:53+0100\n"
|
||||
"POT-Creation-Date: 2021-04-03 14:27+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -18,191 +18,219 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: .\aitrainer_backoffice\admin.py:48 .\aitrainer_backoffice\admin.py:94
|
||||
#: .\aitrainer_backoffice\admin.py:258
|
||||
#: .\aitrainer_backoffice\admin.py:63 .\aitrainer_backoffice\admin.py:109
|
||||
#: .\aitrainer_backoffice\admin.py:275
|
||||
msgid "Image Preview"
|
||||
msgstr "Kép előnézet"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:27 .\aitrainer_backoffice\models.py:201
|
||||
#: .\aitrainer_backoffice\models.py:30 .\aitrainer_backoffice\models.py:211
|
||||
msgid "Exercise Device"
|
||||
msgstr "Edzés eszköz"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:28 .\aitrainer_backoffice\models.py:202
|
||||
#: .\aitrainer_backoffice\models.py:31 .\aitrainer_backoffice\models.py:212
|
||||
msgid "Exercise Devices"
|
||||
msgstr "Edzés eszközök"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:42
|
||||
#, fuzzy
|
||||
#| msgid "Exercise Tree Parent"
|
||||
#: .\aitrainer_backoffice\models.py:46
|
||||
msgid "exercise_device_parent"
|
||||
msgstr "Gyakorlat Eszköz szülő"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:44
|
||||
#, fuzzy
|
||||
#| msgid "Exercise Tree"
|
||||
#: .\aitrainer_backoffice\models.py:48
|
||||
msgid "exercise_device_child"
|
||||
msgstr "Gyakorlat eszköz"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:48
|
||||
#: .\aitrainer_backoffice\models.py:52
|
||||
msgid "Device Alternative"
|
||||
msgstr "Eszköz alternatíva"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:49
|
||||
#: .\aitrainer_backoffice\models.py:53
|
||||
msgid "Device Alternatives"
|
||||
msgstr "Eszköz alternatívák"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:61 .\aitrainer_backoffice\models.py:98
|
||||
#: .\aitrainer_backoffice\models.py:187 .\aitrainer_backoffice\models.py:261
|
||||
#: .\aitrainer_backoffice\models.py:307 .\aitrainer_backoffice\models.py:390
|
||||
#: .\aitrainer_backoffice\models.py:65 .\aitrainer_backoffice\models.py:106
|
||||
#: .\aitrainer_backoffice\models.py:197 .\aitrainer_backoffice\models.py:271
|
||||
#: .\aitrainer_backoffice\models.py:317 .\aitrainer_backoffice\models.py:400
|
||||
msgid "Translation"
|
||||
msgstr "Fordítás"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:62 .\aitrainer_backoffice\models.py:99
|
||||
#: .\aitrainer_backoffice\models.py:188 .\aitrainer_backoffice\models.py:262
|
||||
#: .\aitrainer_backoffice\models.py:308 .\aitrainer_backoffice\models.py:391
|
||||
#: .\aitrainer_backoffice\models.py:66 .\aitrainer_backoffice\models.py:107
|
||||
#: .\aitrainer_backoffice\models.py:198 .\aitrainer_backoffice\models.py:272
|
||||
#: .\aitrainer_backoffice\models.py:318 .\aitrainer_backoffice\models.py:401
|
||||
msgid "Translations"
|
||||
msgstr "Fordítások"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:83
|
||||
#: .\aitrainer_backoffice\models.py:89
|
||||
msgid "Exercise Tree"
|
||||
msgstr "Gyakorlat Menü"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:84
|
||||
#: .\aitrainer_backoffice\models.py:90
|
||||
msgid "Exercise Tree Items"
|
||||
msgstr "Gyakorlat Menü elemek"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Exercise Tree Parent"
|
||||
#: .\aitrainer_backoffice\models.py:117
|
||||
msgid "exercise_tree_parent"
|
||||
msgstr "Gyakorlat Menü szülő"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:108
|
||||
#: .\aitrainer_backoffice\models.py:118
|
||||
msgid "Parent menu"
|
||||
msgstr "Szülő menüpont"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:110
|
||||
#, fuzzy
|
||||
#| msgid "Exercise Tree"
|
||||
msgid "exercise_tree_child"
|
||||
msgstr "Aktuális Gyakorlat Menü"
|
||||
#: .\aitrainer_backoffice\models.py:123 .\aitrainer_backoffice\models.py:124
|
||||
msgid "Menu Tree Representation"
|
||||
msgstr ""
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:110
|
||||
msgid "Actual menu"
|
||||
msgstr "Aktuális menüpont"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:114
|
||||
msgid "Exercise Tree Parent"
|
||||
msgstr "Gyakorlat Menü szülő"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:115
|
||||
msgid "Exercise Tree Parents"
|
||||
msgstr "Gyakorlat Menü szülők"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:150
|
||||
#: .\aitrainer_backoffice\models.py:159
|
||||
msgid "Exercise"
|
||||
msgstr "Gyakorlat"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:151
|
||||
#: .\aitrainer_backoffice\models.py:160
|
||||
msgid "Exercises"
|
||||
msgstr "Gyakorlatok"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:171
|
||||
#: .\aitrainer_backoffice\models.py:181
|
||||
msgid "Image"
|
||||
msgstr "Kép"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:172
|
||||
#: .\aitrainer_backoffice\models.py:182
|
||||
msgid "Images"
|
||||
msgstr "Képek"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:208
|
||||
#, fuzzy
|
||||
#| msgid "Exercise Tree Parent"
|
||||
#: .\aitrainer_backoffice\models.py:218
|
||||
msgid "exercise_type_parent"
|
||||
msgstr "Gyakorlat szülő"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:210
|
||||
#, fuzzy
|
||||
#| msgid "Exercise Tree"
|
||||
#: .\aitrainer_backoffice\models.py:220
|
||||
msgid "exercise_type_child"
|
||||
msgstr "Aktuális gyakorlat"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:214
|
||||
#: .\aitrainer_backoffice\models.py:224
|
||||
msgid "Exercise Alternative"
|
||||
msgstr "Gyakorlat alternatíva"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:215
|
||||
#: .\aitrainer_backoffice\models.py:225
|
||||
msgid "Exercise Alternatives"
|
||||
msgstr "Gyakorlat alternatívák"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:226
|
||||
#: .\aitrainer_backoffice\models.py:236
|
||||
msgid "Exercise Parent"
|
||||
msgstr "Gyakorlat szülő"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:227
|
||||
#: .\aitrainer_backoffice\models.py:237
|
||||
msgid "Exercise Parents"
|
||||
msgstr "Gyakorlat szülők"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:245
|
||||
#, fuzzy
|
||||
#| msgid "Exercise Plan Detail"
|
||||
#: .\aitrainer_backoffice\models.py:255
|
||||
msgid "Exercise Plan Template"
|
||||
msgstr "Edzésterv sablon"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:246
|
||||
#, fuzzy
|
||||
#| msgid "Exercise Plan Details"
|
||||
#: .\aitrainer_backoffice\models.py:256
|
||||
msgid "Exercise Plan Templates"
|
||||
msgstr "Edzésterv sablonok"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:279
|
||||
#, fuzzy
|
||||
#| msgid "Exercise Plan Detail"
|
||||
#: .\aitrainer_backoffice\models.py:289
|
||||
msgid "Exercise Plan Template Detail"
|
||||
msgstr "Edzésterv sablon gyakorlat"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:280
|
||||
#, fuzzy
|
||||
#| msgid "Exercise Plan Details"
|
||||
#: .\aitrainer_backoffice\models.py:290
|
||||
msgid "Exercise Plan Template Details"
|
||||
msgstr "Edzésterv sablon gyakorlatok"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:291
|
||||
#: .\aitrainer_backoffice\models.py:301
|
||||
msgid "Exercise Plan"
|
||||
msgstr "Edzésterv"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:292
|
||||
#: .\aitrainer_backoffice\models.py:302
|
||||
msgid "Exercise Plans"
|
||||
msgstr "Edzéstervek"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:324
|
||||
#: .\aitrainer_backoffice\models.py:334
|
||||
msgid "Exercise Plan Detail"
|
||||
msgstr "Edzésterv gyakorlat"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:325
|
||||
#: .\aitrainer_backoffice\models.py:335
|
||||
msgid "Exercise Plan Details"
|
||||
msgstr "Edzésterv gyakorlatok"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:347
|
||||
#: .\aitrainer_backoffice\models.py:357
|
||||
msgid "Product"
|
||||
msgstr "Termék"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:348
|
||||
#: .\aitrainer_backoffice\models.py:358
|
||||
msgid "Products"
|
||||
msgstr "Termékek"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:364
|
||||
#: .\aitrainer_backoffice\models.py:374
|
||||
msgid "Purchase"
|
||||
msgstr "Vásárlás"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:365
|
||||
#: .\aitrainer_backoffice\models.py:375
|
||||
msgid "Purchases"
|
||||
msgstr "Vásárlások"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:375
|
||||
#: .\aitrainer_backoffice\models.py:385
|
||||
msgid "Customer Property"
|
||||
msgstr "Ügyfél tulajdonság"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:376
|
||||
#: .\aitrainer_backoffice\models.py:386
|
||||
msgid "Customer Properties"
|
||||
msgstr "Ügyfél tulajdonságok"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:410
|
||||
msgid "exercise_type"
|
||||
msgstr "Aktuális gyakorlat"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:411
|
||||
msgid "unit"
|
||||
msgstr "Mértékegység"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:415
|
||||
msgid "Evaluation"
|
||||
msgstr "Kiértékelés"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:416
|
||||
msgid "Evaluations"
|
||||
msgstr "Kiértékelés Csoport"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:439
|
||||
msgid "evaluation_foreign"
|
||||
msgstr "Kiértékelés Főcsoport"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:440
|
||||
msgid "name"
|
||||
msgstr "Név"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:441
|
||||
msgid "sex"
|
||||
msgstr "Nem"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:442
|
||||
msgid "age_min"
|
||||
msgstr "Kortól"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:443
|
||||
msgid "age_max"
|
||||
msgstr "Korig"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:444
|
||||
msgid "value_min"
|
||||
msgstr "Min érték"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:445
|
||||
msgid "value_max"
|
||||
msgstr "Max érték"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:447
|
||||
msgid "evaluation_text"
|
||||
msgstr "Osztályozás"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:449
|
||||
msgid "suggestion"
|
||||
msgstr "Javaslat"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:453
|
||||
msgid "Evaluation Table"
|
||||
msgstr "Kiértékelés tábla"
|
||||
|
||||
#: .\aitrainer_backoffice\models.py:454
|
||||
msgid "Evaluation Tables"
|
||||
msgstr "Kiértékelés táblák"
|
||||
|
@ -1,7 +1,9 @@
|
||||
from django.db import models
|
||||
from django.utils.safestring import mark_safe
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
#from treenode.models import TreeNodeModel
|
||||
|
||||
|
||||
# from treenode.models import TreeNodeModel
|
||||
|
||||
|
||||
class LanguageTypes(models.TextChoices):
|
||||
@ -41,9 +43,9 @@ class ExerciseDevice(models.Model):
|
||||
class ExerciseDeviceAlternative(models.Model):
|
||||
exercise_device_alternative_id = models.AutoField(primary_key=True)
|
||||
exercise_device_parent = models.ForeignKey(ExerciseDevice, on_delete=models.CASCADE,
|
||||
related_name=_('exercise_device_parent'))
|
||||
related_name='exercise_device_parent')
|
||||
exercise_device_child = models.ForeignKey(ExerciseDevice, on_delete=models.CASCADE,
|
||||
related_name=_('exercise_device_child'))
|
||||
related_name='exercise_device_child')
|
||||
|
||||
class Meta:
|
||||
db_table = 'exercise_device_alternative'
|
||||
@ -109,10 +111,10 @@ class ExerciseTreeTranslation(models.Model):
|
||||
|
||||
|
||||
class ExerciseTreeParents(models.Model):
|
||||
#treenode_display_field = 'name'
|
||||
# treenode_display_field = 'name'
|
||||
exercise_tree_parents_id = models.AutoField(primary_key=True)
|
||||
exercise_tree_parent = models.ForeignKey(ExerciseTree, on_delete=models.CASCADE,
|
||||
related_name=_('exercise_tree_parent'),
|
||||
related_name='exercise_tree_parent',
|
||||
help_text=_('Parent menu'), blank=True)
|
||||
exercise_tree_child = models.ForeignKey(ExerciseTree, on_delete=models.CASCADE)
|
||||
|
||||
@ -213,9 +215,9 @@ class ExerciseTypeDevice(models.Model):
|
||||
class ExerciseTypeAlternative(models.Model):
|
||||
exercise_type_alternative_id = models.AutoField(primary_key=True)
|
||||
exercise_type_parent = models.ForeignKey(ExerciseType, on_delete=models.CASCADE,
|
||||
related_name=_('exercise_type_parent'))
|
||||
related_name='exercise_type_parent')
|
||||
exercise_type_child = models.ForeignKey(ExerciseType, on_delete=models.CASCADE,
|
||||
related_name=_('exercise_type_child'))
|
||||
related_name='exercise_type_child')
|
||||
|
||||
class Meta:
|
||||
db_table = 'exercise_type_alternative'
|
||||
@ -345,8 +347,8 @@ class Product(models.Model):
|
||||
type = models.CharField(max_length=15, choices=ProductTypes.choices, default=ProductTypes.SUBS)
|
||||
valid_from = models.DateField(blank=True, null=True)
|
||||
valid_to = models.DateField(blank=True, null=True)
|
||||
product_id_ios = models.CharField(max_length=50,blank=True, null=True)
|
||||
product_id_android = models.CharField(max_length=50,blank=True, null=True)
|
||||
product_id_ios = models.CharField(max_length=50, blank=True, null=True)
|
||||
product_id_android = models.CharField(max_length=50, blank=True, null=True)
|
||||
price_ios = models.DecimalField(max_length=12, decimal_places=2, max_digits=12, blank=True)
|
||||
price_android = models.DecimalField(max_length=12, decimal_places=2, max_digits=12, blank=True)
|
||||
|
||||
@ -400,3 +402,56 @@ class PropertyTranslation(models.Model):
|
||||
|
||||
def __str__(self):
|
||||
return self.property_name
|
||||
|
||||
|
||||
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"))
|
||||
unit = models.CharField(max_length=50, verbose_name=_("unit"))
|
||||
|
||||
class Meta:
|
||||
db_table = 'evaluation'
|
||||
verbose_name = _("Evaluation")
|
||||
verbose_name_plural = _("Evaluations")
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
class EvaluationAttribute(models.Model):
|
||||
class SexTypes(models.TextChoices):
|
||||
MAN = 'm'
|
||||
WOMAN = 'w'
|
||||
|
||||
class EvaluationTypes(models.TextChoices):
|
||||
ELITE = "elite"
|
||||
EXCELLENT = "excellent"
|
||||
GOOD = "good"
|
||||
ABOVE_AVERAGE = "above_average"
|
||||
AVERAGE = "average"
|
||||
BELOW_AVERAGE = "below_average"
|
||||
FAIR = "fair"
|
||||
POOR = "poor"
|
||||
VERY_POOR = "very_poor"
|
||||
|
||||
evaluation_attr_id = models.AutoField(primary_key=True)
|
||||
evaluation = models.ForeignKey(Evaluation, on_delete=models.CASCADE, verbose_name=_("evaluation_foreign"))
|
||||
name = models.CharField(max_length=100, help_text='The name should be in English here', verbose_name=_("name"))
|
||||
sex = models.CharField(max_length=1, choices=SexTypes.choices, default=SexTypes.MAN, verbose_name=_("sex"))
|
||||
age_min = models.IntegerField(verbose_name=_("age_min"))
|
||||
age_max = models.IntegerField(verbose_name=_("age_max"))
|
||||
value_min = models.FloatField(verbose_name=_("value_min"))
|
||||
value_max = models.FloatField(verbose_name=_("value_max"))
|
||||
evaluation_text = models.CharField(max_length=50, choices=EvaluationTypes.choices, default=EvaluationTypes.AVERAGE,
|
||||
verbose_name=_("evaluation_text"))
|
||||
suggestion = models.TextField(max_length=1000, blank=True, null=True, help_text="English suggestion here",
|
||||
verbose_name=_("suggestion"))
|
||||
|
||||
class Meta:
|
||||
db_table = 'evaluation_attribute'
|
||||
verbose_name = _("Evaluation Table")
|
||||
verbose_name_plural = _("Evaluation Tables")
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
Loading…
Reference in New Issue
Block a user