API 1.0.18 Tree Parents
This commit is contained in:
parent
ae782f7703
commit
18353241f6
@ -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()
|
||||||
|
|
||||||
|
Binary file not shown.
@ -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"
|
||||||
|
@ -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):
|
||||||
@ -304,3 +306,15 @@ class ExerciseTypeParents(models.Model):
|
|||||||
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']]
|
@ -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
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user