API 1.0.18 Tree Parents

This commit is contained in:
Bossanyi Tibor 2020-12-03 18:30:44 +01:00
parent ae782f7703
commit 18353241f6
6 changed files with 122 additions and 41 deletions

View File

@ -7,7 +7,7 @@ from .models import ExerciseDevice, ExerciseDeviceTranslation, ExerciseTypeDevic
from .models import ExerciseTypeImage from .models import ExerciseTypeImage
from .models import ExerciseTypeTranslation from .models import ExerciseTypeTranslation
from .models import ExerciseTreeTranslation from .models import ExerciseTreeTranslation
from .models import ExerciseTree from .models import ExerciseTree, ExerciseTreeParents
from .models import ExercisePlanTranslation from .models import ExercisePlanTranslation
from .models import ExercisePlanDetail from .models import ExercisePlanDetail
from .models import ExercisePlan from .models import ExercisePlan
@ -40,9 +40,23 @@ class TranslationInline(admin.TabularInline):
extra = 0 extra = 0
class ExerciseTypeAlternativesInline(admin.TabularInline):
model = ExerciseTypeAlternative
fk_name = 'exercise_type_child'
fields = ('exercise_type_parent',)
extra = 0
class ExerciseTypeParentsInline(admin.TabularInline):
model = ExerciseTypeParents
fields = ('exercise_tree',)
extra = 0
class ExerciseTypeAdmin(admin.ModelAdmin): class ExerciseTypeAdmin(admin.ModelAdmin):
list_display = ('exercise_type_id', 'tree', 'name_colored', 'active', 'base') list_display = ('exercise_type_id', 'tree', 'name_colored', 'active', 'base')
search_fields = ['name'] search_fields = ['name']
fields = ('name', 'description', 'unit', 'unit_quantity', 'unit_quantity_unit', 'active', 'base')
def name_colored(self, obj): def name_colored(self, obj):
if obj.active: if obj.active:
@ -62,6 +76,8 @@ class ExerciseTypeAdmin(admin.ModelAdmin):
ImageInline, ImageInline,
TranslationInline, TranslationInline,
ExerciseTypeDeviceInline, ExerciseTypeDeviceInline,
ExerciseTypeAlternativesInline,
ExerciseTypeParentsInline
] ]
exclude = ('exercise_tree',) exclude = ('exercise_tree',)
@ -72,8 +88,15 @@ class TranslationTreeInline(admin.TabularInline):
extra = 0 extra = 0
class ExerciseTreeParentsInline(admin.TabularInline):
model = ExerciseTreeParents
fk_name = 'exercise_tree_child'
fields = ('exercise_tree_parent',)
extra = 0
class ExerciseTreeAdmin(admin.ModelAdmin): class ExerciseTreeAdmin(admin.ModelAdmin):
list_display = ('tree_id', 'name_colored', 'parent_id', 'active') list_display = ('tree_id', 'name_colored', 'active')
search_fields = ['name'] search_fields = ['name']
fields = ["name", "parent_id", "image_url", "active", "get_image_preview"] fields = ["name", "parent_id", "image_url", "active", "get_image_preview"]
@ -102,7 +125,8 @@ class ExerciseTreeAdmin(admin.ModelAdmin):
name_colored.short_description = 'name' name_colored.short_description = 'name'
inlines = [ inlines = [
TranslationTreeInline TranslationTreeInline,
ExerciseTreeParentsInline
] ]
@ -178,13 +202,16 @@ class TranslationExerciseDeviceInline(admin.TabularInline):
fields = ('language_code', 'name') fields = ('language_code', 'name')
extra = 0 extra = 0
def __init__(self, parent_model, admin_site):
super().__init__(parent_model, admin_site) class ExerciseDeviceAlternativesInline(admin.TabularInline):
self.short_description = _("Nyelvi kód") model = ExerciseDeviceAlternative
fk_name = 'exercise_device_child'
fields = ('exercise_device_parent',)
extra = 0
class ExerciseDeviceAdmin(admin.ModelAdmin): class ExerciseDeviceAdmin(admin.ModelAdmin):
list_display = ('exercise_device_id', 'name') list_display = ('name',)
fields = ('name', 'description', "image_url", "get_image_preview", "sort", "place") fields = ('name', 'description', "image_url", "get_image_preview", "sort", "place")
readonly_fields = ("get_image_preview",) readonly_fields = ("get_image_preview",)
@ -198,21 +225,10 @@ class ExerciseDeviceAdmin(admin.ModelAdmin):
inlines = [ inlines = [
TranslationExerciseDeviceInline, TranslationExerciseDeviceInline,
ExerciseDeviceAlternativesInline
] ]
class ExerciseDeviceAlternativeAdmin(admin.ModelAdmin):
list_display = ('exercise_device_alternative_id', 'exercise_device_parent')
class ExerciseTypeAlternativeAdmin(admin.ModelAdmin):
list_display = ('exercise_type_alternative_id',)
class ExerciseTypeParentsAdmin(admin.ModelAdmin):
list_display = ('exercise_type_parents_id', 'exercise_type')
admin.site.register(ExerciseType, ExerciseTypeAdmin) admin.site.register(ExerciseType, ExerciseTypeAdmin)
admin.site.register(ExerciseTree, ExerciseTreeAdmin) admin.site.register(ExerciseTree, ExerciseTreeAdmin)
admin.site.register(ExercisePlan, ExercisePlanAdmin) admin.site.register(ExercisePlan, ExercisePlanAdmin)
@ -221,8 +237,5 @@ admin.site.register(Product, ProductAdmin)
admin.site.register(Purchase, PurchaseAdmin) admin.site.register(Purchase, PurchaseAdmin)
admin.site.register(Property, PropertyAdmin) admin.site.register(Property, PropertyAdmin)
admin.site.register(ExerciseDevice, ExerciseDeviceAdmin) admin.site.register(ExerciseDevice, ExerciseDeviceAdmin)
admin.site.register(ExerciseDeviceAlternative, ExerciseDeviceAlternativeAdmin)
admin.site.register(ExerciseTypeAlternative, ExerciseTypeAlternativeAdmin)
admin.site.register(ExerciseTypeParents, ExerciseTypeParentsAdmin)
admin.autodiscover() admin.autodiscover()

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-12-03 14:42+0100\n" "POT-Creation-Date: 2020-12-03 18:29+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,8 +18,8 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: .\aitrainer_backoffice\admin.py:34 .\aitrainer_backoffice\admin.py:88 #: .\aitrainer_backoffice\admin.py:34 .\aitrainer_backoffice\admin.py:114
#: .\aitrainer_backoffice\admin.py:194 #: .\aitrainer_backoffice\admin.py:227
msgid "Image Preview" msgid "Image Preview"
msgstr "Kép előnézet" msgstr "Kép előnézet"
@ -33,11 +33,11 @@ msgstr "Edzés eszközök"
#: .\aitrainer_backoffice\models.py:42 #: .\aitrainer_backoffice\models.py:42
msgid "Exercise Tree" msgid "Exercise Tree"
msgstr "Gyakorlat menü" msgstr "Gyakorlat Menü"
#: .\aitrainer_backoffice\models.py:43 #: .\aitrainer_backoffice\models.py:43
msgid "Exercise Tree Items" msgid "Exercise Tree Items"
msgstr "Gyakorlat menü elem" msgstr "Gyakorlat Menü elemek"
#: .\aitrainer_backoffice\models.py:76 #: .\aitrainer_backoffice\models.py:76
msgid "Exercise" msgid "Exercise"
@ -107,6 +107,18 @@ msgstr "Ügyfél tulajdonság"
msgid "Customer Properties" msgid "Customer Properties"
msgstr "Ügyfél tulajdonságok" msgstr "Ügyfél tulajdonságok"
#: .\aitrainer_backoffice\models.py:274
#, fuzzy
#| msgid "Exercise Tree Parent"
msgid "exercise_device_parent"
msgstr "Gyakorlat Eszköz szülő"
#: .\aitrainer_backoffice\models.py:276
#, fuzzy
#| msgid "Exercise Tree"
msgid "exercise_device_child"
msgstr "Gyakorlat eszköz"
#: .\aitrainer_backoffice\models.py:280 #: .\aitrainer_backoffice\models.py:280
msgid "Device Alternative" msgid "Device Alternative"
msgstr "Eszköz alternatíva" msgstr "Eszköz alternatíva"
@ -115,18 +127,58 @@ msgstr "Eszköz alternatíva"
msgid "Device Alternatives" msgid "Device Alternatives"
msgstr "Eszköz alternatívák" msgstr "Eszköz alternatívák"
#: .\aitrainer_backoffice\models.py:292 #: .\aitrainer_backoffice\models.py:288
#, fuzzy
#| msgid "Exercise Tree Parent"
msgid "exercise_type_parent"
msgstr "Gyakorlat szülő"
#: .\aitrainer_backoffice\models.py:290
#, fuzzy
#| msgid "Exercise Tree"
msgid "exercise_type_child"
msgstr "Aktuális gyakorlat"
#: .\aitrainer_backoffice\models.py:294
msgid "Exercise Alternative" msgid "Exercise Alternative"
msgstr "Gyakorlat alternatíva" msgstr "Gyakorlat alternatíva"
#: .\aitrainer_backoffice\models.py:293 #: .\aitrainer_backoffice\models.py:295
msgid "Exercise Alternatives" msgid "Exercise Alternatives"
msgstr "Gyakorlat alternatívák" msgstr "Gyakorlat alternatívák"
#: .\aitrainer_backoffice\models.py:304 #: .\aitrainer_backoffice\models.py:306
msgid "Exercise Parent" msgid "Exercise Parent"
msgstr "Gyakorlat szülő menüpont" msgstr "Gyakorlat szülő"
#: .\aitrainer_backoffice\models.py:305 #: .\aitrainer_backoffice\models.py:307
msgid "Exercise Parents" msgid "Exercise Parents"
msgstr "Gyakorlat szülő menüpontok" msgstr "Gyakorlat szülők"
#: .\aitrainer_backoffice\models.py:313
#, fuzzy
#| msgid "Exercise Tree Parent"
msgid "exercise_tree_parent"
msgstr "Gyakorlat Menü szülő"
#: .\aitrainer_backoffice\models.py:313
msgid "Parent menu"
msgstr "Szülő menüpont"
#: .\aitrainer_backoffice\models.py:314
#, fuzzy
#| msgid "Exercise Tree"
msgid "exercise_tree_child"
msgstr "Aktuális Gyakorlat Menü"
#: .\aitrainer_backoffice\models.py:314
msgid "Actual menu"
msgstr "Aktuális menüpont"
#: .\aitrainer_backoffice\models.py:318
msgid "Exercise Tree Parent"
msgstr "Gyakorlat Menü szülő"
#: .\aitrainer_backoffice\models.py:319
msgid "Exercise Tree Parents"
msgstr "Gyakorlat Menü szülők"

View File

@ -271,9 +271,9 @@ class ExerciseDeviceTranslation(models.Model):
class ExerciseDeviceAlternative(models.Model): class ExerciseDeviceAlternative(models.Model):
exercise_device_alternative_id = models.AutoField(primary_key=True) exercise_device_alternative_id = models.AutoField(primary_key=True)
exercise_device_parent = models.ForeignKey(ExerciseDevice, on_delete=models.CASCADE, 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, exercise_device_child = models.ForeignKey(ExerciseDevice, on_delete=models.CASCADE,
related_name='exercise_device_child') related_name=_('exercise_device_child'))
class Meta: class Meta:
db_table = 'exercise_device_alternative' db_table = 'exercise_device_alternative'
@ -284,14 +284,16 @@ class ExerciseDeviceAlternative(models.Model):
class ExerciseTypeAlternative(models.Model): class ExerciseTypeAlternative(models.Model):
exercise_type_alternative_id = models.AutoField(primary_key=True) exercise_type_alternative_id = models.AutoField(primary_key=True)
exercise_type_parent = models.ForeignKey(ExerciseType, on_delete=models.CASCADE, related_name='exercise_type_parent') exercise_type_parent = models.ForeignKey(ExerciseType, on_delete=models.CASCADE,
exercise_type_child = models.ForeignKey(ExerciseType, on_delete=models.CASCADE, related_name='exercise_type_child') related_name=_('exercise_type_parent'))
exercise_type_child = models.ForeignKey(ExerciseType, on_delete=models.CASCADE,
related_name=_('exercise_type_child'))
class Meta: class Meta:
db_table = 'exercise_type_alternative' db_table = 'exercise_type_alternative'
verbose_name = _("Exercise Alternative") verbose_name = _("Exercise Alternative")
verbose_name_plural = _("Exercise Alternatives") verbose_name_plural = _("Exercise Alternatives")
#unique_together = [['exercise_type_parent', 'exercise_type_child']] unique_together = [['exercise_type_parent', 'exercise_type_child']]
class ExerciseTypeParents(models.Model): class ExerciseTypeParents(models.Model):
@ -303,4 +305,16 @@ class ExerciseTypeParents(models.Model):
db_table = 'exercise_type_parents' db_table = 'exercise_type_parents'
verbose_name = _("Exercise Parent") verbose_name = _("Exercise Parent")
verbose_name_plural = _("Exercise Parents") verbose_name_plural = _("Exercise Parents")
unique_together= [['exercise_type', 'exercise_tree']] unique_together= [['exercise_type', 'exercise_tree']]
class ExerciseTreeParents(models.Model):
exercise_tree_parents_id = models.AutoField(primary_key=True)
exercise_tree_parent = models.ForeignKey(ExerciseTree, on_delete=models.CASCADE, related_name=_('exercise_tree_parent'), help_text=_('Parent menu'))
exercise_tree_child = models.ForeignKey(ExerciseTree, on_delete=models.CASCADE, related_name=_('exercise_tree_child'), help_text=_('Actual menu'))
class Meta:
db_table = 'exercise_tree_parents'
verbose_name = _("Exercise Tree Parent")
verbose_name_plural = _("Exercise Tree Parents")
unique_together= [['exercise_tree_parent', 'exercise_tree_child']]

View File

@ -1 +1,3 @@
django-admin makemessages -l hu --ignore venv --pythonpath "D:\projects\aitrainer\src\aitrainer_backoffice" --settings aitrainer_backoffice.aitrainer_backoffice.settings.dev django-admin makemessages -l hu --ignore venv --pythonpath "D:\projects\aitrainer\src\aitrainer_backoffice" --settings aitrainer_backoffice.aitrainer_backoffice.settings.dev
## compilemessages

View File

@ -1,4 +1,4 @@
django==3.0.8 django==3.1.4
asgiref==3.2.10 asgiref==3.2.10
certifi==2020.6.20 certifi==2020.6.20
chardet==3.0.4 chardet==3.0.4