Files
sirh/gestion_employe/__pycache__/views.cpython-310.pyc

126 lines
15 KiB
Plaintext
Raw Normal View History

o
[<5B><>j$U<00>@s<>ddlZddlmZmZddlmZddlmZddlmZddl m
Z
ddl m Z ddl mZdd lmZdd
lmZdd lmZmZdd lmZdd lmZddlmZmZmZddlmZm Z m!Z!m"Z"e
dd<12><00>Z#e
dd<14><00>Z$e
dd<16><00>Z%e
dd<18><00>Z&e
dd<1A><00>Z'dd<1C>Z(dd<1E>Z)dd <20>Z*d!d"<22>Z+d#d$<24>Z,e
d%d&<26><00>Z-e
d'd(<28><00>Z.e
d)d*<2A><00>Z/e
d+d,<2C><00>Z0d-d.<2E>Z1e
d/d0<64><00>Z2e
d1d2<EFBFBD><00>Z3dS)3<>N)<02>datetime<6D> timedelta)<01> relativedelta)<01>messages)<01> authenticate)<01>login_required)<01>User)<01>Sum)<01> model_to_dict)<01> JsonResponse)<02>redirect<63>render)<01>timezone)<01>fonctions_utilitaire<72>)<03>AffectationForm<72> ContratForm<72> FormationForm)<04> Affectation<6F>Contrat<61>Employe<79> Formationc Cs<>|jjjdd<02><01><03>std<03>Stj<06><07><00>d<04>}tj<06> <09>}t
2026-08-31 09:48:21 +00:00
jjdd<06><01> <09>}t
jjdd<06><01> <09>}t <0B> <0C><00> <0A>tdd <09>}t
jj|t <0B> <0C><00> <0A>d
d <0B><03> <09>}t|d |||||t<10>t<11>d <0A><07>S)z Vue d'index<65>ressource_humaine)<01>name<6D>gestion_employe:mon-profilz-user__date_joined<65>contrat_prestation)<01> type_contrat<61> contrat_stage<67><<00><01>days<79>actif<69><03> date_fin__lte<74> date_fin__gte<74>statut<75>gestion_employe/index.html)<07>employes<65>nombre_employes<65>
nombre_cps<EFBFBD> nombre_stage<67>nombre_expirants<74>affectation_form<72> contrat_form)<12>user<65>groups<70>filter<65>existsr r<00>objects<74>all<6C>order_by<62>countrr<00>now<6F>daterr rr)<07>requestr'r(r)r*<00> date_limiter+<00>r:<00>@/home/sorel/systeme_gestion_cerfig/sirh/gestion_employe/views.py<70>indexs.

<04><02><08>r<cCsHt<00><01><00><02>ttjd<01>}dd<03>tjj|t<00><01><00><02>dd<05>D<00>}t |dd<07>S)z Liste des contrats proches rc SsVg|]'}|jjj<02>d|jjj<03><00>ttj<06><01>|j<08>|j |j
|j |j r%|j j ndd<02><06>qS)<03> <20>)<06>employer<00>
date_debut<EFBFBD>date_finr%<00>fichier_contrat)r?r.<00>
first_name<EFBFBD> last_name<6D>dictr<00> TYPE_CONTRAT<41>getrr@rAr%rB<00>url<72><02>.0<EFBFBD>contratr:r:r;<00>
<listcomp>5s <18><04><06>z+liste_contrat_expirants.<locals>.<listcomp>r!r"F<><01>safe)
rr6r7rr<00>DUREE_FIN_CONTRATrr2r0r )r8r9<00>contats_expirantsr:r:r;<00>liste_contrat_expirants0s

2026-08-31 09:48:21 +00:00
<06> rQc Cs(|jdk<02>r|j<01>d<02>}z tjj|d<03>}Wntjy)t<06>|d<04>td<05>YSwt |j<01>}|<03>
<EFBFBD><00>r|j d}|j d}|j d}|j d }|r<>|r<>t jj |d
<EFBFBD>jtd<08>d <0B>d p\d }||krkt<06>|d<0E>td<05>S||jkr<>t<06>|d|<05>d|j<11>d<11><05>td<05>S||dkr<>t<06>|d|jj<13>d|jj<14>d||<00>d<16><07>td<05>St jj|||j d ||j d|d<18>d<19>t<06>|d|jj<13>d|jj<14>d|j<17>d<1C><07>tjdd|jj<13>d|jj<14>d|j<17><1A><00>d |j d <00>d!<21><01>d"|<05>d!<21><01>d#tt j<1D><01>|j d<00><01>d$<24> |jjgd%<25>td<05>St<06>|d&<26>td<05>Std<05>S)'u[Vue pour affecter un employé à un projet avec vérification des contraintes d'affectation<6F>POST<53>affecter_employe_id<69><01>idu#L'employé spécifié n'existe pas.<2E>gestion_employe:index<65>projet<65>date_fin_daffectation<6F>pourcentage_temps_affectation<6F>date_affectation<6F>r?)<01>total_pourcentage_affectationr\ruPLa date de fin d'affectation ne peut pas être antérieure à la date de début.z!La date de fin de l'affectation (u2) ne peut pas dépasser la date de fin du projet (z).<2E>du-Les pourcentages d'affectation de l'employé r=u, dépasse 100% sur les différents projets (z%).<2E>role<6C>rZrXr^rY)r?rW<00>defaultsu L'employé u a été affecté au projet <20>.uAffectation à un projetzBonjour u%, vous avez été affecté au projet u pour la période du z%d/%m/%Yz au z en tant que u9.
Veuillez consulter votre profil pour plus de détails.)<03>sujet<65>message<67> destinataireszErreur : Formulaire non valide.)<1F>methodrRrGrr2<00> DoesNotExistr<00>errorr r<00>is_valid<69> cleaned_datarr0<00> aggregater <00>warningrAr.rCrD<00>update_or_create<74>success<73>
nom_projetr<00> envoyer_mail<69>upper<65>strftimerE<00> ROLE_CHOICES<45>email) r8<00>
employe_idr?<00>formrW<00>date_fin_affectation<6F> temps_nouveaurZ<00>total_affectationr:r:r;<00>affecter_employe_projetDsj    <02>
2026-05-07 11:22:14 +00:00





 <04><04><02> 
2026-08-31 09:48:21 +00:00
 "<04><04><06>*
Z<06> ryc Csz
tjj|jd<01>}Wntjyt<05>|d<02>td<03>YSwtjj |dd<05><02>
<EFBFBD>}t jj |t <0C> <0A><00><0E>d<06><02>d<07>}|du}d }d}|rL|j}|}|tjk}t|d
||rtit|<02><01>ttj<16><01>|j<17>ttj<18><01>|j<19>|jrn|jjnd d <0C><03>gngd d<0E>|D<00>t<1C>|||d<0F><07>S)uBVue pour afficher et modifier le profil de l'utilisateur connecté<74><01>user__usernameu<65>Impossible d'acceder au menu 'Mon profil' car votre profil Utilisateur n'est lié à aucun profil Employé. Veuillez contacter l'Administrateur.zgestion_conges:conger!<00>r?r%<00>r?<00>date_fin_daffectation__gterWNFzgestion_employe/monprofil.htmlr>)rr%rBcSs<g|]}it|j<01><01>|j|jttj<06><01>|j<08>|j d<00><04><01>qS)r_)
r
rWrZrXrErrrrGr^rY<00>rJ<00>ar:r:r;rL<00>s<02><02><06><06>zmon_profil.<locals>.<listcomp>)r?<00>contrats<74>projets<74>formation_form<72> has_contrat<61>expiration_contrat<61>contrat_nb_jours_restant)rr2rGr.rfrrgr rr0<00>firstrrr6r7<00>select_related<65>nombre_jours_restantrrOr r
rErFr<00>STATUT_CONTRATr%rBrHr)r8r?r<>r<>r<>r<>r<><00>nb_joursr:r:r;<00>
mon_profil<EFBFBD>sZ<04> <02>
<04><02>
<04><02>
<EFBFBD><04>
<04><04>r<EFBFBD>cCs<>tjj|jd<01>}|jdkrM|jd}|jd}|jd}t||j|d<06>dur0t<07>|d<08>t d <0B>S||kr>t<07>|d <09>t d <0B>S|<01> |<03>|<01>
<EFBFBD>t<07> |d
2026-08-31 09:48:21 +00:00
<EFBFBD>t d <0B>S) u_Vue pour permettre à un utilisateur de modifier son mot de passe et ses informations de profil<69><01>usernamerRz
ancien-mdpz nouveau-mdpzconfirmation-mdp)r<><00>passwordNzAncien mot de passe incorrect.z'Les deux nouveaux ne correspondent pas.u#Mot de passe modifié avec succès.r) rr2rGr.rerRrrrg<00> set_password<72>savermr )r8r.<00>
ancien_mdp<EFBFBD> nouveau_mdp<64>confirmation_mdpr:r:r;<00>modifier_mot_passe<73>s



 <08> 
<EFBFBD> r<>cCs&z
2026-07-14 09:03:28 +00:00
tjj|jd<01>}Wntjytddi<01>YSw|jdkr<>tjj|jd<05>}|jd|_ |jd|_
|jd|_ |jd |_ |jd
|_ |jd |_|j<0F>d <0C>rX|jd |_|jd r<>tt<12><13><00><14>t<15>|jd d<0E><02><14><00>}|jdkr{|jd |_nt<19>|d<10>|<01><1B>|<02><1B>t<19>|d<11>td<12>S)uOVue pour permettre à un utilisateur de modifier les informations d'un employérzrc<00>Employé non trouvé.rRr<><00>nom<6F>prenomrs<00> telephone<6E>adresse<73>sexe<78>photo<74>date_naissance<63>%Y-%m-%d<>z/Veuillez entrez une date de naissance correcte.u Profil mis à jour avec succès.r)rr2rGr.rfr rerrRrDrCrsr<>r<>r<><00>FILESr<53>rrr6r7r<00>strptime<6D>yearsr<73>rrgr<>rmr )r8r?r.<00>
differencer:r:r;<00>modifier_employer<65>s0<02>
2026-07-14 09:03:28 +00:00
        
$
  r<>cCs<>tjj|jd<01>}|jdkrO|j<05>d<03>r|jd|_d|jvr$|jd|_d|jvr/|jd|_d|jvr:|jd|_ d|jvrE|jd|_
|<01> <0B>t <0C> |d<08>td <09>S)
ufVue pour permettre à un utilisateur de télécharger et enregistrer des documents liés à son profil)r.rRr<><00>cv<63>diplome<6D>rib<69>casier_judiciaireu$Documents enregistrés avec succès.r)rr2rGr.rer<>r<><00>CVr<56>r<>r<>r<>rrmr )r8r?r:r:r;<00>enregistrement_document<6E>s
  
 
 
 
  r<>cCsht<00>|j<02>d}z tjj|d<02>}Wntjy)t<07>|d<03>t ddidd<06>YSw|<02>
<EFBFBD>t ddi<01>S)u<Vue pour permettre à un utilisateur de supprimer un contratrU)<01>numero_contratuContrat non trouvé.rc<00><><00><01>statusuContrat supprimé avec succès.) <0B>json<6F>loads<64>bodyrr2rGrfrrgr <00>delete)r8<00>
id_contratrKr:r:r;<00>suppression_contrat<61>s <02> r<>cCs\t<00>|j<02>d}z tjj|d<02>}Wntjy#tddidd<06>YSw|<02><08>tddi<01>S)uAVue pour permettre à un utilisateur de supprimer une affectationrUrTrcuAffectation non trouvée.r<>r<>u$Affectation supprimée avec succès.) r<>r<>r<>rr2rGrfr r<>)r8<00>id_affectation<6F> affectationr:r:r;<00>suppression_affectation
s<02> r<>cCs<>z tjj|j<03>d<01>d<02>}Wntjy!t<05>|d<03>td<04>YSwtjj |t
j <0B> <0C>d<05><02> <0A>}|jdkri|r@t<05>|d<07>td<08>St|j|j<10>}|<03><11>rb|jd d
<EFBFBD>}||_|<04><12>t<05>|d <0B>td<08>St<05>|d <0C>ntd |id<0E>}t|dd|i<01>S)uPCréer un contrat pour un employé (avec contrôle d'existence de contrat actif)rtrTr<>z employe-index)r?r$rRuIImpossible de créer un contrat : cet employé a déjà un contrat actif.rVF<><01>commituContrat créé avec succès.zFormulaire non valider?)<01>initialr&r-)rr2rGrRrfrrgr rr0rr7<00>todayr1rerr<>rhr<>r?rmr )r8r?<00> contrat_actifrurKr:r:r;<00>creation_contrats>  <02><04><02>
<04>  <06>r<EFBFBD>cCsnz tjj|d<01>}Wntjytddidd<05>YSwtjj|d<06><01>d<07>}dd <09>|D<00>}t|j<08> <09>|d
<EFBFBD><02>S) NrTrguEmployé non trouvér<C3A9>r<>r[z -date_debutc Sslg|]2}|j|jttj<04><01>|j<06>|j<07>d<00>|j r|j <09>d<00>nd|j
ttj <0B><01>|j <0C>|j r0|j jndd<02><08>qS)r<>r>)rUr<>rr@rA<00>salaire_mensuelr%<00>fichier)rUr<>rErrFrGrr@rqrAr<>r<>r%rBrHrIr:r:r;rLJs <04>
<02>

<02><04><06>z$contrats_employe.<locals>.<listcomp>)r?r<>)
rr2rGrfr rr0r4r.<00> get_full_name)r8rtr?r<><00>datar:r:r;<00>contrats_employe;s(
<EFBFBD><02><04><02><06><08>r<EFBFBD>cCs<>|jdkrBt<01>|j<03>}z tjj|dd<03>}Wntjy(tddidd<07>YSw|d|_ |d |_
|d
|_ |<02> <0C>td d i<01>Std d idd<07>S)uaVue pour permettre à un utilisateur de modifier les détails d'un employé via une requête AJAXrRrUrTrgr<>r<>r<><00>fonction<6F> date_embauche<68> matriculercu0Détails de l'employé mis à jour avec succès.uMéthode non autorisée.i<>) rer<>r<>r<>rr2rGrfr r<>r<>r<>r<>)r8r<>r?r:r:r;<00>enregistrer_detail_employeas
 <02>


 r<>cCs<>tjjddd<02>}g}|D]<5D>}|jjdkr<>|jjdkr<>d<04>dd<06>tjj|t <09>
<EFBFBD><00> <0B>d<07>D<00><01>g}dd<06>t jj|d <09>D<00>}d
d<06>t jj|d d <0C>D<00>}d d<06>tjj|t <09>
<EFBFBD><00> <0B>d<07>D<00>}|<02>id|j<0F>d|jj<04>d|jj<05><00><03>d|j<10>d|jj<11>d|<05>d|<07>d|<04>d|<06>d|jr<>|jjnd<01>d|j<14>d|j<15>d|j<16>d|j<17>d|j<18>d|jr<>|jjnd<01>d|jr<>|jjnd<01>d|jr<>|jjnd<01>|jr<>|jjnd|jr<>|jjnd|jd<1F><03><01>q t d |d!<21>d"d#<23>S)$u3 Vue pour retourner la liste de tous les employés r>)<02>user__first_name<6D>user__last_namer=z, cSsg|]}|jj<01>qSr:)rWrnrr:r:r;rL}s<06>z!liste_employe.<locals>.<listcomp>r}c Ss6g|]}|j|j|j|j|j|jr|jjndd<01><06>qS)r>)<06>titre<72> organisme<6D> description<6F>date_obtentionrA<00>
certificat)r<>r<>r<>r<>rAr<>rH<00>rJ<00> formationr:r:r;rL<00>s<04><04><06>r[c
Ss:g|]}|j|j|j|j|j|j|jr|jjndd<01><07>qS)r>)r<>rr@rAr<>r%rB)r<>rr@rAr<>r%rBrHrIr:r:r;rL<00>s <04><04><06>r!r|cSs$g|]}it|<01><01>d|jji<01><01>qS)rW)r
rWrn)rJr<>r:r:r;rL<00>s<16><06>rUr?r<>rs<00>
formations<EFBFBD> affectationsrWr<><00> departementr<74>r<>r<>r<>r<>r<>r<>r<>)r<>r<>r<>T)rmr<>FrM)!rr2<00>excluder.rCrD<00>joinrr0rr6r7rr<00>appendrUr<>rsr<>r<>r<>r<>r<>r<>r<>r<>rHr<>r<>r<>r<>r<>r )r8r'r<>r?r<>r<>r<>r<>r:r:r;<00> liste_employets<>

<04><06><04> <06>  <06> 
<04><06><02><02><02><02><02><02><02><02> <02>
<02> <02> <02> <02><02><02><02><02><06><04><02>r<>cCsrtjj|jd<01>}|jdkr5t|j|j<07>}|<02><08>r/|j dd<04>}||_
|<03> <09>t <0B> |d<05>t d<06>St <0B>|d<07>t d<06>S)uGVue pour permettre à un employé d'ajouter une formation à son profilrzrRFr<46>u Formation ajoutée avec succès r<00>CFormulaire non valide. Veuillez vérifier les informations saisies.)rr2rGr.rerrRr<>rhr<>r?rrmr rg)r8r?r<><00> ma_formationr:r:r;<00>ajouter_formation<6F>s
   r<>cCs,tjj|jd<01><01>d<02>}tdd<04>|D<00>dd<06>S)N)<01>employe__user__usernamez-date_obtentioncSs.g|]}it|<01><01>d|jr|jjndi<01><01>qS)r<>r>)r
r<>rHr<>r:r:r;rL<00>s<02><02><04><06>z#liste_formation.<locals>.<listcomp>FrM)rr2r0r.r4r )r8r<>r:r:r;<00>liste_formation<6F>s <04><06>r<EFBFBD>cCs<>z tjj||jd<01>}Wntjyt<05>|d<02>td<03>YSw|jdkrBt |j
|j |d<05>}|<02> <0C>r<t<05> |d<06>|<02><0E>t<05>|d<07>td<03>S)uIVue pour permettre à un employé de modifier une formation de son profil<69>rUr'<00>Formation non trouvée.<2E>mes_formationsrR)<01>instanceuFormation mise à jour r<>)rr2rGr.rfrrgr rerrRr<>rhrmr<><00>r8<00> id_formationr<6E>r:r:r;<00>modifier_formation<6F>s  <02>
  r<>cCsfz tjj||jd<01>}Wntjyt<05>|d<02>td<03>YSw|jdkr/|<02> <09>t<05>
|d<05>td<03>S)uJVue pour permettre à un employé de supprimer une formation de son profilr<6C>r<>r<>rRuFormation supprimée ) rr2rGr.rfrrgr rer<>rmr<>r:r:r;<00>supprimer_formation<6F>s  <02>
 r<>)4r<34>rr<00>dateutil.relativedeltar<00>django.contribr<00>django.contrib.authr<00>django.contrib.auth.decoratorsr<00>django.contrib.auth.modelsr<00>django.db.modelsr <00>django.forms.modelsr
<00> django.httpr <00>django.shortcutsr r <00> django.utilsr<00>fonction_utilitairer<00>formsrrr<00>modelsrrrrr<rQryr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r:r:r:r;<00><module>sV          
2026-08-31 09:48:21 +00:00


2026-05-07 11:22:14 +00:00
=
8
  &
%

H