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

114 lines
27 KiB
Plaintext
Raw Normal View History

2026-04-27 14:27:07 +02:00
<EFBFBD>
c*<2A>i3U<00><00><><00>ddlZddlmZmZmZddlmZddlmZddlm Z ddl
m Z ddl m Z ddlmZmZmZdd lmZdd
lmZdd lmZdd lmZd dlmZmZmZmZd dlm Z m!Z!m"Z"ddl#m$Z$ed<11><00>Z%ed<12><00>Z&ed<13><00>Z'ed<14><00>Z(ed<15><00>Z)d<16>Z*d<17>Z+d<18>Z,d<19>Z-d<1A>Z.ed<1B><00>Z/ed<1C><00>Z0ed<1D><00>Z1ed<1E><00>Z2d<1F>Z3ed <20><00>Z4ed!<21><00>Z5y)"<22>N)<03>date<74> timedelta<74>datetime)<01> relativedelta)<01>timezone)<01>messages)<01>User)<01> authenticate)<03>get_object_or_404<30>render<65>redirect)<01>login_required)<01> JsonResponse)<01> model_to_dict)<01>Sum<75>)<04>Employe<79>Contrat<61> Affectation<6F> Formation)<03>AffectationForm<72> ContratForm<72> FormationForm)<01>fonctions_utilitairec <00><><00>tjj<00>jd<01>}tjj <00>}t
jj d<02><03>j <00>}t
jj d<04><03>j <00>}tj<00>j<00>td<05><06>z}t
jj |tj<00>j<00>d<07><08>j <00>}t|d |||||t<00>t<00>d
<EFBFBD><07>S) z Vue d'indexz-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)r<00>objects<74>all<6C>order_by<62>countr<00>filterr<00>nowrrr rr)<07>requestr(r)r*r+<00> date_limiter,s <20>*/home/fatima/sirh/gestion_employe/views.py<70>indexr8s<00><00><17><EFBFBD><EFBFBD>"<22>"<22>$<24>-<2D>-<2D>.B<>C<>H<EFBFBD><1D>o<EFBFBD>o<EFBFBD>+<2B>+<2B>-<2D>O<EFBFBD><18><1F><1F>'<27>'<27>5I<35>'<27>J<>P<>P<>R<>J<EFBFBD><1A>?<3F>?<3F>)<29>)<29><EFBFBD>)<29>G<>M<>M<>O<>L<EFBFBD><1A>,<2C>,<2C>.<2E>%<25>%<25>'<27>)<29><12>*<<3C><<3C>K<EFBFBD><1E><EFBFBD><EFBFBD>-<2D>-<2D>!<21><1E>l<EFBFBD>l<EFBFBD>n<EFBFBD>)<29>)<29>+<2B><16>.<2E><06> <0C>e<EFBFBD>g<EFBFBD> <15> <12>'<27>7<><1C>*<2A> <20>$<24>,<2C>+<2B>-<2D>#<23> <0A>:<06> <07><07>c
<00><><00>tj<00>j<00>ttj
<00><01>z}t jj|tj<00>j<00>d<02><03>D<00>cgc]<5D>}|jjj<00>d|jjj<00><00>tt j<00>j|j <00>|j"|j$|j&|j(r|j(j*ndd<06><06><02><>}}t-|d<07><08>Scc}w) z Liste des contrats proches r r"r#<00> <20>)<06>employer<00>
date_debut<EFBFBD>date_finr&<00>fichier_contratF<74><01>safe)rr4rrr<00>DUREE_FIN_CONTRATrr/r3r=<00>user<65>
first_name<EFBFBD> last_name<6D>dict<63> TYPE_CONTRAT<41>getrr>r?r&r@<00>urlr)r5r6<00>contrat<61>contats_expirantss r7<00>liste_contrat_expirantsrM,s
<00><00><1B>,<2C>,<2C>.<2E>%<25>%<25>'<27>)<29>;O<>;a<>;a<>*b<>b<>K<EFBFBD> <10><0F><0F><1E><1E>[<5B><08> <0C> <0C><0E>H[<5B>H[<5B>H]<5D>fm<66><1E>n<> <06> <14>"<22>/<2F>/<2F>.<2E>.<2E>9<>9<>:<3A>!<21>G<EFBFBD>O<EFBFBD>O<EFBFBD><P<><P<><Z<><Z<>;[<5B>\<5C> <20><17>!5<>!5<>6<>:<3A>:<3A>7<EFBFBD>;O<>;O<>P<>!<21>,<2C>,<2C><1F>(<28>(<28><1D>n<EFBFBD>n<EFBFBD>>E<>>U<>>U<>w<EFBFBD>6<>6<>:<3A>:<3A>[]<5D> 
<EFBFBD> <06><15> <06> <18>)<29><05> 6<>6<><36> s<00>CEc
<00>P<00>|jdk(<00>rR|jjd<02>} tjj|<01><03>}t|j<00>}|j<00><00>r<>|jd}|jd}|jd}|jd }|r<>|r<>tjj|<02>
<EFBFBD>jtd<08><00> <0B>d xsd }||kr!t j |d<0E>td<05>S||j"kDr2t j |d|<05>d|j"<00>d<11><05>td<05>S||zdkDrBt j |d|j$<00>d|j&<00>d||z<00>d<16><07>td<05>Stjj)|||jd ||jd|d<18><04><19>t j*|d|j,j$<00>d|j,j&<00>d|j.<00>d<1C><07>td<05>St j|d<1D>td<05>Std<05>S#tj
$r$t j|d<04>td<05>cYSwxYw)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_affectationrYruPLa 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>rWrUr[rV)r=rT<00>defaultsu L'employé u a été affecté au projet <20>.zErreur : Formulaire non valide.)<18>methodrOrIrr/<00> DoesNotExistr<00>errorr r<00>is_valid<69> cleaned_datarr3<00> aggregater<00>warningr?rErF<00>update_or_create<74>successrD<00>
nom_projet) r5<00>
employe_idr=<00>formrT<00>date_fin_affectation<6F> temps_nouveaurW<00>total_affectations r7<00>affecter_employe_projetrn@s<><00><00><0F>~<7E>~<7E><16><1F><1C>\<5C>\<5C>%<25>%<25>&;<3B><<3C>
<EFBFBD> 5<><1D>o<EFBFBD>o<EFBFBD>)<29>)<29>Z<EFBFBD>)<29>8<>G<EFBFBD>
<1F>w<EFBFBD>|<7C>|<7C>,<2C><04> <0F>=<3D>=<3D>?<3F><19>&<26>&<26>x<EFBFBD>0<>F<EFBFBD>#'<27>#4<>#4<>5L<35>#M<> <20> <20>-<2D>-<2D>.M<>N<>M<EFBFBD>#<23>0<>0<>1C<31>D<> <1C>$<24>)9<><1F>'<27>'<27>.<2E>.<2E>w<EFBFBD>.<2E>?<3F><1E>Y<EFBFBD>s<EFBFBD>Cb<43>?c<>Y<EFBFBD>d<>4<>6<>;<3B>9:<3A>"<22>
)<29>+;<3B>;<3B><1C>$<24>$<24>W<EFBFBD>/A<02>B<02>#<23>$;<3B><<3C><<3C>)<29>F<EFBFBD>O<EFBFBD>O<EFBFBD>;<3B><1C>$<24>$<24>W<EFBFBD>0Q<30>Rf<52>Qg<51>hZ<02>[a<02>[j<02>[j<02>Zk<02>km<02>/n<02>o<02>#<23>$;<3B><<3C><<3C>&<26><1D>6<><13><<3C><1C>$<24>$<24><1F>G<><07>HZ<48>HZ<48>G[<5B>[\<5C>]d<>]n<>]n<>\o<>p\<02>]n<02>q~<02>]~<02>\<02>B<03>C<03><16>$<24>$;<3B><<3C><<3C> <17> <1F> <1F> 0<> 0<><1F><1D>(,<2C>(9<>(9<>:L<>(M<>-A<> <20>-<2D>-<2D>f<EFBFBD>5<>5B<35> <12> 1<> <0E> <15> <1C> <1C>W<EFBFBD> <0B>G<EFBFBD>L<EFBFBD>L<EFBFBD>4K<34>4K<34>3L<33>A<EFBFBD>g<EFBFBD>l<EFBFBD>l<EFBFBD>Nd<4E>Nd<4E>Me<4D>fB<02>CI<02>CT<02>CT<02>BU<02>UV<02>'W<02> X<02><1B>3<>4<> 4<> <14>N<EFBFBD>N<EFBFBD>7<EFBFBD>$E<> F<><1B>3<>4<> 4<><17>/<2F>0<>0<><30>]<17>#<23>#<23> 5<> <14>N<EFBFBD>N<EFBFBD>7<EFBFBD>$I<> J<><1B>3<>4<> 4<> 5<>s<00> I.<00>.4J%<03>$J%c<00><><00> tjj|j<00><01>}tjj|d<04><05>j<00>}tjj|tj<00>j<00><00><06>jd<07>}t!|d||r<>it#|<02><00>t%tj&<00>j|j(<00>t%tj*<00>j|j,<00>|j.r|j.j0nd d
<EFBFBD><03>ngg|D<00>cgc]n}it#|j2<00><00>|j4|j6t%tj8<00>j|j:<00>|j<d <0B><04><01><02>pc}t?<00>|r|j@tBjDknd |r|j@d<0E><06>Sd d<0E><06>S#tj$r$t j |d<02>td<03>cYSwxYwcc}w)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__gterTzgestion_employe/monprofil.htmlr<)rr&r@r\FN)r=<00>contrats<74>projets<74>formation_form<72>expiration_contrat<61>contrat_nb_jours_restant)#rr/rIrDr`rrar rr3<00>firstrrr4r<00>select_relatedr rrGrHr<00>STATUT_CONTRATr&r@rJrTrWrU<00> ROLE_CHOICESr[rVr<00>nombre_jours_restantrrC)r5r=rurv<00>as r7<00>
mon_profilr<EFBFBD>ws<00><00>0<><19>/<2F>/<2F>%<25>%<25>W<EFBFBD>\<5C>\<5C>%<25>B<><07><17><EFBFBD><EFBFBD>%<25>%<25>g<EFBFBD>g<EFBFBD>%<25>F<>L<>L<>N<>H<EFBFBD><19>!<21>!<21>(<28>(<28><19>%-<2D>\<5C>\<5C>^<5E>%8<>%8<>%:<3A>)<29><06><15>n<EFBFBD>X<EFBFBD><1E> <0C>
<12><0F>(<28><1E><1A> <0E><1F><08>)<29><0E> $<24>W<EFBFBD>%9<>%9<> :<3A> ><3E> ><3E>x<EFBFBD>?T<>?T<> U<><1E>w<EFBFBD>5<>5<>6<>:<3A>:<3A>8<EFBFBD>?<3F>?<3F>K<>CK<43>C[<5B>C[<5B>8<EFBFBD>#;<3B>#;<3B>#?<3F>#?<3F>ac<61> <0E> "<22> #<23>#<23><0E><18> <12>#<23>A<EFBFBD>H<EFBFBD>H<EFBFBD>-<2D><12>()<29>(:<3A>(:<3A>-.<2E>-D<>-D<> <20><1B>!9<>!9<>:<3A>><3E>><3E>q<EFBFBD>v<EFBFBD>v<EFBFBD>F<>56<35>5T<35>5T<35> <12><0E>,<2C>o<EFBFBD>mu<6D>(<28>"?<3F>"?<3F>CW<43>Ci<43>Ci<43>"i<>|A<02>IQ<49><08>(E<>(E<>)
<EFBFBD> <06><06>.X\<01>)
<EFBFBD> <06><06><> <13> <1F> <1F>0<><10><0E><0E>w<EFBFBD>!s<02> t<02><17>.<2E>/<2F>/<2F>0<><30>,s<00>*H
<00>A3I<10>
4I<03>Ic<00><00>tjj|j<00><01>}|jdk(r<>|j
d}|j
d}|j
d}t ||j|<02><06><00>!tj|d<07>td
<EFBFBD>S||k7r!tj|d<08>td
<EFBFBD>S|j|<03>|j<00>tj|d <09>td
<EFBFBD>S) u_Vue pour permettre à un utilisateur de modifier son mot de passe et ses informations de profil<69><01>usernamerOz
ancien-mdpz nouveau-mdpzconfirmation-mdp)r<><00>passwordzAncien mot de passe incorrect.z'Les deux nouveaux ne correspondent pas.u#Mot de passe modifié avec succès.<2E>gestion_employe:mon-profil) r r/rIrDr_rOr
rra<00> set_password<72>savergr )r5rD<00>
ancien_mdp<EFBFBD> nouveau_mdp<64>confirmation_mdps r7<00>modifier_mot_passer<65><00>s<><00><00> <10><<3C><<3C> <1B> <1B>W<EFBFBD>\<5C>\<5C> <1B> 2<>D<EFBFBD><0E>~<7E>~<7E><16><1F><1C>\<5C>\<5C>,<2C>/<2F>
<EFBFBD><1D>l<EFBFBD>l<EFBFBD>=<3D>1<> <0B>"<22><<3C><<3C>(:<3A>;<3B><18> <17><07>'<27>,<2C>,<2C><1A> L<> T<> <14>N<EFBFBD>N<EFBFBD>7<EFBFBD>$D<> E<> <14>0<> 1<>1<><19>,<2C> ,<2C> <14>N<EFBFBD>N<EFBFBD>7<EFBFBD>$M<> N<> <14>0<> 1<>1<> <11> <1D> <1D>k<EFBFBD> *<2A> <10>I<EFBFBD>I<EFBFBD>K<EFBFBD> <14> <1C> <1C>W<EFBFBD>&K<> L<> <13>0<> 1<>1r9c<00><><00> tjj|j<00><01>}|j dk(<00>r^tj|j<00>}tjj|j<00><05>}|d|_ |d|_ |d|_ |d |_|d
|_|d |_|j"jd <0C>r|j"d |_|d rxt't)j*<00>j-<00>t/j0|d d<0E>j-<00><00>}|j2dk\r |d |_n t ddi<01>S|j7<00>|j7<00>t ddi<01>Sy#tj$rt ddi<01>cYSwxYw)uOVue pour permettre à un utilisateur de modifier les informations d'un employérp<00>message<67>Employé non trouvé.rOr<><00>nom<6F>prenom<6F>email<69> telephone<6E>adresse<73>sexe<78>photo<74>date_naissancez%Y-%m-%d<>z/Veuillez entrez une date de naissance correcte.u Profil mis à jour avec succès.N)rr/rIrDr`rr_<00>json<6F>loads<64>bodyr rFrEr<>r<>r<>r<><00>FILESr<53>rrr4rr<00>strptime<6D>yearsr<73>r<>)r5r=<00>datarD<00>
differences r7<00>modifier_employerr<72><00>s<><00><00>B<01><19>/<2F>/<2F>%<25>%<25>W<EFBFBD>\<5C>\<5C>%<25>B<><07><0F>~<7E>~<7E><16><1F><13>z<EFBFBD>z<EFBFBD>'<27>,<2C>,<2C>'<27><04><13>|<7C>|<7C><1F><1F><17><1C><1C><1F>6<><04><1D>e<EFBFBD><1B><04><0E><1E>x<EFBFBD>.<2E><04><0F><19>'<27>]<5D><04>
<EFBFBD> <20><1B>-<2D><07><19><1E>y<EFBFBD>/<2F><07><0F><1B>F<EFBFBD>|<7C><07> <0C> <12>=<3D>=<3D> <1C> <1C>W<EFBFBD> %<25>#<23>M<EFBFBD>M<EFBFBD>'<27>2<>G<EFBFBD>M<EFBFBD> <0F> <20> !<21>&<26>x<EFBFBD>|<7C>|<7C>~<7E>':<3A>':<3A>'<<3C>h<EFBFBD>>O<>>O<>PT<50>Ue<55>Pf<50>hr<68>>s<>>x<>>x<>>z<>{<7B>J<EFBFBD><19><1F><1F>2<EFBFBD>%<25>)-<2D>.><3E>)?<3F><07>&<26>#<23>Y<EFBFBD>0a<30>$b<>c<>c<><0F> <0C> <0C><0E> <0C> <09> <09> <0B><1B>Y<EFBFBD>(J<>K<>L<>L<>' <20><> <13> <1F> <1F>B<01><1B>Y<EFBFBD>(?<3F>@<40>A<>A<>B<01>s<00>*F<00> F><03>=F>c<00>D<00>tjj|j<00><01>}|jdk(r<>|j
jd<03>r|j
d|_d|j
vr|j
d|_d|j
vr|j
d|_d|j
vr|j
d|_ d|j
vr|j
d|_
|j<00>tj|d<08>td <09>S)
N)rDrOr<><00>cv<63>diplome<6D>rib<69>casier_judiciaireu$Documents enregistrés avec succès.r<>)rr/rIrDr_r<>r<><00>CVr<56>r<>r<>r<>rrgr )r5r=s r7<00>enregistrement_documentr<74><00>s<><00><00><15>o<EFBFBD>o<EFBFBD>!<21>!<21>w<EFBFBD>|<7C>|<7C>!<21>4<>G<EFBFBD><0E>~<7E>~<7E><16><1F> <12>=<3D>=<3D> <1C> <1C>W<EFBFBD> %<25>g<EFBFBD>m<EFBFBD>m<EFBFBD>G<EFBFBD>6L<36>g<EFBFBD>m<EFBFBD> <0F>7<EFBFBD>=<3D>=<3D> <20>g<EFBFBD>m<EFBFBD>m<EFBFBD>D<EFBFBD>.A<><17><1A> <14><07> <0A> <0A> %<25><17><1D><1D>y<EFBFBD>9Q<39>w<EFBFBD><EFBFBD> <10>G<EFBFBD>M<EFBFBD>M<EFBFBD> !<21><17><1D><1D>u<EFBFBD>1E<31>7<EFBFBD>;<3B> <1E>'<27>-<2D>-<2D> /<2F>G<EFBFBD>M<EFBFBD>M<EFBFBD>Zm<5A>Ln<4C><07>0I<30><0F> <0C> <0C><0E><10><18><18><17>"H<>I<> <13>0<> 1<>1r9c<00>><00>tj|j<00>d} tjj |<01><02>}|j<00>tddi<01>S#tj $r(tj|d<03>tddid<05><06>cYSwxYw)u<Vue pour permettre à un utilisateur de supprimer un contratrR<00><01>numero_contrat<61>Contrat non trouvé.r<><00><><00><01>statusuContrat supprimé avec succès.) r<>r<>r<>rr/rIr`rrar<00>delete)r5<00>
id_contratrKs r7<00>suppression_contratr<74><00>s<><00><00><15><1A><1A>G<EFBFBD>L<EFBFBD>L<EFBFBD>)<29>$<24>/<2F>J<EFBFBD>M<01><19>/<2F>/<2F>%<25>%<25>z<EFBFBD>%<25>B<><07>
 <0C>N<EFBFBD>N<EFBFBD><14> <17><19>$E<>F<> G<>G<><47> <13> <1F> <1F>M<01><10><0E><0E>w<EFBFBD> 6<>7<><1B>Y<EFBFBD>(><3E>?<3F><03>L<>L<>M<01>s<00> A!<00>!8B<03>Bc<00><00>tj|j<00>d} tjj |<01><02>}|j<00>tddi<01>S#tj $rtddid<05><06>cYSwxYw)uAVue pour permettre à un utilisateur de supprimer une affectationrRrQr<>uAffectation non trouvée.r<>r<>u$Affectation supprimée avec succès.) r<>r<>r<>rr/rIr`rr<>)r5<00>id_affectation<6F> affectations r7<00>suppression_affectationr<6E><00>s<><00><00><19>Z<EFBFBD>Z<EFBFBD><07> <0C> <0C>-<2D>d<EFBFBD>3<>N<EFBFBD>R<01>!<21>)<29>)<29>-<2D>-<2D><1E>-<2D>@<40> <0B><10><16><16><18> <17><19>$J<>K<> L<>L<><4C> <17> #<23> #<23>R<01><1B>Y<EFBFBD>(C<>D<>S<EFBFBD>Q<>Q<>R<01>s<00> A!<00>!"B<03>Bc<00>,<00> tjj|jjd<01><00><02>}tjj|tj<00><00><05>j<00>}|jdk(r<>|r!t j |d<07>td<08>St|j|j<00>}|j!<00>rJ|j#d <09>
<EFBFBD>}||_|j#<00>t j&|d <0B>td<08>St j |d <0C>ntd |i<01><0E>}t)|dd|i<01>S#tj$r$t j |d<03>td<04>cYSwxYw)uPCréer un contrat pour un employé (avec contrôle d'existence de contrat actif)rirQr<>z employe-index)r=r%rOuIImpossible de créer un contrat : cet employé a déjà un contrat actif.rSF<><01>commituContrat créé avec succès.zFormulaire non valider=)<01>initialr'r.)rr/rIrOr`rrar rr3r<00>today<61>existsr_rr<>rbr<>r=rgr )r5r=<00> contrat_actifrjrKs r7<00>creation_contratr<74><00>sX<00><00>)<29><19>/<2F>/<2F>%<25>%<25><17><1C><1C>)9<>)9<>,<2C>)G<>%<25>H<><07><1C>O<EFBFBD>O<EFBFBD>*<2A>*<2A><17><1A>j<EFBFBD>j<EFBFBD>l<EFBFBD>+<2B><06> <0A>f<EFBFBD>h<EFBFBD><12>
<0F>~<7E>~<7E><16><1F> <18> <14>N<EFBFBD>N<EFBFBD><17>[<5B> <0E><1C>3<>4<> 4<><1A>7<EFBFBD><<3C><<3C><17><1D><1D>7<><04> <0F>=<3D>=<3D>?<3F><1A>i<EFBFBD>i<EFBFBD>u<EFBFBD>i<EFBFBD>-<2D>G<EFBFBD>%<25>G<EFBFBD>O<EFBFBD> <13>L<EFBFBD>L<EFBFBD>N<EFBFBD> <14> <1C> <1C>W<EFBFBD>&D<> E<><1B>3<>4<> 4<><10><0E><0E>w<EFBFBD> 7<>8<><1B>I<EFBFBD>w<EFBFBD>#7<>8<><04> <11>'<27>7<><16><04>:<06> <07><07><>7 <13> <1F> <1F>)<29><10><0E><0E>w<EFBFBD> 7<>8<><17><0F>(<28>(<28>)<29>s<00>9E<00>4F<03>Fc<00><><00>|jdk(r~tj|j<00>} tj
j |d<00><03>}|d|_ |d |_
|d
|_ |j<00>td d i<01>Std d id<0E><07>S#tj$rtddid<06><07>cYSwxYw)uaVue pour permettre à un utilisateur de modifier les détails d'un employé via une requête AJAXrOrRrQrar<>r<>r<><00>fonction<6F> date_embauche<68> matriculer<65>u0Détails de l'employé mis à jour avec succès.uMéthode non autorisée.i<>) r_r<>r<>r<>rr/rIr`rr<>r<>r<>r<>)r5r<>r=s r7<00>enregistrer_detail_employer<65>s<><00><00><0F>~<7E>~<7E><16><1F><13>z<EFBFBD>z<EFBFBD>'<27>,<2C>,<2C>'<27><04> P<01><1D>o<EFBFBD>o<EFBFBD>)<29>)<29>T<EFBFBD>$<24>Z<EFBFBD>)<29>8<>G<EFBFBD> <20>
<EFBFBD>+<2B><07><18> $<24>_<EFBFBD> 5<><07><1D> <20><1B>-<2D><07><19><0F> <0C> <0C><0E><1B>Y<EFBFBD>(Z<>[<5B>\<5C>\<5C><1B>Y<EFBFBD>(B<>C<>C<EFBFBD>P<>P<><50><17>#<23>#<23> P<01><1F><17>*A<> B<>3<EFBFBD>O<> O<> P<01>s<00>#B<00>"C<03>Cc <00><><00>tjjdd<01><02>}g}|D<00>]<5D>}djtjj |t j<00>j<00><00><04>D<00>cgc]}|jj<00><02>c}<04>g}tjj |<03><05>D<00>cgc]_}|j|j|j|j|j |j"r|j"j$ndd<06><06><02>a}}t&jj |d<07><08>D<00>cgc]j}|j(|j*|j,|j |j.|j0|j2r|j2j$ndd <09><07><02>l} }tjj |t j<00>j<00><00><04>D<00>
cgc]'}
it5|
<EFBFBD><00>d
|
jji<01><01><02>)} }
|j7id |j8<00>d |j:j<<00>d |j:j><00><00><03>d|j@<00>d|j:jB<00>d|<07>d| <0B>d
|<05>d| <09>d|jDr|jDjFnd<01>d|jH<00>d|jJ<00>d|jL<00>d|jN<00>d|jP<00>d|jRr|jRj$nd<01>d|jTr|jTj$nd<01>d|jVr|jVj$nd<01>|jXr|jXj$nd|jZr|jZj$nd|j\d<1C><03><01><00><03><>t_d|d<1E>d<1F> <20>Scc}wcc}wcc}wcc}
w)!u3 Vue pour retourner la liste de tous les employés r<)<02>user__first_name<6D>user__last_namez, rsrX)<06>titre<72> organisme<6D> description<6F>date_obtentionr?<00>
certificatr"rr)r<>rr>r?<00>salaire_mensuelr&r@rTrRr=r;r<>r<><00>
formations<EFBFBD> affectationsru<00> departementr<74>r<>r<>r<>r<>r<>r<>r<>)r<>r<>r<>T)rgr<>FrA)0rr/<00>exclude<64>joinrr3rr4rrTrhrr<>r<>r<>r<>r?r<>rJrr<>rr>r<>r&r@r<00>appendrRrDrErFr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r) r5r(r<>r=rrv<00> formationr<6E>rKrur<>r<>s r7<00> liste_employer<65>*s<><00><00>
<17><EFBFBD><EFBFBD>&<26>&<26>"<22>PR<50>&<26>S<>H<EFBFBD> <0A>D<EFBFBD><1B>?
<EFBFBD><07> <10>I<EFBFBD>I<EFBFBD>-8<>-@<40>-@<40>-G<>-G<>#<23>/7<>|<7C>|<7C>~<7E>/B<>/B<>/D<>.H<01>.<12><0E>()<29><01><08><08>#<23>#<23><0E> <0F>
<EFBFBD><07> )<29>0<>0<>7<>7<><07>7<>H<> 
<EFBFBD><1C> #<23><1F><1F>&<26>0<>0<>(<28>4<>4<>"+<2B>":<3A>":<3A>%<25>.<2E>.<2E>:C<>:N<>:N<>i<EFBFBD>2<>2<>6<>6<>TV<54>  <0E> 
<EFBFBD>
<EFBFBD> 
<EFBFBD>(%<25>_<EFBFBD>_<EFBFBD>3<>3<>G<EFBFBD>G<EFBFBD>3<>T<>

<EFBFBD><1A>#*<2A>"8<>"8<> '<27> 4<> 4<>%<25>0<>0<>#<23>,<2C>,<2C>#*<2A>#:<3A>#:<3A>!<21>.<2E>.<2E>BI<42>BY<42>BY<42>7<EFBFBD>#:<3A>#:<3A>#><3E>#><3E>_a<5F> <0E>

<EFBFBD><08>

<EFBFBD> +<2B>2<>2<>9<>9<><1F>+3<><<3C><<3C>><3E>+><3E>+><3E>+@<40> :<3A> <0E>
<EFBFBD><1B> T<01>}<7D>[<5B>)<29> S<>8<EFBFBD>[<5B>5G<35>5G<35>5R<35>5R<35> S<>
<EFBFBD> <0C>
<EFBFBD> <0A> <0B> <0B> <0E><14>g<EFBFBD>j<EFBFBD>j<EFBFBD> <0E><19>g<EFBFBD>l<EFBFBD>l<EFBFBD>5<>5<>6<>a<EFBFBD><07> <0C> <0C>8N<38>8N<38>7O<37>P<> <0E><1C>W<EFBFBD>.<2E>.<2E> <0E><18><17><1C><1C>+<2B>+<2B>  <0E>
<1D>j<EFBFBD>  <0E> <1F> <0C>  <0E><19>'<27> <0E><1B>H<EFBFBD> <0E><1E>'<27>:M<>:M<>w<EFBFBD>2<>2<>6<>6<>SU<53> <0E><1B>G<EFBFBD>,<2C>,<2C> <0E> <20><17>!6<>!6<> <0E><1A>7<EFBFBD>?<3F>?<3F> <0E><1C>W<EFBFBD>.<2E>.<2E> <0E><17><07> <0C> <0C> <0E><15><07>
<EFBFBD>
<EFBFBD>g<EFBFBD>j<EFBFBD>j<EFBFBD>n<EFBFBD>n<EFBFBD><02> <0E> <1A>'<27>/<2F>/<2F>7<EFBFBD>?<3F>?<3F>.<2E>.<2E>r<EFBFBD>! <0E>"<16>'<27>+<2B>+<2B>w<EFBFBD>{<7B>{<7B><EFBFBD><EFBFBD>2<EFBFBD># <0E>$/6<>m<EFBFBD>m<EFBFBD><17><1D><1D>*<2A>*<2A><12>FM<46>F_<46>F_<46>W<EFBFBD>%><3E>%><3E>%B<>%B<>eg<65>")<29>"8<>"8<>) <0E>
<EFBFBD>Q?
<EFBFBD>@ <18>D<EFBFBD>$<24>7<>e<EFBFBD> D<>D<><44>}<0E><> 
<EFBFBD><EFBFBD>

<EFBFBD><EFBFBD>
s<00>8O$
<EFBFBD>?A$O)<06>A/O.<06><,O3c<00><><00>tj|j<00>d} tjj |<01><02>} tj|j<00>}|j d<01>}tt|<01><07>}|j d<08>|_ |j d <09>|_ |j d
<EFBFBD>|_ |j d <0B>|_|j d <0C>|_|j!<00>tdd i<01>S#tj $r(tj|d<03>tddid<05><06>cYSwxYw#t"$r"}tdt%|<04>id<0E><06>cYd}~Sd}~wwxYw)z$vue pour la modification du contrat rRr<>r<>r<>r<>r<>rQrr>r?r<>r&uContrat modifié avec succèsi<73>N)r<>r<>r<>rr/rIr`rrarr rr>r?r<>r&r<><00> Exception<6F>str)r5r<>rKr<><00>es r7<00>modifier_contratr<74>vs9<00><00>
<16><1A><1A>G<EFBFBD>L<EFBFBD>L<EFBFBD>)<29>$<24>/<2F>J<EFBFBD>M<01><19>/<2F>/<2F>%<25>%<25>z<EFBFBD>%<25>B<><07>
=<3D><13>z<EFBFBD>z<EFBFBD>'<27>,<2C>,<2C>'<27><04><19>X<EFBFBD>X<EFBFBD>d<EFBFBD>^<5E>
<EFBFBD>#<23>G<EFBFBD>
<EFBFBD>;<3B><07>#<23>x<EFBFBD>x<EFBFBD><0E>7<><07><1C>!<21>X<EFBFBD>X<EFBFBD>l<EFBFBD>3<><07><1A><1F>8<EFBFBD>8<EFBFBD>J<EFBFBD>/<2F><07><18>"&<26>(<28>(<28>+<<3C>"=<3D><07><1F><1D><18><18>(<28>+<2B><07><0E><0F> <0C> <0C><0E><1B>Y<EFBFBD>(G<>H<>I<>I<><49> <13> <1F> <1F>M<01><10><0E><0E>w<EFBFBD> 6<>7<><1B>Y<EFBFBD>(><3E>?<3F><03>L<>L<>M<01><>" <15>=<3D><1B>Y<EFBFBD><03>A<EFBFBD><06>/<2F><03><<3C><<3C><>=<3D>s0<00> D<00>C E<00>8E <03> E <03> E:<03>E5<03>/E:<03>5E:c<00><><00>tjj|j<00><01>}|jdk(r<>t |j |j<00>}|j<00>rJ|jd<03><04>}||_
|j<00>tj|d<05>td<06>Stj|d<07>td<06>S)uGVue pour permettre à un employé d'ajouter une formation à son profilrprOFr<46>u Formation ajoutée avec succès r<><00>CFormulaire non valide. Veuillez vérifier les informations saisies.)rr/rIrDr_rrOr<>rbr<>r=rrgr ra)r5r=r<><00> ma_formations r7<00>ajouter_formationr<6E><00>s<><00><00><16>o<EFBFBD>o<EFBFBD>!<21>!<21><17><1C><1C>!<21>><3E>G<EFBFBD><0E>~<7E>~<7E><16><1F>!<21>'<27>,<2C>,<2C><07> <0A> <0A>><3E> <09> <14> <1D> <1D> <1F>$<24>><3E>><3E><15>><3E>7<>L<EFBFBD>#*<2A>L<EFBFBD> <20> <18> <1D> <1D> <1F> <14> <1C> <1C>W<EFBFBD>&H<> I<><1B>8<>9<> 9<><10><0E><0E>w<EFBFBD> e<>f<> <13>0<> 1<>1r9c <00><00>tjj|j<00><01>j d<02>}t |D<00>cgc]5}it |<02><00>d|jr|jjndi<01><01><02>7c}d<05><06>Scc}w)N)<01>employe__user__usernamez-date_obtentionr<6E>r<FrA) rr/r3rDr1rrr<>rJ)r5r<>r<>s r7<00>liste_formationr<6E><00>s<><00><00><1A>"<22>"<22>)<29>)<29>'<27>,<2C>,<2C>)<29>O<>X<>X<>Yj<59>k<>J<EFBFBD> <17>
$<24> <06>
<16> 
<EFBFBD><1B>I<EFBFBD>&<26>
<EFBFBD> <18>i<EFBFBD>6J<36>6J<36>)<29>.<2E>.<2E>2<>2<>PR<50>
<EFBFBD><06> <12>  <13><13><>s<00>:Bc<00><><00> tjj||j<00><01>}|jdk(rnt|j|j|<02><05>}|j<00>r&t j|d<06>|j<00>t j |d<07>td<03>S#tj$r$t j |d<02>td<03>cYSwxYw)uIVue pour permettre à un employé de modifier une formation de son profil<69>rRr(<00>Formation non trouvée.<2E>mes_formationsrO)<01>instanceuFormation mise à jour r<>)rr/rIrDr`rrar r_rrOr<>rbrgr<><00>r5<00> id_formationr<6E>s r7<00>modifier_formationr<6E><00>s<><00><00>*<2A><1D>%<25>%<25>)<29>)<29>\<5C>G<EFBFBD>L<EFBFBD>L<EFBFBD>)<29>Q<> <09>
<0F>~<7E>~<7E><16><1F>!<21>'<27>,<2C>,<2C><07> <0A> <0A> <09>R<> <09> <14> <1D> <1D> <1F> <14> <1C> <1C>W<EFBFBD>&?<3F> @<40> <15>N<EFBFBD>N<EFBFBD> <1C><10><0E><0E>w<EFBFBD> e<>f<> <13>$<24> %<25>%<25><> <15> !<21> !<21>*<2A><10><0E><0E>w<EFBFBD> 9<>:<3A><17>(<28>)<29>)<29>*<2A>s<00>+B5<00>54C,<03>+C,c<00>N<00> tjj||j<00><01>}|jdk(r&|j<00>t j|d<05>td<03>S#tj$r$t j |d<02>td<03>cYSwxYw)uJVue pour permettre à un employé de supprimer une formation de son profilr<6C>r<>r<>rOuFormation supprimée ) rr/rIrDr`rrar r_r<>rgr<>s r7<00>supprimer_formationr<6E><00>s<><00><00>*<2A><1D>%<25>%<25>)<29>)<29>\<5C>G<EFBFBD>L<EFBFBD>L<EFBFBD>)<29>Q<> <09>
<0F>~<7E>~<7E><16><1F><11><18><18><1A><10><18><18><17>"9<>:<3A> <13>$<24> %<25>%<25><> <15> !<21> !<21>*<2A><10><0E><0E>w<EFBFBD> 9<>:<3A><17>(<28>)<29>)<29>*<2A>s<00>+A-<00>-4B$<03>#B$)6r<36>rrr<00>dateutil.relativedeltar<00> django.utilsr<00>django.contribr<00>django.contrib.auth.modelsr <00>django.contrib.authr
<00>django.shortcutsr r r <00>django.contrib.auth.decoratorsr<00> django.httpr<00>django.forms.modelsr<00>django.db.modelsr<00>modelsrrrr<00>formsrrr<00>fonction_utilitairerr8rMrnr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<><00>r9r7<00><module>r<>sC<00><01> <0B>.<2E>.<2E>0<>!<21>#<23>+<2B>,<2C>@<40>@<40>9<>$<24>-<2D> <20><<3C><<3C>><3E>><3E>4<><0F><07><10><07>.<10>7<><10>7<>&<10>41<><10>41<>l<10>'<06><10>'<06>R<10>2<><10>2<>&M<01>6 2<>
H<01> M<01>"<07>H<10>Q<01><10>Q<01>"<10>GE<01><10>GE<01>V<10>=<3D><10>=<3D>4<10> 2<><10> 2<><13><10>&<26><10>&<26>"<10> &<26><10> &r9