diff --git a/aitrainer_backoffice/aitrainer_backoffice/admin.py b/aitrainer_backoffice/aitrainer_backoffice/admin.py index 63a55a0..44cbf9e 100644 --- a/aitrainer_backoffice/aitrainer_backoffice/admin.py +++ b/aitrainer_backoffice/aitrainer_backoffice/admin.py @@ -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() diff --git a/aitrainer_backoffice/aitrainer_backoffice/locale/hu/LC_MESSAGES/django.mo b/aitrainer_backoffice/aitrainer_backoffice/locale/hu/LC_MESSAGES/django.mo index 565a78e..6cc18cc 100644 Binary files a/aitrainer_backoffice/aitrainer_backoffice/locale/hu/LC_MESSAGES/django.mo and b/aitrainer_backoffice/aitrainer_backoffice/locale/hu/LC_MESSAGES/django.mo differ diff --git a/aitrainer_backoffice/aitrainer_backoffice/locale/hu/LC_MESSAGES/django.po b/aitrainer_backoffice/aitrainer_backoffice/locale/hu/LC_MESSAGES/django.po index 8942dd4..426177c 100644 --- a/aitrainer_backoffice/aitrainer_backoffice/locale/hu/LC_MESSAGES/django.po +++ b/aitrainer_backoffice/aitrainer_backoffice/locale/hu/LC_MESSAGES/django.po @@ -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 \n" "Language-Team: LANGUAGE \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" diff --git a/aitrainer_backoffice/aitrainer_backoffice/models.py b/aitrainer_backoffice/aitrainer_backoffice/models.py index 8aa1b54..58eae89 100644 --- a/aitrainer_backoffice/aitrainer_backoffice/models.py +++ b/aitrainer_backoffice/aitrainer_backoffice/models.py @@ -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']] \ No newline at end of file + 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']] \ No newline at end of file diff --git a/aitrainer_backoffice/translate.bat b/aitrainer_backoffice/translate.bat index e20c367..c018a6f 100644 --- a/aitrainer_backoffice/translate.bat +++ b/aitrainer_backoffice/translate.bat @@ -1 +1,3 @@ -django-admin makemessages -l hu --ignore venv --pythonpath "D:\projects\aitrainer\src\aitrainer_backoffice" --settings aitrainer_backoffice.aitrainer_backoffice.settings.dev \ No newline at end of file +django-admin makemessages -l hu --ignore venv --pythonpath "D:\projects\aitrainer\src\aitrainer_backoffice" --settings aitrainer_backoffice.aitrainer_backoffice.settings.dev + +## compilemessages \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 489ab8e..7262caa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -django==3.0.8 +django==3.1.4 asgiref==3.2.10 certifi==2020.6.20 chardet==3.0.4