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 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()
|
||||
|
||||
|
Binary file not shown.
@ -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"
|
||||
|
@ -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):
|
||||
@ -303,4 +305,16 @@ class ExerciseTypeParents(models.Model):
|
||||
db_table = 'exercise_type_parents'
|
||||
verbose_name = _("Exercise Parent")
|
||||
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
|
||||
certifi==2020.6.20
|
||||
chardet==3.0.4
|
||||
|
Loading…
Reference in New Issue
Block a user