Add IT uk and training course
This commit is contained in:
parent
1cda586f61
commit
f2438f6d57
|
|
@ -0,0 +1,227 @@
|
||||||
|
{
|
||||||
|
"Benutzername": "Nome utente",
|
||||||
|
"Hier findest du die Trainerunterlagen (Lösungsblätter, Präsentationen etc.) für deinen Circle.": "Qui trovi i documenti del/della trainer (soluzioni, presentazioni ecc.) per il tuo Circle.",
|
||||||
|
"Klicke auf den Button, um dich über SSO anzumelden oder zu registrieren.": "Clicca sul pulsante per effettuare il login o registrarti tramite SSO.",
|
||||||
|
"MS Teams öffnen": "Aprire MS Teams",
|
||||||
|
"Nächste Termine:": "Prossime scadenze:",
|
||||||
|
"Passwort": "Password",
|
||||||
|
"SSO Login/Registration": "Login/Registrazione SSO",
|
||||||
|
"Trainerunterlagen": "Documenti del/della trainer",
|
||||||
|
"Zur Zeit sind keine Termine vorhanden": "Al momento non ci sono scadenze",
|
||||||
|
"assignment": {
|
||||||
|
"acceptConditionsDisclaimer": "Accettare le condizioni e consegnare i risultati",
|
||||||
|
"assessmentDocumentDisclaimer": "Questa analisi guidata del caso viene valutata sulla base del seguente strumento di valutazione:",
|
||||||
|
"assessmentTitle": "Valutazione",
|
||||||
|
"assignmentSubmitted": "I tuoi risultati sono stati consegnati con successo.",
|
||||||
|
"confirmSubmitPerson": "Confermo che i miei risultati dovranno essere valutati dalla seguente persona.",
|
||||||
|
"confirmSubmitResults": "Confermo di aver controllato il riepilogo dei miei risultati e di volerli consegnare.",
|
||||||
|
"dueDateIntroduction": "Presenta i tuoi risultati entro il {date} alle {time}.",
|
||||||
|
"dueDateNotSet": "Non sono stati registrati dati di consegna per questo svolgimento",
|
||||||
|
"dueDateSubmission": "Termine di presentazione: {date}",
|
||||||
|
"dueDateTitle": "Termine di consegna",
|
||||||
|
"edit": "Modificare",
|
||||||
|
"effortTitle": "Tempo richiesto",
|
||||||
|
"initialSituationTitle": "Situazione di partenza",
|
||||||
|
"lastChangesNotSaved": "Non è stato possibile salvare l’ultima modifica.",
|
||||||
|
"performanceObjectivesTitle": "Obiettivi di valutazione",
|
||||||
|
"showAssessmentDocument": "Mostrare lo strumento di valutazione",
|
||||||
|
"submissionNotificationDisclaimer": "I tuoi risultati saranno valutati da {name}. Riceverai una notifica non appena la tua valutazione sarà disponibile.",
|
||||||
|
"submitAssignment": "Consegnare i risultati",
|
||||||
|
"taskDefinition": "Svolgi le attività parziali e documenta i tuoi risultati.",
|
||||||
|
"taskDefinitionTitle": "Compito"
|
||||||
|
},
|
||||||
|
"circlePage": {
|
||||||
|
"circleContentBoxTitle": "Cosa apprenderai in questo Circle",
|
||||||
|
"contactExpertButton": "Contattare il/la trainer",
|
||||||
|
"contactExpertDescription": "Confrontati con il/la trainer per il Circle {circleName}.",
|
||||||
|
"documents": {
|
||||||
|
"action": "Caricare i documenti",
|
||||||
|
"chooseLearningSequence": "Seleziona una sequenza di apprendimento",
|
||||||
|
"chooseName": "Seleziona un nome",
|
||||||
|
"chooseSequence": "Seleziona una sequenza di apprendimento",
|
||||||
|
"deleteModalTitle": "Eliminare il documento",
|
||||||
|
"deleteModalWarning": "Desideri davvero eliminare il documento <strong>\"{title}\"</strong>?<br> Una volta eseguita, l’operazione non potrà più essere annullata.",
|
||||||
|
"expertDescription": "Fornisci ai tuoi allievi e alle tue allieve contenuti aggiuntivi.",
|
||||||
|
"fileLabel": "File",
|
||||||
|
"maxFileSize": "Dimensioni massime del file: 20 MB",
|
||||||
|
"modalAction": "Selezionare il file",
|
||||||
|
"modalFileName": "Nome",
|
||||||
|
"modalNameInformation": "Max. 70 caratteri",
|
||||||
|
"selectFile": "Seleziona un file",
|
||||||
|
"title": "Documenti",
|
||||||
|
"trainerDescription": "Trova contenuti aggiuntivi per la tua lezione su Teams.",
|
||||||
|
"trainerLinkSrc": "https://vbvbern.sharepoint.com/sites/myVBV-AFA_K-CI",
|
||||||
|
"trainerLinkText": "Visualizzare i contenuti su Teams",
|
||||||
|
"trainerTitle": "Supporto per trainer",
|
||||||
|
"uploadErrorMessage": "Si è verificato un errore durante il caricamento. Riprova.",
|
||||||
|
"userDescription": "Qui trovi ulteriori documenti che ti supporteranno nell’apprendimento in questo Circle."
|
||||||
|
},
|
||||||
|
"duration": "Durata",
|
||||||
|
"gotQuestions": "Hai domande?",
|
||||||
|
"learnMore": "Ottieni maggiori informazioni"
|
||||||
|
},
|
||||||
|
"cockpit": {
|
||||||
|
"examsDone": "Esami sostenuti dal/dalla partecipante.",
|
||||||
|
"feedbacksDone": "Feedback inviati dal/dalla partecipante.",
|
||||||
|
"notifyTask": "Inviare notifica",
|
||||||
|
"notifyTaskDescription": "Inviare notifica al/alla partecipante",
|
||||||
|
"profileLink": "Mostrare il profilo",
|
||||||
|
"progress": "Partecipanti / Stato",
|
||||||
|
"tasksDone": "Incarichi di trasferimento completati dal/dalla partecipante.",
|
||||||
|
"title": "Cockpit"
|
||||||
|
},
|
||||||
|
"competences": {
|
||||||
|
"assessAgain": "Nuova auto-valutazione",
|
||||||
|
"assessment": "Valutazioni",
|
||||||
|
"competences": "Competenze",
|
||||||
|
"lastImprovements": "Ultime competenze migliorate",
|
||||||
|
"notAssessed": "Non valutato",
|
||||||
|
"title": "Navigatore Competenze"
|
||||||
|
},
|
||||||
|
"constants": {
|
||||||
|
"no": "No",
|
||||||
|
"satisfied": "soddisfatto/a",
|
||||||
|
"unsatisfied": "insoddisfatto/a",
|
||||||
|
"verySatisfied": "molto soddisfatto/a",
|
||||||
|
"veryUnsatisfied": "molto insoddisfatto/a",
|
||||||
|
"yes": "Sì"
|
||||||
|
},
|
||||||
|
"dashboard": {
|
||||||
|
"courses": "Corso",
|
||||||
|
"nocourses": "Non sei ancora stato/a assegnato/a a nessun corso.",
|
||||||
|
"welcome": "Ti diamo il benvenuto, {name}"
|
||||||
|
},
|
||||||
|
"feedback": {
|
||||||
|
"answers": "Risposte",
|
||||||
|
"areYouSatisfied": "Quanto sei soddisfatto/a?",
|
||||||
|
"average": "Media",
|
||||||
|
"circleFeedback": "Feedback sul Circle",
|
||||||
|
"completionDescription": "Il tuo feedback è anonimo. Il/La trainer non visualizzerà il tuo nome e cognome.",
|
||||||
|
"completionTitle": "Invia il tuo feedback a {name}",
|
||||||
|
"courseNegativeFeedbackLabel": "Dove vedi un potenziale di miglioramento?",
|
||||||
|
"coursePositiveFeedbackLabel": "Cos’hai apprezzato particolarmente?",
|
||||||
|
"feedbackPageInfo": "I/Le partecipanti hanno fornito il feedback",
|
||||||
|
"feedbackPageTitle": "Feedback sul corso",
|
||||||
|
"feedbackSent": "Il tuo feedback è stato inviato",
|
||||||
|
"goalAttainmentLabel": "Raggiungimento complessivo degli obiettivi",
|
||||||
|
"happy": "Soddisfatto/a",
|
||||||
|
"instructorCompetenceLabel": "Come valuti il livello di preparazione sui temi e le competenze specialistiche dell’istruttore/istruttrice del corso?",
|
||||||
|
"instructorOpenFeedbackLabel": "Cos’altro vorresti ancora dire all’istruttore/istruttrice del corso?",
|
||||||
|
"instructorRespectLabel": "Le domande e i suggerimenti dei/delle partecipanti al corso sono stati accolti e presi sul serio?",
|
||||||
|
"intro": "{name}, il tuo/la tua trainer ti invita a fornire un feedback su di lui/lei. È facoltativo, ma sarebbe utile per migliorare la tua esperienza di apprendimento.",
|
||||||
|
"materialsRatingLabel": "Se sì: qual è la valutazione dei documenti di preparazione (ad es. eLearning)?",
|
||||||
|
"noFeedbacks": "Non è stato fornito ancora nessun feedback",
|
||||||
|
"preparationTaskClarityLabel": "Gli incarichi di preparazione erano chiari e comprensibili?",
|
||||||
|
"proficiencyLabel": "Come valuti il tuo livello di preparazione sui temi dopo il corso?",
|
||||||
|
"questionTitle": "Domanda",
|
||||||
|
"recommendLabel": "Raccomanderesti il corso?",
|
||||||
|
"satisfactionLabel": "Soddisfazione complessiva",
|
||||||
|
"sendFeedback": "Inviare il feedback",
|
||||||
|
"sentByUsers": "Fornito da {count} partecipanti",
|
||||||
|
"showDetails": "Mostrare i dettagli",
|
||||||
|
"unhappy": "Insoddisfatto/a",
|
||||||
|
"veryHappy": "Molto soddisfatto/a",
|
||||||
|
"veryUnhappy": "Molto insoddisfatto/a"
|
||||||
|
},
|
||||||
|
"footer": {
|
||||||
|
"contact": "Contatti",
|
||||||
|
"contactLink": "https://www.vbv.ch/it/afa/organizzazione/contatto",
|
||||||
|
"contactText": "Contatti",
|
||||||
|
"copyright": "© 2023 AFA",
|
||||||
|
"dataProtectionLink": "https://www.vbv.ch/it/dichiarazione-di-protezione-dei-dati",
|
||||||
|
"dataProtectionText": "Dichiarazione sulla protezione dei dati",
|
||||||
|
"imprintLink": "https://www.vbv.ch/it/impressum",
|
||||||
|
"imprintText": "Impressum"
|
||||||
|
},
|
||||||
|
"general": {
|
||||||
|
"back": "Indietro",
|
||||||
|
"backCapitalized": "@.capitalize:general.back",
|
||||||
|
"backToCircle": "Torna al Circle",
|
||||||
|
"backToLearningPath": "Torna al percorso formativo",
|
||||||
|
"certificate": "Certificato | Certificati",
|
||||||
|
"circles": "Circle",
|
||||||
|
"close": "Chiudere",
|
||||||
|
"exam": "Esame| Esami",
|
||||||
|
"examResult": "Risultato dell’esame | Risultati degli esami",
|
||||||
|
"feedback": "Feedback | Feedback",
|
||||||
|
"introduction": "Introduzione",
|
||||||
|
"learningPath": "Percorso formativo",
|
||||||
|
"learningSequence": "Sequenza di apprendimento",
|
||||||
|
"learningUnit": "Unità di apprendimento",
|
||||||
|
"next": "Avanti",
|
||||||
|
"nextStep": "Continua",
|
||||||
|
"no": "No",
|
||||||
|
"notification": "Notifica | Notifiche",
|
||||||
|
"profileLink": "Mostrare i dettagli",
|
||||||
|
"save": "Salvare",
|
||||||
|
"send": "Inviare",
|
||||||
|
"settings": "Impostazioni account",
|
||||||
|
"shop": "Shop",
|
||||||
|
"show": "Visualizzare",
|
||||||
|
"showAll": "Visualizzare tutto",
|
||||||
|
"start": "Si comincia",
|
||||||
|
"submission": "Consegna",
|
||||||
|
"title": "myAFA",
|
||||||
|
"transferTask": "Incarico di trasferimento | Incarichi di trasferimento",
|
||||||
|
"yes": "Sì"
|
||||||
|
},
|
||||||
|
"language": {
|
||||||
|
"de": "Deutsch",
|
||||||
|
"fr": "Français",
|
||||||
|
"it": "Italiano"
|
||||||
|
},
|
||||||
|
"learningContent": {
|
||||||
|
"markAsDone": "Contrassegnare come completato"
|
||||||
|
},
|
||||||
|
"learningPathPage": {
|
||||||
|
"currentCircle": "Circle attuale",
|
||||||
|
"listView": "Vista elenco",
|
||||||
|
"nextStep": "Prossimo passo",
|
||||||
|
"pathView": "Vista percorso",
|
||||||
|
"progressText": "Hai svolto { inProgressCount } Circle su { allCount }",
|
||||||
|
"showListView": "Mostrare la vista elenco",
|
||||||
|
"topics": "Temi:",
|
||||||
|
"welcomeBack": "Bentornato/a al tuo corso:"
|
||||||
|
},
|
||||||
|
"mainNavigation": {
|
||||||
|
"logout": "Logout",
|
||||||
|
"profile": "Profilo"
|
||||||
|
},
|
||||||
|
"mediaLibrary": {
|
||||||
|
"handlungsfelder": {
|
||||||
|
"description": "Trova tutte le risorse dei campi d’azione, come materiali didattici, link e altre informazioni utili.",
|
||||||
|
"title": "Campo d’azione | Campi d’azione"
|
||||||
|
},
|
||||||
|
"learningMedia": {
|
||||||
|
"description": "Trova un elenco completo di libri e altri materiali a cui si rimanda nel corso.",
|
||||||
|
"titel": "Materiali didattici"
|
||||||
|
},
|
||||||
|
"title": "Mediateca"
|
||||||
|
},
|
||||||
|
"messages": {
|
||||||
|
"sendMessage": "Scrivere un messaggio"
|
||||||
|
},
|
||||||
|
"notifications": {
|
||||||
|
"load_more": "Caricare altro",
|
||||||
|
"no_notifications": "Al momento non hai nessuna notifica"
|
||||||
|
},
|
||||||
|
"selfEvaluation": {
|
||||||
|
"instruction": [
|
||||||
|
"Überprüfe, ob du in der Lernheinheit",
|
||||||
|
"alles verstanden hast.",
|
||||||
|
"Lies die folgende Aussage und bewerte sie:"
|
||||||
|
],
|
||||||
|
"no": "Devo riguardarlo ancora una volta",
|
||||||
|
"progressLink": "Aprire Navigatore Competenze",
|
||||||
|
"progressText": "Controlla i tuoi progressi nel Navigatore Competenze:",
|
||||||
|
"selfEvaluation": "Auto-valutazione",
|
||||||
|
"selfEvaluationNo": "@:selfEvaluation: Devo riguardarlo ancora una volta.",
|
||||||
|
"selfEvaluationYes": "@:selfEvaluation: Ho compreso tutto.",
|
||||||
|
"steps": "Passo {current} di {max}",
|
||||||
|
"title": "@:selfEvaluation.selfEvaluation {title}",
|
||||||
|
"yes": "Sì, ho compreso tutto"
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"emailNotifications": "Notifiche e-mail"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -943,6 +943,478 @@ def create_uk_fr_fahrzeug_casework(course_id=COURSE_UK_FR):
|
||||||
return assignment
|
return assignment
|
||||||
|
|
||||||
|
|
||||||
|
def create_uk_it_fahrzeug_casework(course_id=COURSE_UK_FR):
|
||||||
|
assignment_list_page = (
|
||||||
|
CoursePage.objects.get(course_id=course_id)
|
||||||
|
.get_children()
|
||||||
|
.exact_type(AssignmentListPage)
|
||||||
|
.first()
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment = AssignmentFactory(
|
||||||
|
parent=assignment_list_page,
|
||||||
|
title="Verifica di una polizza di assicurazione veicoli a motore",
|
||||||
|
effort_required="Circa 3 ore",
|
||||||
|
intro_text=replace_whitespace(
|
||||||
|
"""
|
||||||
|
<h3>Situazione di partenza</h3>
|
||||||
|
<p>Un tuo amico/una tua amica o un tuo/una tua familiare vorrebbe sottoporre a verifica la propria polizza
|
||||||
|
assicurativa. Sapendo che conosci bene il ramo assicurativo, te la mostra chiedendoti di verificarla con sguardo
|
||||||
|
critico e di proporre eventualmente qualche modifica. In questo compito di controllo delle competenze puoi dare
|
||||||
|
prova delle tue conoscenze e capacità nel settore dell’assicurazione veicoli a motore.
|
||||||
|
</p>
|
||||||
|
"""
|
||||||
|
),
|
||||||
|
performance_objectives=[
|
||||||
|
(
|
||||||
|
"performance_objective",
|
||||||
|
PerformanceObjectiveBlockFactory(
|
||||||
|
text="d2.pv.ci3: Illustrare le prestazioni e i prodotti nel settore assicurativo. (C2)"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"performance_objective",
|
||||||
|
PerformanceObjectiveBlockFactory(
|
||||||
|
text="c3.pv.ci11: Valutare con competenza le soluzioni assicurative più comuni (C3)."
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
evaluation_document_url="/static/media/assignments/it_üK1_FZ_09_NACH_KN_Beurteilungsraster.pdf",
|
||||||
|
evaluation_description="Strumento di valutazione del caso di studio guidato: «Verifica di una polizza di assicurazione veicoli a motore»",
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.evaluation_tasks = []
|
||||||
|
assignment.evaluation_tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
EvaluationTaskBlockFactory(
|
||||||
|
title="Situazione di partenza dell’incarico",
|
||||||
|
description=RichText(
|
||||||
|
"L’apprendista ha descritto in modo completo la situazione di partenza dell’incarico?"
|
||||||
|
),
|
||||||
|
max_points=6,
|
||||||
|
sub_tasks=ListValue(
|
||||||
|
ListBlock(EvaluationSubTaskBlock()),
|
||||||
|
values=[
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="La situazione di partenza dell’incarico è stata descritta in modo completo:",
|
||||||
|
description=RichText(
|
||||||
|
replace_whitespace(
|
||||||
|
"""
|
||||||
|
<ul>
|
||||||
|
<li>Di cosa si tratta? Qual è il compito?</li>
|
||||||
|
<li>Il profilo del/della cliente e il rapporto con il/la cliente sono stati illustrati in modo chiaro e completo?</li>
|
||||||
|
<li>L’età del veicolo è stata documentata?</li>
|
||||||
|
<li>Quali sono le risorse a disposizione?</li>
|
||||||
|
</ul>
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
),
|
||||||
|
points=6,
|
||||||
|
),
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="La situazione di partenza è stata descritta in larga misura in modo completo.",
|
||||||
|
points=4,
|
||||||
|
),
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="La situazione di partenza è incompleta: sono stati descritti solo due punti.",
|
||||||
|
points=2,
|
||||||
|
),
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="La situazione di partenza dell’incarico è incompleta: nella descrizione mancano più di due punti.",
|
||||||
|
points=0,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
assignment.evaluation_tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
EvaluationTaskBlockFactory(
|
||||||
|
title="Analisi contenutistica e struttura",
|
||||||
|
max_points=6,
|
||||||
|
description=RichText(
|
||||||
|
"Le coperture della polizza sono state documentate in modo chiaro e completo?"
|
||||||
|
),
|
||||||
|
sub_tasks=ListValue(
|
||||||
|
ListBlock(EvaluationSubTaskBlock()),
|
||||||
|
values=[
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="L’analisi contiene tutte le coperture presenti nella polizza ed è ben strutturata.",
|
||||||
|
points=6,
|
||||||
|
),
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="L’analisi contiene la maggior parte delle coperture presenti nella polizza ed è in larga misura ben strutturata.",
|
||||||
|
points=4,
|
||||||
|
),
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="L’analisi è incompleta (mancano più di tre coperture) e non emerge un filo conduttore.",
|
||||||
|
points=2,
|
||||||
|
),
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="Nel complesso l’analisi non è chiara e mancano alcune coperture.",
|
||||||
|
points=0,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
assignment.evaluation_tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
EvaluationTaskBlockFactory(
|
||||||
|
title="Raccomandazioni utili",
|
||||||
|
max_points=6,
|
||||||
|
description=RichText(
|
||||||
|
"L’apprendista ha ricavato raccomandazioni utili e appropriate?"
|
||||||
|
),
|
||||||
|
sub_tasks=ListValue(
|
||||||
|
ListBlock(EvaluationSubTaskBlock()),
|
||||||
|
values=[
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="Le raccomandazioni sono utili e motivate con chiarezza.",
|
||||||
|
points=6,
|
||||||
|
),
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="Le raccomandazioni sono in larga misura utili e motivate con chiarezza.",
|
||||||
|
points=4,
|
||||||
|
),
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="Le raccomandazioni non sono di grande utilità e sono motivate in modo incompleto.",
|
||||||
|
points=2,
|
||||||
|
),
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="Le raccomandazioni non sono né utili né motivate con chiarezza.",
|
||||||
|
points=0,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
assignment.evaluation_tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
EvaluationTaskBlockFactory(
|
||||||
|
title="Qualità della riflessione",
|
||||||
|
max_points=3,
|
||||||
|
description=RichText(
|
||||||
|
"L’apprendista ha riflettuto sullo svolgimento dell’analisi guidata del caso?"
|
||||||
|
),
|
||||||
|
sub_tasks=ListValue(
|
||||||
|
ListBlock(EvaluationSubTaskBlock()),
|
||||||
|
values=[
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="La riflessione si riferisce all’analisi guidata del caso e include aspetti positivi e negativi illustrati con chiarezza.",
|
||||||
|
points=3,
|
||||||
|
),
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="La riflessione si riferisce all’analisi guidata del caso e include in larga misura aspetti positivi e negativi illustrati con chiarezza.",
|
||||||
|
points=2,
|
||||||
|
),
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="La riflessione è incompleta.",
|
||||||
|
points=1,
|
||||||
|
),
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="La riflessione non si riferisce al caso di studio guidato.",
|
||||||
|
points=0,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
assignment.evaluation_tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
EvaluationTaskBlockFactory(
|
||||||
|
title="doneità degli insegnamenti",
|
||||||
|
max_points=3,
|
||||||
|
description=RichText(
|
||||||
|
"L’apprendista ha tratto insegnamenti idonei dalla riflessione?"
|
||||||
|
),
|
||||||
|
sub_tasks=ListValue(
|
||||||
|
ListBlock(EvaluationSubTaskBlock()),
|
||||||
|
values=[
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="Gli insegnamenti si riferiscono al caso di studio guidato e si rivelano utili.",
|
||||||
|
points=3,
|
||||||
|
),
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="Gli insegnamenti si riferiscono in larga misura al caso di studio guidato e si rivelano utili.",
|
||||||
|
points=2,
|
||||||
|
),
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="Gli insegnamenti si riferiscono solo in parte all’analisi guidata del caso e non si rivelano molto utili.",
|
||||||
|
points=1,
|
||||||
|
),
|
||||||
|
EvaluationSubTaskBlockFactory(
|
||||||
|
title="Gli insegnamenti non si riferiscono al caso di studio guidato.",
|
||||||
|
points=0,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.tasks = []
|
||||||
|
assignment.tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
TaskBlockFactory(
|
||||||
|
title="Sottocompito 1: Trovare un’esempio di una polizza assicurativa",
|
||||||
|
# it is hard to create a StreamValue programmatically, we have to
|
||||||
|
# create a `StreamValue` manually. Ask Daniel and/or Ramon
|
||||||
|
content=StreamValue(
|
||||||
|
TaskContentStreamBlock(),
|
||||||
|
stream_data=[
|
||||||
|
(
|
||||||
|
"explanation",
|
||||||
|
ExplanationBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Chiedi a un amico/un’amica o a un/una familiare di fornirti la sua polizza di assicurazione veicoli a motore."
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"user_confirmation",
|
||||||
|
ExplanationBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Sì, ho ricevuto una polizza assicurativa auto da qualcuno della mia famiglia o cerchia di amici."
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
TaskBlockFactory(
|
||||||
|
title="Sottocompito 2: Situazione del cliente e situazione iniziale",
|
||||||
|
content=StreamValue(
|
||||||
|
TaskContentStreamBlock(),
|
||||||
|
stream_data=[
|
||||||
|
(
|
||||||
|
"explanation",
|
||||||
|
ExplanationBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
replace_whitespace(
|
||||||
|
"""
|
||||||
|
Illustra il caso del/della cliente e la situazione iniziale.
|
||||||
|
<ul>
|
||||||
|
<li>Disponi di tutte le informazioni che ti servono per effettuare la verifica della polizza?</li>
|
||||||
|
<li>Annotati le informazioni principali riguardanti l’attuale rapporto assicurativo (ad es. da quanto tempo è assicurato il/la cliente e presso quale compagnia assicurativa, quanti anni ha il veicolo, qual è il profilo del/della cliente ecc.).</li>
|
||||||
|
</ul>
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
("user_text_input", UserTextInputBlockFactory()),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
TaskBlockFactory(
|
||||||
|
title="Sottocompito 3: Assicurazione attuale",
|
||||||
|
# TODO: add document upload
|
||||||
|
content=StreamValue(
|
||||||
|
TaskContentStreamBlock(),
|
||||||
|
stream_data=[
|
||||||
|
(
|
||||||
|
"explanation",
|
||||||
|
ExplanationBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Mostra ora in dettaglio l’attuale situazione assicurativa del tuo/della tua cliente."
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
("user_text_input", UserTextInputBlockFactory()),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
TaskBlockFactory(
|
||||||
|
title="Sottocompito 4: Le tue raccomandazioni",
|
||||||
|
content=StreamValue(
|
||||||
|
TaskContentStreamBlock(),
|
||||||
|
stream_data=[
|
||||||
|
(
|
||||||
|
"explanation",
|
||||||
|
ExplanationBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Sulla base delle informazioni raccolte, elabora ora una raccomandazione."
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Consiglieresti al/alla cliente di stipulare coperture complementari? Motiva la tua raccomandazione."
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Elimineresti qualche copertura? Motiva la tua raccomandazione."
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Quando hai terminato il lavoro, spiega perché con la tua proposta il/la cliente beneficia di un’assicurazione ottimale."
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
TaskBlockFactory(
|
||||||
|
title="Sottocompito 5: Riflessione",
|
||||||
|
content=StreamValue(
|
||||||
|
TaskContentStreamBlock(),
|
||||||
|
stream_data=[
|
||||||
|
(
|
||||||
|
"explanation",
|
||||||
|
ExplanationBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Rifletti sul lavoro svolto e annotati le informazioni finora acquisite. Domandati:"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Ho affrontato bene questo caso di studio guidato? Motiva la tua valutazione."
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Cosa ha funzionato durante lo svolgimento di questo incarico?"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Cosa non ha funzionato durante lo svolgimento di questo incarico?"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"explanation",
|
||||||
|
ExplanationBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Annotati tutte queste informazioni e caricale sulla piattaforma di apprendimento per sottoporle a valutazione."
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
TaskBlockFactory(
|
||||||
|
title="Sottocompito 6: Apprendimenti",
|
||||||
|
content=StreamValue(
|
||||||
|
TaskContentStreamBlock(),
|
||||||
|
stream_data=[
|
||||||
|
(
|
||||||
|
"explanation",
|
||||||
|
ExplanationBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Trai i tuoi insegnamenti personali dall’compito parziale 5"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Cosa cambieresti nel tuo approccio se potessi ripetere l’esperienza?"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Cos’hai imparato di nuovo dall’elaborazione dell’incarico?"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
# assignment.tasks.append(
|
||||||
|
# (
|
||||||
|
# "task",
|
||||||
|
# TaskBlockFactory(
|
||||||
|
# title="Compito parziale 7",
|
||||||
|
# content=StreamValue(
|
||||||
|
# TaskContentStreamBlock(),
|
||||||
|
# stream_data=[
|
||||||
|
# (
|
||||||
|
# "explanation",
|
||||||
|
# ExplanationBlockFactory(
|
||||||
|
# text=RichText(
|
||||||
|
# "Redigi un documento chiaro e ben strutturato e presentalo entro la scadenza."
|
||||||
|
# )
|
||||||
|
# ),
|
||||||
|
# ),
|
||||||
|
# ],
|
||||||
|
# ),
|
||||||
|
# ),
|
||||||
|
# )
|
||||||
|
# )
|
||||||
|
|
||||||
|
assignment.save()
|
||||||
|
|
||||||
|
return assignment
|
||||||
|
|
||||||
|
|
||||||
def create_uk_fahrzeug_prep_assignment(course_id=COURSE_UK_FR):
|
def create_uk_fahrzeug_prep_assignment(course_id=COURSE_UK_FR):
|
||||||
assignment_list_page = (
|
assignment_list_page = (
|
||||||
CoursePage.objects.get(course_id=course_id)
|
CoursePage.objects.get(course_id=course_id)
|
||||||
|
|
@ -1280,7 +1752,7 @@ def create_uk_fr_fahrzeug_prep_assignment(course_id=COURSE_UK):
|
||||||
Situation de travail 4 : Conseiller les clients et s’occuper des processus correspondants<br/>
|
Situation de travail 4 : Conseiller les clients et s’occuper des processus correspondants<br/>
|
||||||
<ul>
|
<ul>
|
||||||
<li>d2.pv.ci3: Ils expliquent les services et les produits dans le domaine de l’assurance. (C2)</li>
|
<li>d2.pv.ci3: Ils expliquent les services et les produits dans le domaine de l’assurance. (C2)</li>
|
||||||
<li>2pv.ci4: Ils expliquent les processus et procédures dans le domaine de l’assurance privée. (C2)</li>
|
<li>d2pv.ci4: Ils expliquent les processus et procédures dans le domaine de l’assurance privée. (C2)</li>
|
||||||
</ul>
|
</ul>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
@ -1496,6 +1968,240 @@ def create_uk_fr_fahrzeug_prep_assignment(course_id=COURSE_UK):
|
||||||
return assignment
|
return assignment
|
||||||
|
|
||||||
|
|
||||||
|
def create_uk_it_fahrzeug_prep_assignment(course_id=COURSE_UK):
|
||||||
|
assignment_list_page = (
|
||||||
|
CoursePage.objects.get(course_id=course_id)
|
||||||
|
.get_children()
|
||||||
|
.exact_type(AssignmentListPage)
|
||||||
|
.first()
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment = AssignmentFactory(
|
||||||
|
parent=assignment_list_page,
|
||||||
|
assignment_type=AssignmentType.PREP_ASSIGNMENT.name,
|
||||||
|
title="Veicolo, la mia prima auto",
|
||||||
|
effort_required="circa 3 ore",
|
||||||
|
intro_text=replace_whitespace(
|
||||||
|
"""
|
||||||
|
<h3>Competenze operative, situazioni di lavoro e obiettivi di valutazione</h3>
|
||||||
|
<p>
|
||||||
|
Competenza operativa d2: condurre colloqui informativi e di consulenza con la clientela o i fornitori<br/>
|
||||||
|
Situazione di lavoro 4: fornire consulenza alla clientela e gestire i relativi processi<br/>
|
||||||
|
<ul>
|
||||||
|
<li>d2.pv.ci3: Illustrare le prestazioni e i prodotti nel settore assicurativo. (C2)</li>
|
||||||
|
<lid2.pv.ci4: Illustrare i processi e le procedure nel settore delle assicurazioni private. (C2)</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Competenza operativa e4: preparare a livello multimediale contenuti riferiti all’azienda<br/>
|
||||||
|
Situazione di lavoro 1: integrare le caratteristiche del settore e i punti di forza dell’azienda<br/>
|
||||||
|
<ul>
|
||||||
|
<li>e4.pv.ci1: Illustrare i servizi dell’azienda. (C2)</li>
|
||||||
|
<li>e4.pv.ci2: Distinguere i concorrenti nel ramo assicurativo privato sulla base di criteri rilevanti. (C2)</li>
|
||||||
|
<li>e4.pv.ci4: Illustrare gli elementi di base dei prodotti delle assicurazioni private. (C2)</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Situazione di partenza</h3>
|
||||||
|
<p>
|
||||||
|
Fai finta di aver appena superato l’esame di guida e di poterti finalmente spostare in autonomia.
|
||||||
|
Quale sarà la tua prima auto? Naturalmente vuoi anche proteggerla e assicurarla come si deve.
|
||||||
|
</p>
|
||||||
|
"""
|
||||||
|
),
|
||||||
|
performance_objectives=[],
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.tasks = []
|
||||||
|
assignment.tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
TaskBlockFactory(
|
||||||
|
title="Sottocompito 1: Ottieni una panoramica iniziale dell'argomento",
|
||||||
|
# it is hard to create a StreamValue programmatically, we have to
|
||||||
|
# create a `StreamValue` manually. Ask Daniel and/or Ramon
|
||||||
|
content=StreamValue(
|
||||||
|
TaskContentStreamBlock(),
|
||||||
|
stream_data=[
|
||||||
|
(
|
||||||
|
"explanation",
|
||||||
|
ExplanationBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
'Fatti una prima idea dell’argomento. Guarda il seguente video: <a href="https://www.youtube.com/watch?v=Z1icU7IZ7yI" target="_blank">Come funziona un’assicurazione auto? – I punti chiave</a>'
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"user_confirmation",
|
||||||
|
ExplanationBlockFactory(
|
||||||
|
text=RichText("Sì, ho visto il video e ho capito.")
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
TaskBlockFactory(
|
||||||
|
title="Sottocompito 2: Leggere il capitolo “Il diritto della responsabilità civile e L’assicurazione dei veicoli a motore”",
|
||||||
|
# it is hard to create a StreamValue programmatically, we have to
|
||||||
|
# create a `StreamValue` manually. Ask Daniel and/or Ramon
|
||||||
|
content=StreamValue(
|
||||||
|
TaskContentStreamBlock(),
|
||||||
|
stream_data=[
|
||||||
|
(
|
||||||
|
"explanation",
|
||||||
|
ExplanationBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Leggi e studia i capitoli inerenti all’argomento nel libro Diritto della responsabilità civile e assicurazione veicoli a motore."
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"user_confirmation",
|
||||||
|
ExplanationBlockFactory(
|
||||||
|
text=RichText("Sì, ho letto e compreso il capitolo.")
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
TaskBlockFactory(
|
||||||
|
title="Sottocompito 3: Creare un’offerta",
|
||||||
|
# it is hard to create a StreamValue programmatically, we have to
|
||||||
|
# create a `StreamValue` manually. Ask Daniel and/or Ramon
|
||||||
|
content=StreamValue(
|
||||||
|
TaskContentStreamBlock(),
|
||||||
|
stream_data=[
|
||||||
|
(
|
||||||
|
"explanation",
|
||||||
|
ExplanationBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
replace_whitespace(
|
||||||
|
"""
|
||||||
|
<p>Ora si comincia! Redigi un’offerta per la tua prima auto. Rifletti sulle coperture assolutamente indispensabili e su quelle che vorresti stipulare in aggiunta.
|
||||||
|
Per farlo, utilizza l’apposito strumento messo a disposizione dalla tua azienda. In alternativa puoi anche avvalerti di uno strumento online.</p>
|
||||||
|
<p>
|
||||||
|
Potresti dover «ritoccare» un po’ il tuo anno di nascita per poter redigere un’offerta destinata a te.
|
||||||
|
</p>
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"user_confirmation",
|
||||||
|
ExplanationBlockFactory(
|
||||||
|
text=RichText("Sì, ho fatto un'offerta.")
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
TaskBlockFactory(
|
||||||
|
title="Sottocompito 4: Note e domande",
|
||||||
|
content=StreamValue(
|
||||||
|
TaskContentStreamBlock(),
|
||||||
|
stream_data=[
|
||||||
|
(
|
||||||
|
"explanation",
|
||||||
|
ExplanationBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Durante il processo prendi appunti rispondendo alle seguenti domande:"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Quali passaggi hai seguito per redigere l’offerta?"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Quali difficoltà hai incontrato nel redigere l’offerta? Come le hai risolte?"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Quali dati sono assolutamente necessari per poter redigere un’offerta accurata riguardante un veicolo a motore?"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Quali ulteriori coperture hai scelto? Quali sono state le tue considerazioni in merito?"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Quali sono i fattori/gli elementi che determinano in misura maggiore l’ammontare del premio?"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
TaskBlockFactory(
|
||||||
|
title="Sottocompito 5: Formazione di presenza",
|
||||||
|
content=StreamValue(
|
||||||
|
TaskContentStreamBlock(),
|
||||||
|
stream_data=[
|
||||||
|
(
|
||||||
|
"explanation",
|
||||||
|
ExplanationBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"<p>Porta l’offerta e gli appunti al training in presenza.</p>"
|
||||||
|
"<p>Non dimenticare le relative CGA. Va bene anche se porti con te i documenti solo in formato elettronico.</p>"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.save()
|
||||||
|
|
||||||
|
return assignment
|
||||||
|
|
||||||
|
|
||||||
def create_uk_kickoff_prep_assignment(course_id=COURSE_UK):
|
def create_uk_kickoff_prep_assignment(course_id=COURSE_UK):
|
||||||
assignment_list_page = (
|
assignment_list_page = (
|
||||||
CoursePage.objects.get(course_id=course_id)
|
CoursePage.objects.get(course_id=course_id)
|
||||||
|
|
@ -2276,6 +2982,159 @@ def create_uk_fr_reflection(course_id=COURSE_UK_FR, circle_title="Véhicule"):
|
||||||
return assignment
|
return assignment
|
||||||
|
|
||||||
|
|
||||||
|
def create_uk_it_reflection(course_id=COURSE_UK_FR, circle_title="Véhicule"):
|
||||||
|
assignment_list_page = (
|
||||||
|
CoursePage.objects.get(course_id=course_id)
|
||||||
|
.get_children()
|
||||||
|
.exact_type(AssignmentListPage)
|
||||||
|
.first()
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment = AssignmentFactory(
|
||||||
|
parent=assignment_list_page,
|
||||||
|
assignment_type=AssignmentType.REFLECTION.name,
|
||||||
|
title=f"Reflexion",
|
||||||
|
effort_required="",
|
||||||
|
intro_text=replace_whitespace(
|
||||||
|
"""
|
||||||
|
<p>
|
||||||
|
Tu as reçu beaucoup de nouveaux contenus et d'inputs dans ce Circle. Il est maintenant temps de jeter à nouveau un coup d'œil sur ton profil de compétences. Répondre aux questions de réflexion t'aide à rendre visible et compréhensible ton propre processus d'apprentissage et de réflexion. Elle met en évidence tes forces et tes faiblesses personnelles pendant l'élaboration et t'aide à t'améliorer en permanence.
|
||||||
|
</p>
|
||||||
|
"""
|
||||||
|
),
|
||||||
|
performance_objectives=[],
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.tasks = []
|
||||||
|
assignment.tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
TaskBlockFactory(
|
||||||
|
title="Question 1: Qu'est-ce que je réussis déjà bien?",
|
||||||
|
content=StreamValue(
|
||||||
|
TaskContentStreamBlock(),
|
||||||
|
stream_data=[
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
TaskBlockFactory(
|
||||||
|
title="Question 2: Approfondissment",
|
||||||
|
content=StreamValue(
|
||||||
|
TaskContentStreamBlock(),
|
||||||
|
stream_data=[
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Où dois-je encore approfondir ou répéter? "
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
TaskBlockFactory(
|
||||||
|
title="Question 3: Qu'est-ce que je retiens?",
|
||||||
|
content=StreamValue(
|
||||||
|
TaskContentStreamBlock(),
|
||||||
|
stream_data=[
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
TaskBlockFactory(
|
||||||
|
title="Question 4: Préparation",
|
||||||
|
content=StreamValue(
|
||||||
|
TaskContentStreamBlock(),
|
||||||
|
stream_data=[
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Comment me suis-je préparé(e) au Cercle (par ex. en prévoyant du temps d'étude)?"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
TaskBlockFactory(
|
||||||
|
title="Question 5: Cours de présence",
|
||||||
|
content=StreamValue(
|
||||||
|
TaskContentStreamBlock(),
|
||||||
|
stream_data=[
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Quel a été mon degré d'engagement dans les cours de présence?"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.tasks.append(
|
||||||
|
(
|
||||||
|
"task",
|
||||||
|
TaskBlockFactory(
|
||||||
|
title="Question 6: Amélioration",
|
||||||
|
content=StreamValue(
|
||||||
|
TaskContentStreamBlock(),
|
||||||
|
stream_data=[
|
||||||
|
(
|
||||||
|
"user_text_input",
|
||||||
|
UserTextInputBlockFactory(
|
||||||
|
text=RichText(
|
||||||
|
"Qu'est-ce que je veux changer/améliorer dans le processus d'apprentissage pour le prochain Circle?"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assignment.save()
|
||||||
|
|
||||||
|
return assignment
|
||||||
|
|
||||||
|
|
||||||
def create_uk_it_reflection(course_id=COURSE_UK_FR, circle_title="Véhicule"):
|
def create_uk_it_reflection(course_id=COURSE_UK_FR, circle_title="Véhicule"):
|
||||||
assignment_list_page = (
|
assignment_list_page = (
|
||||||
CoursePage.objects.get(course_id=course_id)
|
CoursePage.objects.get(course_id=course_id)
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ from vbv_lernwelt.competence.factories import (
|
||||||
PerformanceCriteriaFactory,
|
PerformanceCriteriaFactory,
|
||||||
)
|
)
|
||||||
from vbv_lernwelt.competence.models import CompetencePage
|
from vbv_lernwelt.competence.models import CompetencePage
|
||||||
from vbv_lernwelt.course.consts import COURSE_UK, COURSE_UK_FR
|
from vbv_lernwelt.course.consts import COURSE_UK, COURSE_UK_FR, COURSE_UK_IT
|
||||||
from vbv_lernwelt.course.models import CoursePage
|
from vbv_lernwelt.course.models import CoursePage
|
||||||
from vbv_lernwelt.learnpath.models import LearningPath, LearningUnit
|
from vbv_lernwelt.learnpath.models import LearningPath, LearningUnit
|
||||||
|
|
||||||
|
|
@ -281,7 +281,7 @@ def create_uk_fr_competence_profile(course_id=COURSE_UK_FR):
|
||||||
competence_id="c3.pv.ci2",
|
competence_id="c3.pv.ci2",
|
||||||
title="Je suis capable de d'expliquer les fondements légaux applicables dans le champ d'action des véhicules.",
|
title="Je suis capable de d'expliquer les fondements légaux applicables dans le champ d'action des véhicules.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
PerformanceCriteriaFactory(
|
PerformanceCriteriaFactory(
|
||||||
|
|
@ -291,7 +291,7 @@ def create_uk_fr_competence_profile(course_id=COURSE_UK_FR):
|
||||||
competence_id="c3.pv.ci7",
|
competence_id="c3.pv.ci7",
|
||||||
title="Je suis capable de d'expliquer les dispositions légales en cas de sinistres et de versement de prestations dans le champ d'action des véhicules.",
|
title="Je suis capable de d'expliquer les dispositions légales en cas de sinistres et de versement de prestations dans le champ d'action des véhicules.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
PerformanceCriteriaFactory(
|
PerformanceCriteriaFactory(
|
||||||
|
|
@ -301,7 +301,7 @@ def create_uk_fr_competence_profile(course_id=COURSE_UK_FR):
|
||||||
competence_id="c3.pv.ci11",
|
competence_id="c3.pv.ci11",
|
||||||
title="Je suis capable de d'évaluer de manière compétente les solutions d’assurance courantes dans le domaine d'action des véhicules.",
|
title="Je suis capable de d'évaluer de manière compétente les solutions d’assurance courantes dans le domaine d'action des véhicules.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
PerformanceCriteriaFactory(
|
PerformanceCriteriaFactory(
|
||||||
|
|
@ -311,7 +311,7 @@ def create_uk_fr_competence_profile(course_id=COURSE_UK_FR):
|
||||||
competence_id="d2.pv.ci1",
|
competence_id="d2.pv.ci1",
|
||||||
title="Je suis capable de décrire de manière complète les principales bases légales dans le domaine de l'assurance des véhicules à moteur.",
|
title="Je suis capable de décrire de manière complète les principales bases légales dans le domaine de l'assurance des véhicules à moteur.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
PerformanceCriteriaFactory(
|
PerformanceCriteriaFactory(
|
||||||
|
|
@ -321,7 +321,7 @@ def create_uk_fr_competence_profile(course_id=COURSE_UK_FR):
|
||||||
competence_id="d2.pv.ci2",
|
competence_id="d2.pv.ci2",
|
||||||
title="Je suis capable de citer les prestations de service et les produits pertinents dans le champ d'action des véhicules.",
|
title="Je suis capable de citer les prestations de service et les produits pertinents dans le champ d'action des véhicules.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
PerformanceCriteriaFactory(
|
PerformanceCriteriaFactory(
|
||||||
|
|
@ -331,7 +331,7 @@ def create_uk_fr_competence_profile(course_id=COURSE_UK_FR):
|
||||||
competence_id="d2.pv.ci3",
|
competence_id="d2.pv.ci3",
|
||||||
title="Je suis capable de d'expliquer les services et les produits dans le champ d'action des véhicules.",
|
title="Je suis capable de d'expliquer les services et les produits dans le champ d'action des véhicules.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
PerformanceCriteriaFactory(
|
PerformanceCriteriaFactory(
|
||||||
|
|
@ -341,7 +341,7 @@ def create_uk_fr_competence_profile(course_id=COURSE_UK_FR):
|
||||||
competence_id="d2.pv.ci4",
|
competence_id="d2.pv.ci4",
|
||||||
title="Je suis capable de d'expliquer de manière compréhensible les processus et procédures dans le champ d'action des véhicules.",
|
title="Je suis capable de d'expliquer de manière compréhensible les processus et procédures dans le champ d'action des véhicules.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
PerformanceCriteriaFactory(
|
PerformanceCriteriaFactory(
|
||||||
|
|
@ -351,7 +351,7 @@ def create_uk_fr_competence_profile(course_id=COURSE_UK_FR):
|
||||||
competence_id="e4.pv.ci1",
|
competence_id="e4.pv.ci1",
|
||||||
title="Je suis capable de d'expliquer les services de l'entreprise dans le champ d'action des véhicules.",
|
title="Je suis capable de d'expliquer les services de l'entreprise dans le champ d'action des véhicules.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
PerformanceCriteriaFactory(
|
PerformanceCriteriaFactory(
|
||||||
|
|
@ -361,7 +361,7 @@ def create_uk_fr_competence_profile(course_id=COURSE_UK_FR):
|
||||||
competence_id="e4.pv.ci2",
|
competence_id="e4.pv.ci2",
|
||||||
title="Je suis capable de de distinguer les concurrents dans le secteur des assurances privées dans le champ d'action des véhicules à l'aide des critères pertinents.",
|
title="Je suis capable de de distinguer les concurrents dans le secteur des assurances privées dans le champ d'action des véhicules à l'aide des critères pertinents.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
PerformanceCriteriaFactory(
|
PerformanceCriteriaFactory(
|
||||||
|
|
@ -371,6 +371,159 @@ def create_uk_fr_competence_profile(course_id=COURSE_UK_FR):
|
||||||
competence_id="e4.pv.ci4",
|
competence_id="e4.pv.ci4",
|
||||||
title="Je suis capable de d'expliquer les principes sur lesquelles reposent les produits d'assurance automobile.",
|
title="Je suis capable de d'expliquer les principes sur lesquelles reposent les produits d'assurance automobile.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def create_uk_it_competence_profile(course_id=COURSE_UK_IT):
|
||||||
|
course_page = CoursePage.objects.get(course_id=course_id)
|
||||||
|
slug_prefix = course_page.get_children().exact_type(LearningPath).first().slug
|
||||||
|
|
||||||
|
competence_profile_page = CompetenceProfilePageFactory(
|
||||||
|
title="KompetenzNavi",
|
||||||
|
parent=course_page,
|
||||||
|
)
|
||||||
|
|
||||||
|
competences = [
|
||||||
|
{
|
||||||
|
"competence_id": "e4",
|
||||||
|
"title": "Betriebsbezogene Inhalte multimedial aufbereiten",
|
||||||
|
"items": [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"competence_id": "c3",
|
||||||
|
"title": "Betriebliche Prozesse dokumentieren, koordinieren und umsetzen",
|
||||||
|
"items": [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"competence_id": "e2",
|
||||||
|
"title": "Informationen im wirtschaftlichen und kaufmännischen Bereich recherchieren",
|
||||||
|
"items": [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"competence_id": "d2",
|
||||||
|
"title": "Informations- und Beratungsgespräche mit Kunden oder Lieferanten führen",
|
||||||
|
"items": [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"competence_id": "d3",
|
||||||
|
"title": "Betriebliche Prozesse dokumentieren, koordinieren und umsetzen",
|
||||||
|
"items": [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"competence_id": "d1",
|
||||||
|
"title": "Anliegen von Kunden oder Lieferanten entgegennehmen",
|
||||||
|
"items": [],
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
for c in competences:
|
||||||
|
CompetencePageFactory(
|
||||||
|
parent=competence_profile_page,
|
||||||
|
competence_id=c["competence_id"],
|
||||||
|
title=c["title"],
|
||||||
|
items=[("item", i) for i in c["items"]],
|
||||||
|
)
|
||||||
|
|
||||||
|
# Circle Fahrzeug
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="c3"
|
||||||
|
),
|
||||||
|
competence_id="c3.pv.ci2",
|
||||||
|
title="Je suis capable de d'expliquer les fondements légaux applicables dans le champ d'action des véhicules.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="c3"
|
||||||
|
),
|
||||||
|
competence_id="c3.pv.ci7",
|
||||||
|
title="Je suis capable de d'expliquer les dispositions légales en cas de sinistres et de versement de prestations dans le champ d'action des véhicules.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="c3"
|
||||||
|
),
|
||||||
|
competence_id="c3.pv.ci11",
|
||||||
|
title="Je suis capable de d'évaluer de manière compétente les solutions d’assurance courantes dans le domaine d'action des véhicules.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
|
||||||
|
),
|
||||||
|
competence_id="d2.pv.ci1",
|
||||||
|
title="Je suis capable de décrire de manière complète les principales bases légales dans le domaine de l'assurance des véhicules à moteur.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
|
||||||
|
),
|
||||||
|
competence_id="d2.pv.ci2",
|
||||||
|
title="Je suis capable de citer les prestations de service et les produits pertinents dans le champ d'action des véhicules.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
|
||||||
|
),
|
||||||
|
competence_id="d2.pv.ci3",
|
||||||
|
title="Je suis capable de d'expliquer les services et les produits dans le champ d'action des véhicules.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
|
||||||
|
),
|
||||||
|
competence_id="d2.pv.ci4",
|
||||||
|
title="Je suis capable de d'expliquer de manière compréhensible les processus et procédures dans le champ d'action des véhicules.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="e4"
|
||||||
|
),
|
||||||
|
competence_id="e4.pv.ci1",
|
||||||
|
title="Je suis capable de d'expliquer les services de l'entreprise dans le champ d'action des véhicules.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="e4"
|
||||||
|
),
|
||||||
|
competence_id="e4.pv.ci2",
|
||||||
|
title="Je suis capable de de distinguer les concurrents dans le secteur des assurances privées dans le champ d'action des véhicules à l'aide des critères pertinents.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="e4"
|
||||||
|
),
|
||||||
|
competence_id="e4.pv.ci4",
|
||||||
|
title="Je suis capable de d'expliquer les principes sur lesquelles reposent les produits d'assurance automobile.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -220,7 +220,7 @@ def create_uk_fr_training_competence_profile(course_id=COURSE_UK):
|
||||||
competence_id="c3.pv.ci2",
|
competence_id="c3.pv.ci2",
|
||||||
title="Je suis capable de d'expliquer les fondements légaux applicables dans le champ d'action des véhicules.",
|
title="Je suis capable de d'expliquer les fondements légaux applicables dans le champ d'action des véhicules.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
PerformanceCriteriaFactory(
|
PerformanceCriteriaFactory(
|
||||||
|
|
@ -230,7 +230,7 @@ def create_uk_fr_training_competence_profile(course_id=COURSE_UK):
|
||||||
competence_id="c3.pv.ci7",
|
competence_id="c3.pv.ci7",
|
||||||
title="Je suis capable de d'expliquer les dispositions légales en cas de sinistres et de versement de prestations dans le champ d'action des véhicules.",
|
title="Je suis capable de d'expliquer les dispositions légales en cas de sinistres et de versement de prestations dans le champ d'action des véhicules.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
PerformanceCriteriaFactory(
|
PerformanceCriteriaFactory(
|
||||||
|
|
@ -240,7 +240,7 @@ def create_uk_fr_training_competence_profile(course_id=COURSE_UK):
|
||||||
competence_id="c3.pv.ci11",
|
competence_id="c3.pv.ci11",
|
||||||
title="Je suis capable de d'évaluer de manière compétente les solutions d’assurance courantes dans le domaine d'action des véhicules.",
|
title="Je suis capable de d'évaluer de manière compétente les solutions d’assurance courantes dans le domaine d'action des véhicules.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
PerformanceCriteriaFactory(
|
PerformanceCriteriaFactory(
|
||||||
|
|
@ -250,7 +250,7 @@ def create_uk_fr_training_competence_profile(course_id=COURSE_UK):
|
||||||
competence_id="d2.pv.ci1",
|
competence_id="d2.pv.ci1",
|
||||||
title="Je suis capable de décrire de manière complète les principales bases légales dans le domaine de l'assurance des véhicules à moteur.",
|
title="Je suis capable de décrire de manière complète les principales bases légales dans le domaine de l'assurance des véhicules à moteur.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
PerformanceCriteriaFactory(
|
PerformanceCriteriaFactory(
|
||||||
|
|
@ -260,7 +260,7 @@ def create_uk_fr_training_competence_profile(course_id=COURSE_UK):
|
||||||
competence_id="d2.pv.ci2",
|
competence_id="d2.pv.ci2",
|
||||||
title="Je suis capable de citer les prestations de service et les produits pertinents dans le champ d'action des véhicules.",
|
title="Je suis capable de citer les prestations de service et les produits pertinents dans le champ d'action des véhicules.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
PerformanceCriteriaFactory(
|
PerformanceCriteriaFactory(
|
||||||
|
|
@ -270,7 +270,7 @@ def create_uk_fr_training_competence_profile(course_id=COURSE_UK):
|
||||||
competence_id="d2.pv.ci3",
|
competence_id="d2.pv.ci3",
|
||||||
title="Je suis capable de d'expliquer les services et les produits dans le champ d'action des véhicules.",
|
title="Je suis capable de d'expliquer les services et les produits dans le champ d'action des véhicules.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
PerformanceCriteriaFactory(
|
PerformanceCriteriaFactory(
|
||||||
|
|
@ -280,7 +280,7 @@ def create_uk_fr_training_competence_profile(course_id=COURSE_UK):
|
||||||
competence_id="d2.pv.ci4",
|
competence_id="d2.pv.ci4",
|
||||||
title="Je suis capable de d'expliquer de manière compréhensible les processus et procédures dans le champ d'action des véhicules.",
|
title="Je suis capable de d'expliquer de manière compréhensible les processus et procédures dans le champ d'action des véhicules.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
PerformanceCriteriaFactory(
|
PerformanceCriteriaFactory(
|
||||||
|
|
@ -290,7 +290,7 @@ def create_uk_fr_training_competence_profile(course_id=COURSE_UK):
|
||||||
competence_id="e4.pv.ci1",
|
competence_id="e4.pv.ci1",
|
||||||
title="Je suis capable de d'expliquer les services de l'entreprise dans le champ d'action des véhicules.",
|
title="Je suis capable de d'expliquer les services de l'entreprise dans le champ d'action des véhicules.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
PerformanceCriteriaFactory(
|
PerformanceCriteriaFactory(
|
||||||
|
|
@ -300,7 +300,7 @@ def create_uk_fr_training_competence_profile(course_id=COURSE_UK):
|
||||||
competence_id="e4.pv.ci2",
|
competence_id="e4.pv.ci2",
|
||||||
title="Je suis capable de de distinguer les concurrents dans le secteur des assurances privées dans le champ d'action des véhicules à l'aide des critères pertinents.",
|
title="Je suis capable de de distinguer les concurrents dans le secteur des assurances privées dans le champ d'action des véhicules à l'aide des critères pertinents.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
PerformanceCriteriaFactory(
|
PerformanceCriteriaFactory(
|
||||||
|
|
@ -310,6 +310,159 @@ def create_uk_fr_training_competence_profile(course_id=COURSE_UK):
|
||||||
competence_id="e4.pv.ci4",
|
competence_id="e4.pv.ci4",
|
||||||
title="Je suis capable de d'expliquer les principes sur lesquelles reposent les produits d'assurance automobile.",
|
title="Je suis capable de d'expliquer les principes sur lesquelles reposent les produits d'assurance automobile.",
|
||||||
learning_unit=LearningUnit.objects.get(
|
learning_unit=LearningUnit.objects.get(
|
||||||
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
|
slug=f"{slug_prefix}-circle-véhicule-lu-préparation"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def create_uk_it_training_competence_profile(course_id=COURSE_UK):
|
||||||
|
course_page = CoursePage.objects.get(course_id=course_id)
|
||||||
|
slug_prefix = course_page.get_children().exact_type(LearningPath).first().slug
|
||||||
|
|
||||||
|
competence_profile_page = CompetenceProfilePageFactory(
|
||||||
|
title="KompetenzNavi",
|
||||||
|
parent=course_page,
|
||||||
|
)
|
||||||
|
|
||||||
|
competences = [
|
||||||
|
{
|
||||||
|
"competence_id": "c3",
|
||||||
|
"title": "Betriebliche Prozesse dokumentieren, koordinieren und umsetzen",
|
||||||
|
"items": [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"competence_id": "e2",
|
||||||
|
"title": "Informationen im wirtschaftlichen und kaufmännischen Bereich recherchieren",
|
||||||
|
"items": [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"competence_id": "e4",
|
||||||
|
"title": "Betriebsbezogene Inhalte multimedial aufbereiten",
|
||||||
|
"items": [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"competence_id": "d2",
|
||||||
|
"title": "Informations- und Beratungsgespräche mit Kunden oder Lieferanten führen",
|
||||||
|
"items": [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"competence_id": "d3",
|
||||||
|
"title": "Betriebliche Prozesse dokumentieren, koordinieren und umsetzen",
|
||||||
|
"items": [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"competence_id": "d1",
|
||||||
|
"title": "Anliegen von Kunden oder Lieferanten entgegennehmen",
|
||||||
|
"items": [],
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
for c in competences:
|
||||||
|
print(c["title"])
|
||||||
|
CompetencePageFactory(
|
||||||
|
parent=competence_profile_page,
|
||||||
|
competence_id=c["competence_id"],
|
||||||
|
title=c["title"],
|
||||||
|
items=[("item", i) for i in c["items"]],
|
||||||
|
)
|
||||||
|
# Circle Fahrzeug
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="c3"
|
||||||
|
),
|
||||||
|
competence_id="c3.pv.ci2",
|
||||||
|
title="Je suis capable de d'expliquer les fondements légaux applicables dans le champ d'action des véhicules.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="c3"
|
||||||
|
),
|
||||||
|
competence_id="c3.pv.ci7",
|
||||||
|
title="Je suis capable de d'expliquer les dispositions légales en cas de sinistres et de versement de prestations dans le champ d'action des véhicules.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="c3"
|
||||||
|
),
|
||||||
|
competence_id="c3.pv.ci11",
|
||||||
|
title="Je suis capable de d'évaluer de manière compétente les solutions d’assurance courantes dans le domaine d'action des véhicules.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
|
||||||
|
),
|
||||||
|
competence_id="d2.pv.ci1",
|
||||||
|
title="Je suis capable de décrire de manière complète les principales bases légales dans le domaine de l'assurance des véhicules à moteur.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
|
||||||
|
),
|
||||||
|
competence_id="d2.pv.ci2",
|
||||||
|
title="Je suis capable de citer les prestations de service et les produits pertinents dans le champ d'action des véhicules.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
|
||||||
|
),
|
||||||
|
competence_id="d2.pv.ci3",
|
||||||
|
title="Je suis capable de d'expliquer les services et les produits dans le champ d'action des véhicules.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
|
||||||
|
),
|
||||||
|
competence_id="d2.pv.ci4",
|
||||||
|
title="Je suis capable de d'expliquer de manière compréhensible les processus et procédures dans le champ d'action des véhicules.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="e4"
|
||||||
|
),
|
||||||
|
competence_id="e4.pv.ci1",
|
||||||
|
title="Je suis capable de d'expliquer les services de l'entreprise dans le champ d'action des véhicules.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="e4"
|
||||||
|
),
|
||||||
|
competence_id="e4.pv.ci2",
|
||||||
|
title="Je suis capable de de distinguer les concurrents dans le secteur des assurances privées dans le champ d'action des véhicules à l'aide des critères pertinents.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
PerformanceCriteriaFactory(
|
||||||
|
parent=CompetencePage.objects.get(
|
||||||
|
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="e4"
|
||||||
|
),
|
||||||
|
competence_id="e4.pv.ci4",
|
||||||
|
title="Je suis capable de d'expliquer les principes sur lesquelles reposent les produits d'assurance automobile.",
|
||||||
|
learning_unit=LearningUnit.objects.get(
|
||||||
|
slug=f"{slug_prefix}-circle-veicolo-lu-preparazione"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -5,3 +5,5 @@ COURSE_VERSICHERUNGSVERMITTLERIN_ID = -4
|
||||||
COURSE_UK_FR = -5
|
COURSE_UK_FR = -5
|
||||||
COURSE_UK_TRAINING = -6
|
COURSE_UK_TRAINING = -6
|
||||||
COURSE_UK_TRAINING_FR = -7
|
COURSE_UK_TRAINING_FR = -7
|
||||||
|
COURSE_UK_IT = -8
|
||||||
|
COURSE_UK_TRAINING_IT = -9
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
UK_IT_CIRCLE_GOALS = {
|
||||||
|
"fahrzeug": """
|
||||||
|
<p class="mt-4">Per molte persone l'auto è il loro più grande orgoglio e gioia. Ma è anche un grande potenziale
|
||||||
|
di pericolo. Con i prezzi dei veicoli e i costi di riparazione di oggi, si arriva rapidamente a somme considerevoli,
|
||||||
|
che spesso il proprietario del veicolo ha difficoltà a pagare da solo in caso di sinistro grave. L'assicurazione
|
||||||
|
dei veicoli a motore serve a proteggere te e gli altri utenti della strada in caso di incidente e a fornire una
|
||||||
|
protezione finanziaria. Questo Circle ti aiuta a tenere una visione d'insieme della giungla assicurativa dei
|
||||||
|
veicoli a motore e ad essere sicuri sulla strada! </p>
|
||||||
|
<p class="mt-4">In questo Circle, costruirai la tua capacità di agire su questi temi:</p>
|
||||||
|
<ul>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>Come proteggere l'auto in modo ottimale</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>Le caratteristiche principali del diritto sulla responsabilità civile</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>Quali sono gli aspetti da considerare quando si fa un'offerta</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>Come si presenta la soluzione al cliente</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>Il processo dalla domanda alla politica</li>
|
||||||
|
</ul>
|
||||||
|
<p class="mt-4">Lavorate sui seguenti obiettivi di valutazione del profilo di qualificazione:</p>
|
||||||
|
<ul>
|
||||||
|
<li class="flex items-center"><it-icon-check class="hidden h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>c3.pv.ci2: Spiegano in modo appropriato alla situazione le basi giuridiche rilevanti del loro settore. (C2)</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>c3.pv.ci7: Spiegano le disposizioni legali inerenti i sinistri e i casi di prestazioni. (C2)</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>c3.pv.ci11: Valutano in modo competente le usuali soluzioni assicurative. (C3)</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>d2.pv.ci1: Illustrano in modo completo le principali basi legali per il settore assicurativo. (C2)</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>d2.pv.ci2: Indicano i prodotti e i servizi rilevanti in campo assicurativo. (C1)</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>d2.pv.ci3: Spiegano i prodotti e le prestazioni in ambito assicurativo. (C2)</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>d2.pv.ci4: Spiegano in modo comprensivo i processi e le procedure inerenti le assicurazioni private. (C2)</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>e4.pv.ci1: Spiegano i servizi dell'azienda. (C2)</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>e4.pv.ci2: Fanno distinzione fra i concorrenti del settore dell'assicurazione privata sulla base dei criteri rilevanti. (C2)</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>e4.pv.ci4: Illustrano gli elementi fondamentali dei prodotti delle assicurazioni private. (C2)</li>
|
||||||
|
</ul>
|
||||||
|
<h3 class="mt-4">Obiettivi di valutazione per l'autovalutazione:</h3>
|
||||||
|
<p class="mt-4">Sono capace...</p>
|
||||||
|
<ul>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>c3.pv.ci2: ... di spiegare le basi giuridiche rilevanti nel campo d’azione del veicolo in modo adeguato alla situazione.</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>c3.pv.ci7: ... di spiegare le disposizioni di legge per le richieste di risarcimento e le prestazioni nel campo d'azione del veicolo.</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>c3.pv.ci11: ... di valutare con competenza le attuali soluzioni assicurative nel campo d’azione del veicolo.</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>d2.pv.ci1: ... di descrivere in modo esauriente le basi giuridiche più importanti nel campo dell'assicurazione dei veicoli a motore.</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>d2.pv.ci2: ... di nominare i servizi e i prodotti rilevanti nel campo d'azione del veicolo.</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>d2.pv.ci3: ... di spiegare i servizi e i prodotti nel campo d'azione del veicolo.</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>d2.pv.ci4: ... di spiegare i processi e le procedure nel campo d'azione del veicolo.</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>e4.pv.ci1: ... di spiegare i servizi della propria azienda nel campo d'azione del veicolo.</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>e4.pv.ci2: ... di distinguere i concorrenti del settore assicurativo privato nel campo d'azione del veicolo sulla base dei criteri pertinenti.</li>
|
||||||
|
<li class="flex items-center"><it-icon-check class="h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>e4.pv.ci4: ... di spiegare le basi dei prodotti assicurativi per veicoli a motore.</li>
|
||||||
|
</ul>
|
||||||
|
""",
|
||||||
|
}
|
||||||
|
|
@ -8,8 +8,9 @@ from wagtail_localize.models import LocaleSynchronization
|
||||||
|
|
||||||
from vbv_lernwelt.assignment.models import Assignment
|
from vbv_lernwelt.assignment.models import Assignment
|
||||||
from vbv_lernwelt.core.admin import User
|
from vbv_lernwelt.core.admin import User
|
||||||
from vbv_lernwelt.course.consts import COURSE_UK, COURSE_UK_FR
|
from vbv_lernwelt.course.consts import COURSE_UK, COURSE_UK_FR, COURSE_UK_IT
|
||||||
from vbv_lernwelt.course.creators.uk_circle_goals_fr import UK_FR_CIRCLE_GOALS
|
from vbv_lernwelt.course.creators.uk_circle_goals_fr import UK_FR_CIRCLE_GOALS
|
||||||
|
from vbv_lernwelt.course.creators.uk_circle_goals_it import UK_IT_CIRCLE_GOALS
|
||||||
from vbv_lernwelt.course.models import CoursePage
|
from vbv_lernwelt.course.models import CoursePage
|
||||||
from vbv_lernwelt.learnpath.tests.learning_path_factories import (
|
from vbv_lernwelt.learnpath.tests.learning_path_factories import (
|
||||||
CircleFactory,
|
CircleFactory,
|
||||||
|
|
@ -143,6 +144,62 @@ def create_uk_fr_learning_path(course_id=COURSE_UK_FR, user=None, skip_locales=T
|
||||||
Page.objects.update(owner=user)
|
Page.objects.update(owner=user)
|
||||||
|
|
||||||
|
|
||||||
|
def create_uk_it_learning_path(course_id=COURSE_UK_IT, user=None, skip_locales=True):
|
||||||
|
if user is None:
|
||||||
|
user = User.objects.get(username="info@iterativ.ch")
|
||||||
|
|
||||||
|
site = Site.objects.filter(is_default_site=True).first()
|
||||||
|
|
||||||
|
if not site:
|
||||||
|
site = wagtail_factories.SiteFactory(is_default_site=True)
|
||||||
|
|
||||||
|
if settings.APP_ENVIRONMENT == "development":
|
||||||
|
site.port = 8000
|
||||||
|
site.save()
|
||||||
|
|
||||||
|
course_page = CoursePage.objects.get(course_id=course_id)
|
||||||
|
lp = LearningPathFactory(
|
||||||
|
title="Lernpfad",
|
||||||
|
parent=course_page,
|
||||||
|
)
|
||||||
|
|
||||||
|
TopicFactory(title="1ère année", is_visible=True, parent=lp)
|
||||||
|
create_uk_fr_circle_kickoff(lp, title="Introduzione")
|
||||||
|
create_uk_fr_circle_basis(lp, title="Base")
|
||||||
|
create_uk_it_circle_fahrzeug(lp, title="Veicolo")
|
||||||
|
create_uk_circle(lp, title="Budget Partie 1")
|
||||||
|
create_uk_circle(lp, title="Budget Partie 2")
|
||||||
|
|
||||||
|
TopicFactory(title="2ème année", is_visible=True, parent=lp)
|
||||||
|
create_uk_circle(lp, title="Voyages / Protection juridique")
|
||||||
|
create_uk_circle(lp, title="Proprieté du logement")
|
||||||
|
create_uk_circle(lp, title="PME Partie 1")
|
||||||
|
create_uk_circle(lp, title="PME Partie 2")
|
||||||
|
create_uk_circle(lp, title="Concept des 3")
|
||||||
|
create_uk_circle(lp, title="Garantie des revenus, Partie 1")
|
||||||
|
create_uk_circle(lp, title="Garantie des revenus, Partie 2")
|
||||||
|
create_uk_circle(lp, title="Retraite")
|
||||||
|
TopicFactory(title="3ème année", is_visible=True, parent=lp)
|
||||||
|
create_uk_circle(lp, title="Santé")
|
||||||
|
create_uk_circle(lp, title="Préparation à l'examen, Partie 1")
|
||||||
|
create_uk_circle(lp, title="Préparation à l'examen, Partie 2")
|
||||||
|
# locales
|
||||||
|
if not skip_locales:
|
||||||
|
locale_de = Locale.objects.get(language_code="de-CH")
|
||||||
|
locale_fr, _ = Locale.objects.get_or_create(language_code="fr-CH")
|
||||||
|
LocaleSynchronization.objects.get_or_create(
|
||||||
|
locale_id=locale_fr.id, sync_from_id=locale_de.id
|
||||||
|
)
|
||||||
|
locale_it, _ = Locale.objects.get_or_create(language_code="it-CH")
|
||||||
|
LocaleSynchronization.objects.get_or_create(
|
||||||
|
locale_id=locale_it.id, sync_from_id=locale_de.id
|
||||||
|
)
|
||||||
|
call_command("sync_locale_trees")
|
||||||
|
|
||||||
|
# all pages belong to 'admin' by default
|
||||||
|
Page.objects.update(owner=user)
|
||||||
|
|
||||||
|
|
||||||
def create_uk_circle(lp, title="Kickoff"):
|
def create_uk_circle(lp, title="Kickoff"):
|
||||||
circle = CircleFactory(
|
circle = CircleFactory(
|
||||||
title=title,
|
title=title,
|
||||||
|
|
@ -198,15 +255,15 @@ damit du erfolgreich mit deinem Lernpfad (durch-)starten kannst.
|
||||||
title="Unterlagen für den Unterricht",
|
title="Unterlagen für den Unterricht",
|
||||||
parent=circle,
|
parent=circle,
|
||||||
)
|
)
|
||||||
|
LearningContentFeedbackFactory(
|
||||||
|
parent=circle,
|
||||||
|
)
|
||||||
|
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
|
||||||
LearningUnitFactory(title="Kompetenznachweis", title_hidden=True, parent=circle)
|
LearningUnitFactory(title="Kompetenznachweis", title_hidden=True, parent=circle)
|
||||||
LearningContentPlaceholderFactory(
|
LearningContentPlaceholderFactory(
|
||||||
title="Wissens- und Verständnisfragen",
|
title="Wissens- und Verständnisfragen",
|
||||||
parent=circle,
|
parent=circle,
|
||||||
)
|
)
|
||||||
LearningContentFeedbackFactory(
|
|
||||||
parent=circle,
|
|
||||||
)
|
|
||||||
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
|
|
||||||
LearningUnitFactory(title="Transfer", parent=circle)
|
LearningUnitFactory(title="Transfer", parent=circle)
|
||||||
LearningContentPlaceholderFactory(
|
LearningContentPlaceholderFactory(
|
||||||
title="Reflexion",
|
title="Reflexion",
|
||||||
|
|
@ -475,6 +532,11 @@ In diesem Circle lernst du die wichtigsten Grundlagen bezüglich Versicherungswi
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
LearningUnitFactory(title="Feedback", title_hidden=True, parent=circle)
|
||||||
|
LearningContentFeedbackFactory(
|
||||||
|
parent=circle,
|
||||||
|
)
|
||||||
|
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
|
||||||
LearningUnitFactory(title="Kompetenznachweis", title_hidden=True, parent=circle)
|
LearningUnitFactory(title="Kompetenznachweis", title_hidden=True, parent=circle)
|
||||||
LearningContentTestFactory(
|
LearningContentTestFactory(
|
||||||
title="Wissens- und Verständnisfragen",
|
title="Wissens- und Verständnisfragen",
|
||||||
|
|
@ -485,12 +547,7 @@ In diesem Circle lernst du die wichtigsten Grundlagen bezüglich Versicherungswi
|
||||||
checkbox_text="Hiermit bestätige ich, dass ich die Anweisungen verstanden habe und den Test durchführen möchte.",
|
checkbox_text="Hiermit bestätige ich, dass ich die Anweisungen verstanden habe und den Test durchführen möchte.",
|
||||||
content_url="https://exam.vbv-afa.ch/",
|
content_url="https://exam.vbv-afa.ch/",
|
||||||
)
|
)
|
||||||
LearningUnitFactory(title="Feedback", title_hidden=True, parent=circle)
|
LearningUnitFactory(title="Reflexion", title_hidden=True, parent=circle)
|
||||||
LearningContentFeedbackFactory(
|
|
||||||
parent=circle,
|
|
||||||
)
|
|
||||||
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
|
|
||||||
LearningUnitFactory(title="Reflexion", parent=circle)
|
|
||||||
LearningContentAssignmentFactory(
|
LearningContentAssignmentFactory(
|
||||||
title="Reflexion",
|
title="Reflexion",
|
||||||
assignment_type="REFLECTION",
|
assignment_type="REFLECTION",
|
||||||
|
|
@ -583,6 +640,11 @@ In diesem Circle lernst du die wichtigsten Grundlagen bezüglich Versicherungswi
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
LearningUnitFactory(title="Feedback", title_hidden=True, parent=circle)
|
||||||
|
LearningContentFeedbackFactory(
|
||||||
|
parent=circle,
|
||||||
|
)
|
||||||
|
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
|
||||||
LearningUnitFactory(title="Kompetenznachweis", title_hidden=True, parent=circle)
|
LearningUnitFactory(title="Kompetenznachweis", title_hidden=True, parent=circle)
|
||||||
LearningContentTestFactory(
|
LearningContentTestFactory(
|
||||||
title="Wissens- und Verständnisfragen",
|
title="Wissens- und Verständnisfragen",
|
||||||
|
|
@ -593,12 +655,7 @@ In diesem Circle lernst du die wichtigsten Grundlagen bezüglich Versicherungswi
|
||||||
checkbox_text="Hiermit bestätige ich, dass ich die Anweisungen verstanden habe und den Test durchführen möchte.",
|
checkbox_text="Hiermit bestätige ich, dass ich die Anweisungen verstanden habe und den Test durchführen möchte.",
|
||||||
content_url="https://exam.vbv-afa.ch/",
|
content_url="https://exam.vbv-afa.ch/",
|
||||||
)
|
)
|
||||||
LearningUnitFactory(title="Feedback", title_hidden=True, parent=circle)
|
LearningUnitFactory(title="Reflexion", title_hidden=True, parent=circle)
|
||||||
LearningContentFeedbackFactory(
|
|
||||||
parent=circle,
|
|
||||||
)
|
|
||||||
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
|
|
||||||
LearningUnitFactory(title="Reflexion", parent=circle)
|
|
||||||
LearningContentAssignmentFactory(
|
LearningContentAssignmentFactory(
|
||||||
title="Reflexion",
|
title="Reflexion",
|
||||||
assignment_type="REFLECTION",
|
assignment_type="REFLECTION",
|
||||||
|
|
@ -754,7 +811,7 @@ def create_uk_fr_circle_fahrzeug(lp, title="Véhicule"):
|
||||||
)
|
)
|
||||||
course_slug = lp.slug.replace("-lp", "")
|
course_slug = lp.slug.replace("-lp", "")
|
||||||
LearningSequenceFactory(title="Préparation", parent=circle, icon="it-icon-ls-start")
|
LearningSequenceFactory(title="Préparation", parent=circle, icon="it-icon-ls-start")
|
||||||
LearningUnitFactory(title="Vorbereitung", title_hidden=True, parent=circle)
|
LearningUnitFactory(title="Préparation", title_hidden=True, parent=circle)
|
||||||
LearningContentMediaLibraryFactory(
|
LearningContentMediaLibraryFactory(
|
||||||
title=f"Champs d’action «Véhicule à moteur»",
|
title=f"Champs d’action «Véhicule à moteur»",
|
||||||
parent=circle,
|
parent=circle,
|
||||||
|
|
@ -828,7 +885,7 @@ def create_uk_fr_circle_fahrzeug(lp, title="Véhicule"):
|
||||||
title="Aperçu casco",
|
title="Aperçu casco",
|
||||||
description="",
|
description="",
|
||||||
icon_url="/static/icons/demo/icon-hf-book.png",
|
icon_url="/static/icons/demo/icon-hf-book.png",
|
||||||
link_display_text="Aperçu casco",
|
link_display_text="Afficher le document",
|
||||||
url="/static/media/uk/fr_üK1_FZ_07_Kasko.pdf",
|
url="/static/media/uk/fr_üK1_FZ_07_Kasko.pdf",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
@ -881,6 +938,144 @@ def create_uk_fr_circle_fahrzeug(lp, title="Véhicule"):
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
||||||
|
def create_uk_it_circle_fahrzeug(lp, title="Veicolo"):
|
||||||
|
circle = CircleFactory(
|
||||||
|
title=title,
|
||||||
|
parent=lp,
|
||||||
|
description="In questo Cercle imparerai tutto ciò che riguarda l'assicurazione dei veicoli a motore.",
|
||||||
|
goals=UK_IT_CIRCLE_GOALS["fahrzeug"],
|
||||||
|
)
|
||||||
|
course_slug = lp.slug.replace("-lp", "")
|
||||||
|
LearningSequenceFactory(
|
||||||
|
title="Preparazione", parent=circle, icon="it-icon-ls-start"
|
||||||
|
)
|
||||||
|
LearningUnitFactory(title="Preparazione", title_hidden=True, parent=circle)
|
||||||
|
LearningContentMediaLibraryFactory(
|
||||||
|
title=f"Campo d’azione «Veicolo»",
|
||||||
|
parent=circle,
|
||||||
|
description=RichText(
|
||||||
|
f"<p>Nella mediateca, sotto il campo d'azione «Veicolo», troverai tutte le risorse rilevanti per le tue competenze professionali.</p>"
|
||||||
|
f"<p>Si consiglia di leggere l'argomento prima di completare le altre unità di apprendimento.</p>"
|
||||||
|
),
|
||||||
|
content_url=f"/course/{course_slug}/media/category/{slugify(title)}",
|
||||||
|
)
|
||||||
|
LearningContentAssignmentFactory(
|
||||||
|
title="Veicolo, la mia prima auto",
|
||||||
|
assignment_type="PREP_ASSIGNMENT",
|
||||||
|
parent=circle,
|
||||||
|
content_assignment=Assignment.objects.get(
|
||||||
|
slug__startswith=f"{course_slug}-assignment-veicolo-la-mia-prima-auto"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
LearningSequenceFactory(title="Formazione", parent=circle)
|
||||||
|
LearningUnitFactory(title="Corso di presenza", title_hidden=True, parent=circle)
|
||||||
|
LearningContentAttendanceCourseFactory(
|
||||||
|
title="Corso di presenza veicolo",
|
||||||
|
parent=circle,
|
||||||
|
)
|
||||||
|
LearningContentDocumentListFactory(
|
||||||
|
title="Documenti",
|
||||||
|
parent=circle,
|
||||||
|
documents=[
|
||||||
|
# (
|
||||||
|
# "document",
|
||||||
|
# LearnMediaBlockFactory(
|
||||||
|
# title="Présentation",
|
||||||
|
# description="",
|
||||||
|
# icon_url="/static/icons/demo/icon-hf-book.png",
|
||||||
|
# link_display_text="Afficher le document",
|
||||||
|
# url="/static/media/uk/fr_üK1_FZ_00_Prгentation.pdf",
|
||||||
|
# ),
|
||||||
|
# ),
|
||||||
|
(
|
||||||
|
"document",
|
||||||
|
LearnMediaBlockFactory(
|
||||||
|
title="Termini",
|
||||||
|
description="",
|
||||||
|
icon_url="/static/icons/demo/icon-hf-book.png",
|
||||||
|
link_display_text="Mostra documento",
|
||||||
|
url="/static/media/uk/it_üK1_FZ_02_Begriffe.pdf",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"document",
|
||||||
|
LearnMediaBlockFactory(
|
||||||
|
title="Lista di controllo",
|
||||||
|
description="",
|
||||||
|
icon_url="/static/icons/demo/icon-hf-book.png",
|
||||||
|
link_display_text="Mostra documento",
|
||||||
|
url="/static/media/uk/it_üK1_FZ_04_Checkliste.pdf",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"document",
|
||||||
|
LearnMediaBlockFactory(
|
||||||
|
title="Scheda sinistri",
|
||||||
|
description="",
|
||||||
|
icon_url="/static/icons/demo/icon-hf-book.png",
|
||||||
|
link_display_text="Mostra documento",
|
||||||
|
url="/static/media/uk/it_üK1_FZ_05_A_Schaden.pdf",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"document",
|
||||||
|
LearnMediaBlockFactory(
|
||||||
|
title="Panoramica casco",
|
||||||
|
description="",
|
||||||
|
icon_url="/static/icons/demo/icon-hf-book.png",
|
||||||
|
link_display_text="Mostra documento",
|
||||||
|
url="/static/media/uk/it_üK1_FZ_07_Kasko.pdf",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"document",
|
||||||
|
LearnMediaBlockFactory(
|
||||||
|
title="Offerta e successivo colloquio di vendita",
|
||||||
|
description="",
|
||||||
|
icon_url="/static/icons/demo/icon-hf-book.png",
|
||||||
|
link_display_text="Mostra documento",
|
||||||
|
url="/static/media/uk/it_üK1_FZ_08_A_Offerte-und-Verkaufsgespraech.pdf",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"document",
|
||||||
|
LearnMediaBlockFactory(
|
||||||
|
title="Riserva scheda sinistri",
|
||||||
|
description="",
|
||||||
|
icon_url="/static/icons/demo/icon-hf-book.png",
|
||||||
|
link_display_text="Mostra documento",
|
||||||
|
url="/static/media/uk/it_üK1_FZ_A_Reserve_Schaden.pdf",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
LearningUnitFactory(title="Feedback", title_hidden=True, parent=circle)
|
||||||
|
LearningContentFeedbackFactory(
|
||||||
|
parent=circle,
|
||||||
|
)
|
||||||
|
|
||||||
|
LearningSequenceFactory(title="Trasferimento", parent=circle, icon="it-icon-ls-end")
|
||||||
|
LearningUnitFactory(
|
||||||
|
title="Controllo delle competenze", title_hidden=True, parent=circle
|
||||||
|
)
|
||||||
|
LearningContentAssignmentFactory(
|
||||||
|
title="Verifica di una polizza di assicurazione veicoli a motore",
|
||||||
|
parent=circle,
|
||||||
|
content_assignment=Assignment.objects.get(
|
||||||
|
slug__startswith=f"{course_slug}-assignment-verifica-di-una-polizza-di-assicurazione-veicoli-a-motore"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
LearningUnitFactory(title="Riflessione", title_hidden=True, parent=circle)
|
||||||
|
LearningContentAssignmentFactory(
|
||||||
|
title="Riflessione",
|
||||||
|
assignment_type="REFLECTION",
|
||||||
|
parent=circle,
|
||||||
|
content_assignment=Assignment.objects.get(
|
||||||
|
slug__startswith=f"{course_slug}-assignment-riflessione"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
UK_CIRCLE_GOALS = {
|
UK_CIRCLE_GOALS = {
|
||||||
"kickoff": """
|
"kickoff": """
|
||||||
<p class="mt-4">Hey, willkommen im ersten überbetrieblichen Kurs! Du bist in einer spannenden Branche gelandet. Wir wissen, dass es am Anfang oft eine Herausforderung sein kann, sich in einem neuen Umfeld zurechtzufinden und die vielen neuen Eindrücke zu verarbeiten. Aber keine Sorge, wir sind hier, um dir dabei zu helfen. In deiner Ausbildung wirst du viele neue Fähigkeiten erlernen und dein Wissen vertiefen. In diesem Circle helfen wir dir dabei, den Überblick zu gewinnen und dich mit den neuen Arbeitsabläufen und myVBV vertraut zu machen. Lass uns gemeinsam diese neue Herausforderung meistern und das Beste aus deiner Ausbildung herausholen! </p>
|
<p class="mt-4">Hey, willkommen im ersten überbetrieblichen Kurs! Du bist in einer spannenden Branche gelandet. Wir wissen, dass es am Anfang oft eine Herausforderung sein kann, sich in einem neuen Umfeld zurechtzufinden und die vielen neuen Eindrücke zu verarbeiten. Aber keine Sorge, wir sind hier, um dir dabei zu helfen. In deiner Ausbildung wirst du viele neue Fähigkeiten erlernen und dein Wissen vertiefen. In diesem Circle helfen wir dir dabei, den Überblick zu gewinnen und dich mit den neuen Arbeitsabläufen und myVBV vertraut zu machen. Lass uns gemeinsam diese neue Herausforderung meistern und das Beste aus deiner Ausbildung herausholen! </p>
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,15 @@ from wagtail.models import Locale, Page, Site
|
||||||
from wagtail_localize.models import LocaleSynchronization
|
from wagtail_localize.models import LocaleSynchronization
|
||||||
|
|
||||||
from vbv_lernwelt.core.admin import User
|
from vbv_lernwelt.core.admin import User
|
||||||
from vbv_lernwelt.course.consts import COURSE_UK_TRAINING, COURSE_UK_TRAINING_FR
|
from vbv_lernwelt.course.consts import (
|
||||||
|
COURSE_UK_TRAINING,
|
||||||
|
COURSE_UK_TRAINING_FR,
|
||||||
|
COURSE_UK_TRAINING_IT,
|
||||||
|
)
|
||||||
from vbv_lernwelt.course.creators.uk_course import (
|
from vbv_lernwelt.course.creators.uk_course import (
|
||||||
create_uk_circle_fahrzeug,
|
create_uk_circle_fahrzeug,
|
||||||
create_uk_fr_circle_fahrzeug,
|
create_uk_fr_circle_fahrzeug,
|
||||||
|
create_uk_it_circle_fahrzeug,
|
||||||
)
|
)
|
||||||
from vbv_lernwelt.course.models import CoursePage
|
from vbv_lernwelt.course.models import CoursePage
|
||||||
from vbv_lernwelt.learnpath.tests.learning_path_factories import (
|
from vbv_lernwelt.learnpath.tests.learning_path_factories import (
|
||||||
|
|
@ -44,6 +49,9 @@ def create_uk_training_learning_path(
|
||||||
elif course_id == COURSE_UK_TRAINING_FR:
|
elif course_id == COURSE_UK_TRAINING_FR:
|
||||||
TopicFactory(title="Training", is_visible=True, parent=lp)
|
TopicFactory(title="Training", is_visible=True, parent=lp)
|
||||||
create_uk_fr_circle_fahrzeug(lp)
|
create_uk_fr_circle_fahrzeug(lp)
|
||||||
|
elif course_id == COURSE_UK_TRAINING_IT:
|
||||||
|
TopicFactory(title="Training", is_visible=True, parent=lp)
|
||||||
|
create_uk_it_circle_fahrzeug(lp)
|
||||||
|
|
||||||
# locales
|
# locales
|
||||||
if not skip_locales:
|
if not skip_locales:
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,9 @@ from vbv_lernwelt.assignment.creators.create_assignments import (
|
||||||
create_uk_fr_fahrzeug_casework,
|
create_uk_fr_fahrzeug_casework,
|
||||||
create_uk_fr_fahrzeug_prep_assignment,
|
create_uk_fr_fahrzeug_prep_assignment,
|
||||||
create_uk_fr_reflection,
|
create_uk_fr_reflection,
|
||||||
|
create_uk_it_fahrzeug_casework,
|
||||||
|
create_uk_it_fahrzeug_prep_assignment,
|
||||||
|
create_uk_it_reflection,
|
||||||
create_uk_kickoff_prep_assignment,
|
create_uk_kickoff_prep_assignment,
|
||||||
create_uk_reflection,
|
create_uk_reflection,
|
||||||
create_vv_einkommenssicherung_casework,
|
create_vv_einkommenssicherung_casework,
|
||||||
|
|
@ -23,9 +26,11 @@ from vbv_lernwelt.assignment.tests.assignment_factories import AssignmentListPag
|
||||||
from vbv_lernwelt.competence.create_uk_competence_profile import (
|
from vbv_lernwelt.competence.create_uk_competence_profile import (
|
||||||
create_uk_competence_profile,
|
create_uk_competence_profile,
|
||||||
create_uk_fr_competence_profile,
|
create_uk_fr_competence_profile,
|
||||||
|
create_uk_it_competence_profile,
|
||||||
)
|
)
|
||||||
from vbv_lernwelt.competence.create_uk_training_competence_profile import (
|
from vbv_lernwelt.competence.create_uk_training_competence_profile import (
|
||||||
create_uk_fr_training_competence_profile,
|
create_uk_fr_training_competence_profile,
|
||||||
|
create_uk_it_training_competence_profile,
|
||||||
create_uk_training_competence_profile,
|
create_uk_training_competence_profile,
|
||||||
)
|
)
|
||||||
from vbv_lernwelt.competence.create_vv_new_competence_profile import (
|
from vbv_lernwelt.competence.create_vv_new_competence_profile import (
|
||||||
|
|
@ -38,13 +43,16 @@ from vbv_lernwelt.course.consts import (
|
||||||
COURSE_TEST_ID,
|
COURSE_TEST_ID,
|
||||||
COURSE_UK,
|
COURSE_UK,
|
||||||
COURSE_UK_FR,
|
COURSE_UK_FR,
|
||||||
|
COURSE_UK_IT,
|
||||||
COURSE_UK_TRAINING,
|
COURSE_UK_TRAINING,
|
||||||
COURSE_UK_TRAINING_FR,
|
COURSE_UK_TRAINING_FR,
|
||||||
|
COURSE_UK_TRAINING_IT,
|
||||||
COURSE_VERSICHERUNGSVERMITTLERIN_ID,
|
COURSE_VERSICHERUNGSVERMITTLERIN_ID,
|
||||||
)
|
)
|
||||||
from vbv_lernwelt.course.creators.test_course import create_test_course
|
from vbv_lernwelt.course.creators.test_course import create_test_course
|
||||||
from vbv_lernwelt.course.creators.uk_course import (
|
from vbv_lernwelt.course.creators.uk_course import (
|
||||||
create_uk_fr_learning_path,
|
create_uk_fr_learning_path,
|
||||||
|
create_uk_it_learning_path,
|
||||||
create_uk_learning_path,
|
create_uk_learning_path,
|
||||||
)
|
)
|
||||||
from vbv_lernwelt.course.creators.uk_training_course import (
|
from vbv_lernwelt.course.creators.uk_training_course import (
|
||||||
|
|
@ -92,8 +100,10 @@ ADMIN_EMAILS = ["info@iterativ.ch", "admin"]
|
||||||
COURSE_UK,
|
COURSE_UK,
|
||||||
COURSE_VERSICHERUNGSVERMITTLERIN_ID,
|
COURSE_VERSICHERUNGSVERMITTLERIN_ID,
|
||||||
COURSE_UK_FR,
|
COURSE_UK_FR,
|
||||||
|
COURSE_UK_IT,
|
||||||
COURSE_UK_TRAINING,
|
COURSE_UK_TRAINING,
|
||||||
COURSE_UK_TRAINING_FR,
|
COURSE_UK_TRAINING_FR,
|
||||||
|
COURSE_UK_TRAINING_IT,
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
def command(course):
|
def command(course):
|
||||||
|
|
@ -118,6 +128,9 @@ def command(course):
|
||||||
if COURSE_UK_FR in course:
|
if COURSE_UK_FR in course:
|
||||||
create_course_uk_fr()
|
create_course_uk_fr()
|
||||||
|
|
||||||
|
if COURSE_UK_IT in course:
|
||||||
|
create_course_uk_it()
|
||||||
|
|
||||||
if COURSE_TEST_ID in course:
|
if COURSE_TEST_ID in course:
|
||||||
create_test_course(with_sessions=True)
|
create_test_course(with_sessions=True)
|
||||||
|
|
||||||
|
|
@ -127,6 +140,9 @@ def command(course):
|
||||||
if COURSE_UK_TRAINING_FR in course:
|
if COURSE_UK_TRAINING_FR in course:
|
||||||
create_course_training_fr()
|
create_course_training_fr()
|
||||||
|
|
||||||
|
if COURSE_UK_TRAINING_IT in course:
|
||||||
|
create_course_training_it()
|
||||||
|
|
||||||
|
|
||||||
def create_versicherungsvermittlerin_course():
|
def create_versicherungsvermittlerin_course():
|
||||||
# Versicherungsvermittler/in mit neuen Circles
|
# Versicherungsvermittler/in mit neuen Circles
|
||||||
|
|
@ -392,6 +408,29 @@ def create_course_uk_fr():
|
||||||
csu.expert.add(fr_circle)
|
csu.expert.add(fr_circle)
|
||||||
|
|
||||||
|
|
||||||
|
def create_course_uk_it():
|
||||||
|
# Überbetriebliche Kurse FR
|
||||||
|
course = create_versicherungsvermittlerin_with_categories(
|
||||||
|
course_id=COURSE_UK_IT, title="Corso interaziendale"
|
||||||
|
)
|
||||||
|
|
||||||
|
# assignments create assignments parent page
|
||||||
|
_assignment_list_page = AssignmentListPageFactory(
|
||||||
|
parent=course.coursepage,
|
||||||
|
)
|
||||||
|
create_uk_it_fahrzeug_casework(course_id=COURSE_UK_IT)
|
||||||
|
create_uk_it_fahrzeug_prep_assignment(course_id=COURSE_UK_IT)
|
||||||
|
create_uk_it_reflection(course_id=COURSE_UK_IT)
|
||||||
|
create_uk_it_learning_path(course_id=COURSE_UK_IT)
|
||||||
|
create_uk_it_competence_profile(course_id=COURSE_UK_IT)
|
||||||
|
create_default_media_library(course_id=COURSE_UK_IT)
|
||||||
|
|
||||||
|
_cs = CourseSession.objects.create(
|
||||||
|
course_id=COURSE_UK_IT,
|
||||||
|
title="Corso interaziendale Ticino",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def create_course_uk_de_assignment_completion_data(assignment, course_session, user):
|
def create_course_uk_de_assignment_completion_data(assignment, course_session, user):
|
||||||
subtasks = assignment.filter_user_subtasks(subtask_types=["user_text_input"])
|
subtasks = assignment.filter_user_subtasks(subtask_types=["user_text_input"])
|
||||||
for index, subtask in enumerate(subtasks):
|
for index, subtask in enumerate(subtasks):
|
||||||
|
|
@ -632,3 +671,90 @@ def create_course_training_fr():
|
||||||
)
|
)
|
||||||
|
|
||||||
csu.save()
|
csu.save()
|
||||||
|
|
||||||
|
|
||||||
|
def create_course_training_it():
|
||||||
|
# Test Lehrgang für üK Trainer FR
|
||||||
|
course = create_versicherungsvermittlerin_with_categories(
|
||||||
|
course_id=COURSE_UK_TRAINING_IT, title="myVBV Training (IT)"
|
||||||
|
)
|
||||||
|
|
||||||
|
# assignments create assignments parent page
|
||||||
|
_assignment_list_page = AssignmentListPageFactory(
|
||||||
|
parent=course.coursepage,
|
||||||
|
)
|
||||||
|
create_uk_it_fahrzeug_casework(course_id=COURSE_UK_TRAINING_IT)
|
||||||
|
create_uk_it_fahrzeug_prep_assignment(course_id=COURSE_UK_TRAINING_IT)
|
||||||
|
create_uk_it_reflection(course_id=COURSE_UK_TRAINING_IT)
|
||||||
|
|
||||||
|
create_uk_training_learning_path(course_id=COURSE_UK_TRAINING_IT)
|
||||||
|
create_uk_it_training_competence_profile(course_id=COURSE_UK_TRAINING_IT)
|
||||||
|
create_default_media_library(course_id=COURSE_UK_TRAINING_IT)
|
||||||
|
|
||||||
|
current_dir = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
print(current_dir)
|
||||||
|
course = Course.objects.get(id=COURSE_UK_TRAINING_IT)
|
||||||
|
import_course_sessions_from_excel(
|
||||||
|
course,
|
||||||
|
f"{current_dir}/../../../importer/tests/Schulungen_Durchfuehrung_Trainer.xlsx",
|
||||||
|
language="it",
|
||||||
|
)
|
||||||
|
import_trainers_from_excel(
|
||||||
|
course,
|
||||||
|
f"{current_dir}/../../../importer/tests/Schulungen_Durchfuehrung_Trainer.xlsx",
|
||||||
|
language="it",
|
||||||
|
)
|
||||||
|
import_students_from_excel(
|
||||||
|
f"{current_dir}/../../../importer/tests/Schulungen_Teilnehmende.xlsx",
|
||||||
|
)
|
||||||
|
|
||||||
|
for cs in CourseSession.objects.filter(course_id=COURSE_UK_TRAINING_IT):
|
||||||
|
cs.assignment_details_list = [
|
||||||
|
{
|
||||||
|
"learningContentId": LearningContentAssignment.objects.get(
|
||||||
|
slug=f"{course.slug}-lp-circle-veicolo-lc-verifica-di-una-polizza-di-assicurazione-veicoli-a-motore"
|
||||||
|
).id,
|
||||||
|
"submissionDeadlineDateTimeUtc": "2023-06-20T19:00:00Z",
|
||||||
|
"evaluationDeadlineDateTimeUtc": "2023-06-27T19:00:00Z",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"learningContentId": LearningContentAssignment.objects.get(
|
||||||
|
slug=f"{course.slug}-lp-circle-veicolo-lc-veicolo-la-mia-prima-auto"
|
||||||
|
).id,
|
||||||
|
"submissionDeadlineDateTimeUtc": "2023-06-20T19:00:00Z",
|
||||||
|
"evaluationDeadlineDateTimeUtc": "2023-06-27T19:00:00Z",
|
||||||
|
},
|
||||||
|
]
|
||||||
|
cs.save()
|
||||||
|
|
||||||
|
# attach users as trainers to ÜK course
|
||||||
|
course_uk = Course.objects.filter(id=COURSE_UK_IT).first()
|
||||||
|
if course_uk:
|
||||||
|
users = [
|
||||||
|
csu.user
|
||||||
|
for csu in CourseSessionUser.objects.filter(
|
||||||
|
course_session__course_id=COURSE_UK_TRAINING_IT
|
||||||
|
)
|
||||||
|
]
|
||||||
|
|
||||||
|
cs = CourseSession.objects.get(
|
||||||
|
course_id=COURSE_UK_IT,
|
||||||
|
title="Corso interaziendale Ticino",
|
||||||
|
)
|
||||||
|
|
||||||
|
for user in users:
|
||||||
|
csu, _created = CourseSessionUser.objects.get_or_create(
|
||||||
|
course_session_id=cs.id, user_id=user.id
|
||||||
|
)
|
||||||
|
csu.role = CourseSessionUser.Role.EXPERT
|
||||||
|
csu.expert.add(
|
||||||
|
Circle.objects.get(slug="überbetriebliche-kurse-lp-circle-kickoff")
|
||||||
|
)
|
||||||
|
csu.expert.add(
|
||||||
|
Circle.objects.get(slug="überbetriebliche-kurse-lp-circle-basis")
|
||||||
|
)
|
||||||
|
csu.expert.add(
|
||||||
|
Circle.objects.get(slug="überbetriebliche-kurse-lp-circle-fahrzeug")
|
||||||
|
)
|
||||||
|
|
||||||
|
csu.save()
|
||||||
|
|
|
||||||
|
|
@ -108,52 +108,45 @@ def create_or_update_course_session(
|
||||||
cs.import_id = import_id
|
cs.import_id = import_id
|
||||||
|
|
||||||
cs.save()
|
cs.save()
|
||||||
|
|
||||||
for circle in circles:
|
for circle in circles:
|
||||||
if language == "de":
|
if language == "de":
|
||||||
attendance_course_lp_qs = LearningContentAttendanceCourse.objects.filter(
|
attendance_course_lp_qs = LearningContentAttendanceCourse.objects.filter(
|
||||||
slug=f"{course.slug}-lp-circle-{circle.lower()}-lc-präsenzkurs-{circle.lower()}"
|
slug=f"{course.slug}-lp-circle-{circle.lower()}-lc-präsenzkurs-{circle.lower()}"
|
||||||
)
|
)
|
||||||
if attendance_course_lp_qs.exists():
|
add_attendance_course_date(cs, attendance_course_lp_qs, circle, data)
|
||||||
cs.attendance_courses.append(
|
|
||||||
{
|
|
||||||
"learningContentId": attendance_course_lp_qs.first().id,
|
|
||||||
"start": try_parse_datetime(data[f"{circle} Start"])[
|
|
||||||
1
|
|
||||||
].isoformat(),
|
|
||||||
"end": try_parse_datetime(data[f"{circle} Ende"])[
|
|
||||||
1
|
|
||||||
].isoformat(),
|
|
||||||
"location": data[f"{circle} Raum"],
|
|
||||||
"trainer": "",
|
|
||||||
}
|
|
||||||
)
|
|
||||||
cs.save()
|
|
||||||
elif language == "fr":
|
elif language == "fr":
|
||||||
# todo: this is a hack remove me
|
# todo: this is a hack remove me
|
||||||
print(f"{course.slug}-lp-circle-véhicule-lc-cours-de-présence-véhicule")
|
print(f"{course.slug}-lp-circle-véhicule-lc-cours-de-présence-véhicule")
|
||||||
attendance_course_lp_qs = LearningContentAttendanceCourse.objects.filter(
|
attendance_course_lp_qs = LearningContentAttendanceCourse.objects.filter(
|
||||||
slug=f"{course.slug}-lp-circle-véhicule-lc-cours-de-présence-véhicule-à-moteur"
|
slug=f"{course.slug}-lp-circle-véhicule-lc-cours-de-présence-véhicule-à-moteur"
|
||||||
)
|
)
|
||||||
if attendance_course_lp_qs.exists():
|
add_attendance_course_date(cs, attendance_course_lp_qs, circle, data)
|
||||||
cs.attendance_courses.append(
|
elif language == "it":
|
||||||
{
|
print(course.slug, f"{course.slug}-lp-circle-veicolo-lc-classi-di-frequenza-veicolo")
|
||||||
"learningContentId": attendance_course_lp_qs.first().id,
|
# todo: this is a hack remove me
|
||||||
"start": try_parse_datetime(data[f"{circle} Start"])[
|
attendance_course_lp_qs = LearningContentAttendanceCourse.objects.filter(
|
||||||
1
|
slug=f"{course.slug}-lp-circle-veicolo-lc-corso-di-presenza-veicolo"
|
||||||
].isoformat(),
|
)
|
||||||
"end": try_parse_datetime(data[f"{circle} Ende"])[
|
print(attendance_course_lp_qs)
|
||||||
1
|
add_attendance_course_date(cs, attendance_course_lp_qs, circle, data)
|
||||||
].isoformat(),
|
|
||||||
"location": data[f"{circle} Raum"],
|
|
||||||
"trainer": "",
|
|
||||||
}
|
|
||||||
)
|
|
||||||
cs.save()
|
|
||||||
|
|
||||||
return cs
|
return cs
|
||||||
|
|
||||||
|
|
||||||
|
def add_attendance_course_date(course_session, attendance_course_lp_qs, circle, data):
|
||||||
|
if attendance_course_lp_qs.exists():
|
||||||
|
course_session.attendance_courses.append(
|
||||||
|
{
|
||||||
|
"learningContentId": attendance_course_lp_qs.first().id,
|
||||||
|
"start": try_parse_datetime(data[f"{circle} Start"])[1].isoformat(),
|
||||||
|
"end": try_parse_datetime(data[f"{circle} Ende"])[1].isoformat(),
|
||||||
|
"location": data[f"{circle} Raum"],
|
||||||
|
"trainer": "",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
course_session.save()
|
||||||
|
|
||||||
|
|
||||||
def import_trainers_from_excel(course: Course, filename: str, language="de"):
|
def import_trainers_from_excel(course: Course, filename: str, language="de"):
|
||||||
workbook = load_workbook(filename=filename)
|
workbook = load_workbook(filename=filename)
|
||||||
sheet = workbook["Schulungen Trainer"]
|
sheet = workbook["Schulungen Trainer"]
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue