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

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\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"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,8 +18,8 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: .\aitrainer_backoffice\admin.py:34 .\aitrainer_backoffice\admin.py:88
#: .\aitrainer_backoffice\admin.py:194
#: .\aitrainer_backoffice\admin.py:34 .\aitrainer_backoffice\admin.py:114
#: .\aitrainer_backoffice\admin.py:227
msgid "Image Preview"
msgstr "Kép előnézet"
@ -33,11 +33,11 @@ msgstr "Edzés eszközök"
#: .\aitrainer_backoffice\models.py:42
msgid "Exercise Tree"
msgstr "Gyakorlat menü"
msgstr "Gyakorlat Menü"
#: .\aitrainer_backoffice\models.py:43
msgid "Exercise Tree Items"
msgstr "Gyakorlat menü elem"
msgstr "Gyakorlat Menü elemek"
#: .\aitrainer_backoffice\models.py:76
msgid "Exercise"
@ -107,6 +107,18 @@ msgstr "Ügyfél tulajdonság"
msgid "Customer Properties"
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
msgid "Device Alternative"
msgstr "Eszköz alternatíva"
@ -115,18 +127,58 @@ msgstr "Eszköz alternatíva"
msgid "Device Alternatives"
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"
msgstr "Gyakorlat alternatíva"
#: .\aitrainer_backoffice\models.py:293
#: .\aitrainer_backoffice\models.py:295
msgid "Exercise Alternatives"
msgstr "Gyakorlat alternatívák"
#: .\aitrainer_backoffice\models.py:304
#: .\aitrainer_backoffice\models.py:306
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"
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):
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'
@ -284,14 +284,16 @@ class ExerciseDeviceAlternative(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')
exercise_type_child = models.ForeignKey(ExerciseType, on_delete=models.CASCADE, related_name='exercise_type_child')
exercise_type_parent = models.ForeignKey(ExerciseType, on_delete=models.CASCADE,
related_name=_('exercise_type_parent'))
exercise_type_child = models.ForeignKey(ExerciseType, on_delete=models.CASCADE,
related_name=_('exercise_type_child'))
class Meta:
db_table = 'exercise_type_alternative'
verbose_name = _("Exercise Alternative")
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):
@ -304,3 +306,15 @@ class ExerciseTypeParents(models.Model):
verbose_name = _("Exercise Parent")
verbose_name_plural = _("Exercise Parents")
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
## compilemessages

View File

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