From ec845a2981049f3430c346d2c183784f2777af1e Mon Sep 17 00:00:00 2001 From: borzechof99 <borzechof99@mi.fu-berlin.de> Date: Sat, 12 Jun 2021 17:32:32 +0200 Subject: [PATCH] Add Admin Integration and update seed_db.py --- unisportomat/quiz/admin.py | 21 +++++- .../quiz/management/commands/seed_db.py | 70 +++++++++++++++---- 2 files changed, 73 insertions(+), 18 deletions(-) diff --git a/unisportomat/quiz/admin.py b/unisportomat/quiz/admin.py index c1adb96..f986e46 100644 --- a/unisportomat/quiz/admin.py +++ b/unisportomat/quiz/admin.py @@ -1,6 +1,7 @@ """ Here is the place to register the Models to be seen in the admin interface """ from django.contrib import admin +from modeltranslation.admin import TranslationAdmin # Register your models here. from .models import ( @@ -12,9 +13,23 @@ from .models import ( KnowledgeSnack, ) + +class QuestionAdmin(TranslationAdmin): + """Allows for proper formatting of Translations in Question""" + + +class CallToMoveAdmin(TranslationAdmin): + """Allows for proper formatting of Translations in CallToMove""" + + +class KnowledgeSnackAdmin(TranslationAdmin): + """Allows for proper formatting of Translations in KnowledgeSnack""" + + admin.site.register(Sport) admin.site.register(Criterion) -admin.site.register(Question) admin.site.register(CriterionRating) -admin.site.register(CallToMove) -admin.site.register(KnowledgeSnack) + +admin.site.register(Question, QuestionAdmin) +admin.site.register(CallToMove, CallToMoveAdmin) +admin.site.register(KnowledgeSnack, KnowledgeSnackAdmin) diff --git a/unisportomat/quiz/management/commands/seed_db.py b/unisportomat/quiz/management/commands/seed_db.py index 31f0e9c..ded2a91 100644 --- a/unisportomat/quiz/management/commands/seed_db.py +++ b/unisportomat/quiz/management/commands/seed_db.py @@ -8,6 +8,7 @@ import random from django.core.files.uploadedfile import SimpleUploadedFile from django.core.management import call_command from django.core.management.base import BaseCommand +from django.utils.translation import activate from quiz.models import ( Sport, Criterion, @@ -50,7 +51,7 @@ class Command(BaseCommand): help="No super user shall be created", ) - def handle(self, *args, **options): + def handle(self, *args, **options): # pylint: disable=too-many-locals """Create some objects for all models""" # delete all present database entries (necessary because of unique constraints) @@ -93,21 +94,43 @@ class Command(BaseCommand): # Create questions questions = [ - "Ich würde am liebsten gemeinsam mit anderen trainieren.", - "Teamgeist und Wir-Gefühl sind für mich beim Sport eine große Motivation.", - "Ich betreibe lieber alleine Sport.", - "Ich bin bereit, mir ggf. Material für die Sportart zu kaufen.", - "Ich bevorzuge das Sportangebot draußen in der Natur vor dem Indoor-Angebot.", + ( + "Ich würde am liebsten gemeinsam mit anderen trainieren.", + "I'd prefer to train with others.", + ), + ( + "Teamgeist und Wir-Gefühl sind für mich beim Sport eine große Motivation.", + "Being in a Team is a big motivation for me.", + ), + ("Ich betreibe lieber alleine Sport.", "I prefer to do sport alone"), + ( + "Ich bin bereit, mir ggf. Material für die Sportart zu kaufen.", + "I am willing to buy extra materials for sport.", + ), + ( + "Ich bevorzuge das Sportangebot draußen in der Natur vor dem Indoor-Angebot.", + "I prefer sports outside in the nature instead of indoors.", + ), ] for number, criterion in enumerate(Criterion.objects.all()): - Question(text=questions[number], criterion=criterion).save() + activate("de") + que = Question(text=questions[number][0], criterion=criterion) + activate("en") + que.text = questions[number][1] + que.save() # Create Calls to Move calls_to_move = [ - "Kreise deine Schultern vor der nächsten Frage 3x nach hinten", - "Stehe auf, beuge dich mit gestrecktem Rücken nach vorne und greife deinen Stuhl.", - "Mache vor der nächsten Frage 3 Jumping Jacks", + ( + "Kreise deine Schultern vor der nächsten Frage 3x nach hinten", + "Move your shoulders in circles. Three Times. Noooow.", + ), + ( + "Stehe auf, beuge dich mit gestrecktem Rücken nach vorne und greife deinen Stuhl.", + "Stand up, keep your back straight, bow down.", + ), + ("Mache vor der nächsten Frage 3 Jumping Jacks", "Do Three Jumping Jacks."), ] image = SimpleUploadedFile( name="test_image.png", @@ -116,13 +139,26 @@ class Command(BaseCommand): ) for text in calls_to_move: - CallToMove(text=text, image=image).save() + activate("de") + c_t_m = CallToMove(text=text[0], image=image) + activate("en") + c_t_m.text = text[1] + c_t_m.save() # Create Knowledge Snacks knowledge_snacks = [ - "Dass Treppensteigen fast 5x so viele Kalorien verbrennt, wie das Nutzen des Aufzuges?", - "Dass das Spielemobil zur Mittagszeit immer auf dem Campus unterwegs ist?", - "Dass regelmäßige Bewegung Herz-Kreislauf-Erkrankungen vorbeugt?", + ( + "Dass Treppensteigen fast 5x so viele Kalorien verbrennt, wie das Nutzen des Aufzuges?", + "That Taking the stairs burns five times as much calories than using the lift?", + ), + ( + "Dass das Spielemobil zur Mittagszeit immer auf dem Campus unterwegs ist?", + "That the Spielemobil is on campus every noon?", + ), + ( + "Dass regelmäßige Bewegung Herz-Kreislauf-Erkrankungen vorbeugt?", + "That proper training prevents heart disease?", + ), ] image = SimpleUploadedFile( name="logo.png", @@ -130,4 +166,8 @@ class Command(BaseCommand): content_type="image/png", ) for text in knowledge_snacks: - KnowledgeSnack(text=text, image=image).save() + activate("de") + k_s = KnowledgeSnack(text=text[0], image=image) + activate("en") + k_s.text = text[1] + k_s.save() -- GitLab