copieur = PosteCopier(verbosity=verbosity, dry_run=dry_run)
return copieur.copy(self)
+ def dans_rh(self):
+ return self.id_rh or None
+
def importer_dans_rh(self):
- poste_rh = self.id_rh or rh.Poste()
+ poste_rh = self.dans_rh() or rh.Poste()
poste_rh.nom = self.nom
poste_rh.implantation = self.implantation
poste_rh.type_poste = self.type_poste
def __unicode__(self):
return u'%s %s' % (self.prenom, self.nom.upper())
+ def dans_rh(self):
+ return self.id_rh or None
+
def importer_dans_rh(self):
- return self.id_rh or rh.Employe.objects.create(
+ return self.dans_rh() or rh.Employe.objects.create(
nom=self.nom,
prenom=self.prenom,
genre=self.genre
copieur = DossierCopier(verbosity=verbosity, dry_run=dry_run)
return copieur.copy(self)
- def importer_dans_rh(self):
+ def dans_rh(self):
+ """
+ Retourne le dossier associé dans le système RH ou ``None`` s'il n'y
+ en a pas.
+ """
today = date.today()
- poste_rh = self.poste.importer_dans_rh()
- employe_rh = self.employe.importer_dans_rh()
+ poste_rh = self.poste.dans_rh()
+ if poste_rh is None:
+ return None
+ employe_rh = self.employe.dans_rh()
+ if employe_rh is None:
+ return None
try:
- dossier_rh = rh.Dossier.objects.get(
+ return rh.Dossier.objects.get(
Q(date_debut=None) | Q(date_debut__lte=today),
Q(date_fin=None) | Q(date_fin__gte=today),
poste=poste_rh,
employe=employe_rh
)
except rh.Dossier.DoesNotExist:
- dossier_rh = rh.Dossier(poste=poste_rh, employe=employe_rh)
+ return None
+
+ def importer_dans_rh(self):
+ poste_rh = self.poste.importer_dans_rh()
+ employe_rh = self.employe.importer_dans_rh()
+ dossier_rh = self.dans_rh() or \
+ rh.Dossier(poste=poste_rh, employe=employe_rh)
dossier_rh.statut = self.statut
dossier_rh.organisme_bstg = self.organisme_bstg
--- /dev/null
+{% extends 'base.html' %}
+
+{% block title %}RH - DAE - Importation{% endblock %}
+{% block titre %}Ressources humaines{% endblock %}
+{% block sous_titre %}Demande d'autorisation d'engagement{% endblock %}
+
+{% block main %}
+<h1 class="gauche">Importation d'une DAE</h1>
+
+<p>Vous vous apprêtez à importer le dossier <strong>{{ dossier }}</strong> dans
+le système RH.</p>
+
+<ul>
+ {% if dossier.employe.dans_rh %}
+ <li>L'employé <strong>{{ dossier.employe }}</strong> existe déjà dans le
+ système RH.</li>
+ {% else %}
+ <li>L'employé <strong>{{ dossier.employe }}</strong> n'existe pas dans le
+ système RH et sera donc créé.</li>
+ {% endif %}
+ {% if dossier.poste.dans_rh %}
+ <li>Le poste <strong>{{ dossier.poste }}</strong> existe déjà dans le système
+ RH et sera mis à jour.</li>
+ {% else %}
+ <li>Le poste <strong>{{ dossier.poste }}</strong> n'existe pas dans le
+ système RH et sera donc créé.</li>
+ {% endif %}
+ {% if dossier.dans_rh %}
+ <li>Le dossier <strong>{{ dossier }}</strong> existe déjà dans le système RH
+ et sera mis à jour.</li>
+ {% else %}
+ <li>Le dossier <strong>{{ dossier }}</strong> n'existe pas dans le système RH
+ et sera donc créé.</li>
+ {% endif %}
+</ul>
+
+<form method="post">
+ <input type="submit" name="confirmer" value="Continuer">
+ <input type="submit" value="Annuler">
+</form>
+{% endblock %}
@dossier_dans_ma_region_ou_service
def embauche_importer(request, dossier_id=None):
dossier_dae = get_object_or_404(dae.Dossier, id=dossier_id)
- dossier_rh = dossier_dae.importer_dans_rh()
- return redirect('admin:rh_dossier_change', dossier_rh.id)
+ if request.method == 'POST':
+ if 'confirmer' in request.POST:
+ dossier_rh = dossier_dae.importer_dans_rh()
+ return redirect('admin:rh_dossier_change', dossier_rh.id)
+ else:
+ return redirect('embauches_finalisees')
+ else:
+ return render_to_response('dae/embauche_importer.html', {
+ 'dossier': dossier_dae
+ }, RequestContext(request))
@dae_groupe_requis