immersion : Immersion trainings

This document describes the lino_welfare.modlib.immersion plugin.

Side note: Code snippets (lines starting with >>>) in this document get tested as part of our development workflow. The following initialization snippet tells you which demo project is being used in this document.

>>> from lino import startup
>>> startup('lino_welfare.projects.mathieu.settings.demo')
>>> from lino.api.doctest import *

Configuration

A system administrator can select Configure ‣ Integration ‣ Immersion training types to configure the list of “immersion training types” (immersion.ContractType).

The default data for this table is generated by the std fixture:

>>> rt.show(immersion.ContractTypes)
... 
=========================== =========================== ===================== ===================== ================
 Désignation                 Désignation (de)            Désignation (en)      Régime d'évaluation   Modèle
--------------------------- --------------------------- --------------------- --------------------- ----------------
 MISIP                       MISIP                       MISIP                                       Default.odt
 Mise en situation interne   Mise en situation interne   Internal engagement                         Default.odt
 Stage d'immersion           Stage d'immersion           Immersion training                          StageForem.odt
=========================== =========================== ===================== ===================== ================

Demo data

Here is a list of the immersion contracts (lino_welfare.modlib.immersion.Contract) in the demo database.

>>> rt.show(immersion.Contracts)
... 
==== ========================== ======================== ================== ============ ================= ===========================
 ID   Bénéficiaire               Organisation             Début de contrat   Fin prévue   Titulaire (SI)    Type de stage d'immersion
---- -------------------------- ------------------------ ------------------ ------------ ----------------- ---------------------------
 1    ENGELS Edgar (129)         Belgisches Rotes Kreuz   10/11/2012         05/03/2014   Alicia Allmanns   MISIP
 2    ENGELS Edgar (129)         Rumma & Ko OÜ            06/03/2014         12/01/2015   Mélanie Mélard    Mise en situation interne
 3    LAMBERTZ Guido (142)       Bäckerei Ausdemwald      29/12/2012         23/04/2014   Alicia Allmanns   Stage d'immersion
 4    RADERMACHER Edgard (157)   Bäckerei Mießen          16/02/2013         11/06/2014   Alicia Allmanns   MISIP
 5    RADERMACHER Edgard (157)   Bäckerei Schmitz         12/06/2014         12/07/2014   Mélanie Mélard    Mise en situation interne
 6    RADERMACHER Edgard (157)   Belgisches Rotes Kreuz   13/07/2014         21/05/2015   Mélanie Mélard    Stage d'immersion
 7    RADERMECKER Rik (173)      Rumma & Ko OÜ            06/04/2013         12/02/2014   Caroline Carnol   MISIP
 8    RADERMECKER Rik (173)      Bäckerei Ausdemwald      13/02/2014         08/06/2015   Hubert Huppertz   Mise en situation interne
==== ========================== ======================== ================== ============ ================= ===========================

Immersion trainings with external partner

French-speaking PCSWs use a custom template imposed by FOREM when printing immersion trainings with an external partner.

>>> obj = immersion.Contract.objects.get(pk=3)
>>> print(str(obj.company))
Bäckerei Ausdemwald
>>> bm = printing.BuildMethods.appyodt
>>> ex = obj.printed_by
>>> print(ex.do_print.bound_action.action.get_print_templates(bm, ex)[0])
... 
StageForem.odt