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

109 lines
26 KiB
Plaintext
Raw Normal View History

2026-04-27 10:17:10 +00:00
+
<02>i<EFBFBD>N<00><00><><00>^RIt^RIHtHt^RIHt^RIHt^RIHt^RI H
t
^RI H t ^RI HtHt^R IHt^R
IHt^R IHt^R IHt^R IHtHtHtHt^RIHtHtH t ^RI!H"t"]R4t#]R4t$]R4t%]R4t&]R4t'Rt(Rt)Rt*Rt+Rt,]R4t-]R4t.]R4t/Rt0]R4t1]R4t2R#) <20>N)<02> timedelta<74>datetime)<01> relativedelta)<01>timezone)<01>messages)<01>User)<01> authenticate)<02>render<65>redirect)<01>login_required)<01> JsonResponse)<01> model_to_dict)<01>Sum)<04>Employe<79>Contrat<61> Affectation<6F> Formation)<03>AffectationForm<72> ContratForm<72> FormationForm)<01>fonctions_utilitairec<04><><00>\PP4PR4p\PP 4p\
PP RR7P 4p\
PP RR7P 4p\P!4P4\^<R7,p\
PP V\P!4P4RR7P 4p\VRR VR
VR VR VR VR\4R\4/4#)z Vue d'indexz-user__date_joined<65>contrat_prestation)<01> type_contrat<61> contrat_stage<67><01>days<79>actif<69><03> date_fin__lte<74> date_fin__gte<74>statut<75>gestion_employe/index.html<6D>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>now<6F>daterr
rr)<07>requestr$r%r&r'<00> date_limiter(s& <20>6C:\Users\HP\Desktop\SIRH\SIRH\gestion_employe\views.py<70>indexr5s<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<><12>H<EFBFBD><19>?<3F><14>j<EFBFBD><16> <0C><1A>,<2C><1A>O<EFBFBD>-<2D><16> <0B> <0A>:<06> <07><07>c<04><><00>\P!4P4\\P
R7,p\ PPV\P!4P4RR7Uu.uF<>pRVPPP RVPPP 2R\\ P4PVP 4RVP"RVP$R VP&R
VP('dVP(P*MR /NK<> pp\-VR R 7#uupi)zListe des contrats proches rrr<00>employe<79> r<00>
date_debut<EFBFBD>date_finr"<00>fichier_contrat<61>F<><01>safe)rr0r1rr<00>DUREE_FIN_CONTRATrr+r/r8<00>user<65>
first_name<EFBFBD> last_name<6D>dict<63> TYPE_CONTRAT<41>getrr:r;r"r<<00>urlr )r2r3<00>contrat<61>contats_expirantss& r4<00>liste_contrat_expirantsrJ,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> o<01> <14> <16>'<27>/<2F>/<2F>.<2E>.<2E>9<>9<>:<3A>!<21>G<EFBFBD>O<EFBFBD>O<EFBFBD><P<><P<><Z<><Z<>;[<5B>\<5C> <1A>D<EFBFBD><17>!5<>!5<>6<>:<3A>:<3A>7<EFBFBD>;O<>;O<>P<> <18>'<27>,<2C>,<2C> <16><07>(<28>(<28> <14>g<EFBFBD>n<EFBFBD>n<EFBFBD> <1D>g<EFBFBD>>U<>>U<>>U<>w<EFBFBD>6<>6<>:<3A>:<3A>[]<5D> 
<EFBFBD> o<01><16> <06> <18>)<29><05> 6<>6<><36> s<00>CE%c <04><><00>VPR8XEd<>VPPR4p\PPVR7p\TP4pTP4'EdTPR,pTPR,pTPR,pTPR ,pT'EdT'Ed \PPTR
7P\R4R 7R ,;'g^pYW8d#\ P !TR 4\R4#YTP"8<>d4\ P !TRT RTP" R24\R4#Y<>,^d8<64>dG\ P !TRTP$ RTP& RY<>, R24\R4#\PP)TTR TPR ,RTRTPR,RT/R7\ P*!TRTP,P$ RTP,P& RTP. R24\R4#\ P!TR4\R4#\R4# \P
d&\ P!TR4\R4u#i;i)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>r8)<01>total_pourcentage_affectationrVuPLa 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).u-Les pourcentages d'affectation de l'employé r9u, dépasse 100% sur les différents projets (z%).<2E>role)r8rQ<00>defaultsu L'employé u a été affecté au projet <20>.zErreur : Formulaire non valide.)<18>methodrLrFrr+<00> DoesNotExistr<00>errorr r<00>is_valid<69> cleaned_datarr/<00> aggregater<00>warningr;rBrC<00>update_or_create<74>successrA<00>
nom_projet) r2<00>
employe_idr8<00>formrQ<00>date_fin_affectation<6F> temps_nouveaurT<00>total_affectations & r4<00>affecter_employe_projetri@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>?<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>$<24>)9<>)9<><1F>'<27>'<27>.<2E>.<2E>w<EFBFBD>.<2E>?<3F><1E>Y<EFBFBD>s<EFBFBD>Cb<43>?c<>Y<EFBFBD>d<>4<>6<>;<3B>;<3B>9:<3A>"<22>
)<29>;<3B><1C>$<24>$<24>W<EFBFBD>/A<02>B<02>#<23>$;<3B><<3C><<3C>)<29>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>6<><13><<3C><1C>$<24>$<24><1F>G<><07>HZ<48>HZ<48>G[<5B>[\<5C>]d<>]n<>]n<>\o<>p\<02>]n<02>]~<02>\<02>B<03>C<03><16>$<24>$;<3B><<3C><<3C> <17> <1F> <1F> 0<> 0<><1F><1D>&<26><04>(9<>(9<>:L<>(M<>+<2B>-A<><1A>D<EFBFBD>-<2D>-<2D>f<EFBFBD>5<>3<>]<5D> <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> J8<00>87K2<03>1K2c<04><><00>\PPVPR7p\PPTRR7P4p\PPT\P!4P4R7PR4p\!TRR TR
T'd<>/\#T4CR \%\P&4PTP(4R \%\P*4PTP,4R TP.'dTP.P0MR/CM..RTUu.uFrp/\#TP24CRTP4RTP6R\%\P84PTP:4RTP</CNKt upR\?4RT'dTP@\BPD8*MRRT'dTP@/4#R/4# \Pd&\
P !TR4\R4u#i;iuupi)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>r8r"<00>r8<00>date_fin_daffectation__gterQzgestion_employe/monprofil.htmlr8<00>contratsrr"r<r=<00>projetsrTrRrWrS<00>formation_form<72>expiration_contratF<74>contrat_nb_jours_restantN)#rr+rFrAr[rr\r rr/<00>firstrrr0r1<00>select_relatedr
rrDrEr<00>STATUT_CONTRATr"r<rGrQrTrR<00> ROLE_CHOICESrWrSr<00>nombre_jours_restantrr@)r2r8rprq<00>as& r4<00>
mon_profilr{ws1<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> <15>w<EFBFBD> <16>
<1A> <0E><1F><08>)<29><0E><1E><04>W<EFBFBD>%9<>%9<> :<3A> ><3E> ><3E>x<EFBFBD>?T<>?T<> U<><18>$<24>w<EFBFBD>5<>5<>6<>:<3A>:<3A>8<EFBFBD>?<3F>?<3F>K<>!<21>8<EFBFBD>C[<5B>C[<5B>C[<5B>8<EFBFBD>#;<3B>#;<3B>#?<3F>#?<3F>ac<61> <0E>
"<22> #<23> <16>#<23><0E>#<23>a<EFBFBD> <12>#<23>A<EFBFBD>H<EFBFBD>H<EFBFBD>-<2D><12>&<26><01>(:<3A>(:<3A>+<2B>Q<EFBFBD>-D<>-D<><1A>D<EFBFBD><1B>!9<>!9<>:<3A>><3E>><3E>q<EFBFBD>v<EFBFBD>v<EFBFBD>F<>3<>Q<EFBFBD>5T<35>5T<35> <12> #<23><0E> <1D>m<EFBFBD>o<EFBFBD> <20>mu<6D>(<28>"?<3F>"?<3F>CW<43>Ci<43>Ci<43>"i<>|A<02> &<26><18><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>"A8I+<16>.7I(<03>'I(c<04><00>\PPVPR7pVPR8Xd<>VP
R,pVP
R,pVP
R,p\ WPVR7f\P!VR4MVW48wd\P!VR4M8VPV4VP4\P!VR 4\R
4#) u_Vue pour permettre à un utilisateur de modifier son mot de passe et ses informations de profil<69><01>usernamerLz
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) rr+rFrArZrLr rr\<00> set_password<72>saverbr )r2rA<00>
ancien_mdp<EFBFBD> nouveau_mdp<64>confirmation_mdps& r4<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>,<2C>,<2C><1A> L<> T<> <14>N<EFBFBD>N<EFBFBD>7<EFBFBD>$D<> E<> <18> ,<2C> <14>N<EFBFBD>N<EFBFBD>7<EFBFBD>$M<> N<> <10> <1D> <1D>k<EFBFBD> *<2A> <10>I<EFBFBD>I<EFBFBD>K<EFBFBD> <14> <1C> <1C>W<EFBFBD>&K<> L<> <13>0<> 1<>1r6c<04><><00>\PPVPR7pTP R8XEd_\P!TP4p\PPTPR7pTR,Tn TR,Tn TR,Tn TR ,TnTR
,TnTR ,TnTR ,'d<>\#\$P&!4P)4\*P,!TR ,R 4P)44pTP.^8<>dTR ,TnM \ RR/4#TP34TP34\ RR/4#R# \Pd\ RR/4u#i;i)uOVue pour permettre à un utilisateur de modifier les informations d'un employérk<00>message<67>Employé non trouvé.rLr}<00>nom<6F>prenom<6F>email<69> telephone<6E>adresse<73>sexe<78>date_naissancez%Y-%m-%dz/Veuillez entrez une date de naissance correcte.u Profil mis à jour avec succès.N)rr+rFrAr[r rZ<00>json<6F>loads<64>bodyrrCrBr<>r<>r<>r<>rrr0r1r<00>strptime<6D>yearsr<73>r<>)r2r8<00>datarA<00>
differences& r4<00>modifier_employerr<72><00>sf<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> <0F> <20> !<21> !<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>"G<03>Gc<00><><00>\PPVPR7pVPR8Xd<>RVP
9dVP
R,M VP VnRVP
9dVP
R,M VPVnRVP
9dVP
R,M VPVnRVP
9dVP
R,M VPVn \P!VR4VP4\R4#)rkrL<00>cv<63>diplome<6D>rib<69>casier_judiciaireu$Documents enregistrés avec succès.r<>)rr+rFrArZ<00>FILES<45>CVr<56>r<>r<>rrbr<>r )r2r8s& r4<00>enregistrement_documentr<74><00>s<><00><00><15>o<EFBFBD>o<EFBFBD>!<21>!<21><17><1C><1C>!<21>><3E>G<EFBFBD><0E>~<7E>~<7E><16><1F>,0<>G<EFBFBD>M<EFBFBD>M<EFBFBD>,A<>W<EFBFBD>]<5D>]<5D>4<EFBFBD>(<28>w<EFBFBD>z<EFBFBD>z<EFBFBD><07>
<EFBFBD>6?<3F>7<EFBFBD>=<3D>=<3D>6P<36>'<27>-<2D>-<2D> <09>2<>V]<5D>Ve<56>Ve<56><07><0F>.3<EFBFBD>w<EFBFBD>}<7D>}<7D>.D<>g<EFBFBD>m<EFBFBD>m<EFBFBD>E<EFBFBD>*<2A>'<27>+<2B>+<2B><07> <0B>J]<5D>ah<61>an<61>an<61>Jn<4A>G<EFBFBD>M<EFBFBD>M<EFBFBD>2E<32>$F<>t{<7B>uN<02>uN<02><07>!<21><10><18><18><17>"H<>I<><0F> <0C> <0C><0E> <13>0<> 1<>1r6c<04>N<00>\P!VP4R,p\PP VR7pTP4\RR/4# \P d*\P!TR4\RR/RR7u#i;i)u<Vue pour permettre à un utilisateur de supprimer un contratrO)<01>numero_contratuContrat non trouvé.r<><00><><00><01>statusuContrat supprimé avec succès.) r<>r<>r<>rr+rFr[rr\r <00>delete)r2<00>
id_contratrHs& r4<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>&;B$<03>#B$c<04> <00>\P!VP4R,p\PP VR7pTP4\RR/4# \P d\RR/RR7u#i;i)uAVue pour permettre à un utilisateur de supprimer une affectationrOrNr<>uAffectation non trouvée.r<>r<>u$Affectation supprimée avec succès.) r<>r<>r<>rr+rFr[r r<>)r2<00>id_affectation<6F> affectations& r4<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> B c<04>|<00>\PPVPPR4R7pTPR8Xd<>\TPTP4pTP4'dKTPRR7pYn TP4\
P!TR4\R 4#\
P !TR
4M\R T/R 7p\TR RT/4# \Pd&\
P !TR4\R4u#i;i)uJVue pour permettre à un utilisateur de créer un contrat pour un employérdrNr<>z employe-indexrLF<><01>commituContrat créé avec succès.rPzFormulaire non valider8)<01>initialr#r*)rr+rFrLr[rr\r rZrr<>r]r<>r8rbr
)r2r8rerHs& r4<00>creation_contratr<74><00>s<><00><00>)<29><19>/<2F>/<2F>%<25>%<25><17><1C><1C>)9<>)9<>,<2C>)G<>%<25>H<><07>
<0F>~<7E>~<7E><16><1F><1A>7<EFBFBD><<3C><<3C><17><1D><1D>7<><04> <0F>=<3D>=<3D>?<3F>?<3F><1A>i<EFBFBD>i<EFBFBD>u<EFBFBD>i<EFBFBD>-<2D>G<EFBFBD>%<25>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<><1A>I<EFBFBD>w<EFBFBD>#7<>8<><04> <11>'<27>7<>.<2E>$<24>9O<39> P<>P<><50> <13> <1F> <1F>)<29><10><0E><0E>w<EFBFBD> 7<>8<><17><0F>(<28>(<28>)<29>s<00>9D<00>7D;<03>:D;c<04><><00>VPR8Xd<>\P!VP4p\P
P VR,R7pTR,Tn TR ,Tn
TR
,Tn TP4\R R /4#\R R /RR7# \Pd\RR/RR7u#i;i)uaVue pour permettre à un utilisateur de modifier les détails d'un employé via une requête AJAXrLrOrNr\r<>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<>) rZr<>r<>r<>rr+rFr[r r<>r<>r<>r<>)r2r<>r8s& r4<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>'B0<00>0$C<03>Cc<04><><00>\PPRRR7p.pVEF<>pRP\PP V\ P!4P4R7Uu.uFqDPPNK up4.p\PP VR7Uu.uFkpRVPRVPRVPR VPR
VP R VP"'dVP"P$MR/NKm pp\&PP VR R 7Uu.uFwpRVP(RVP*RVP,R
VP RVP.RVP0RVP2'dVP2P$MR/NKy p p\PP V\ P!4P4R7U
u.uF(p
/\5V
4CRV
PP/CNK* p p
TP7/RVP8bRVP:P< RVP:P> 2bRVP@bRVP:PBbRVbRV bRVbRV bRVPD'dVPDPFMRbRVPHbRVPJbR VPLbR!VPNbR"VPPbR#VPR'dVPRP$MRbR$VPT'dVPTP$MRbR%VPV'dVPVP$MRbR&VPX'dVPXP$MRR'VPZ'dVPZP$MRR(VP\/C4EK<> \_R)R*R+V/R,R-7#uupiuupiuupiuup
i).u2Vue pour retourner la liste de tous les employés r=)<02>user__first_name<6D>user__last_namez, rnrU<00>titre<72> organisme<6D> description<6F>date_obtentionr;<00>
certificatrrmr<>rr:<00>salaire_mensuelr"r<rQrOr8r9r<>r<><00>
formations<EFBFBD> affectationsrp<00> departementr<74>r<>r<>r<>r<>r<>r<>r<><00>photor<6F>r<>rbTr<54>Fr>)0rr+<00>exclude<64>joinrr/rr0r1rQrcrr<>r<>r<>r<>r;r<>rGrr<>rr:r<>r"r<r<00>appendrOrArBrCr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r ) r2r$r<>r8rzrq<00> formationr<6E>rHrpr<>r<>s & r4<00> liste_employer<65>s#<00><00><17><EFBFBD><EFBFBD>&<26>&<26>"<22>PR<50>&<26>S<>H<EFBFBD> <0A>D<EFBFBD><1B><07> <10>I<EFBFBD>I<EFBFBD>-8<>-@<40>-@<40>-G<>-G<>#<23>/7<>|<7C>|<7C>~<7E>/B<>/B<>/D<>.H<01>.<12><0E>.<12><01><08><08>#<23>#<23>.<12><0E> <0F>
<EFBFBD><07> )<29>0<>0<>7<>7<><07>7<>H<> 
<EFBFBD> I<01>)<29> <18><19><1F><1F><1B>Y<EFBFBD>0<>0<><1D>y<EFBFBD>4<>4<> <20>)<29>":<3A>":<3A><1A>I<EFBFBD>.<2E>.<2E><1C>)<29>:N<>:N<>:N<>i<EFBFBD>2<>2<>6<>6<>TV<54>  <0E> I<01> <13> 
<EFBFBD>(%<25>_<EFBFBD>_<EFBFBD>3<>3<>G<EFBFBD>G<EFBFBD>3<>T<>

<EFBFBD>U<01>'<27>!<21>'<27>"8<>"8<><1E><07> 4<> 4<><1C>g<EFBFBD>0<>0<><1A>G<EFBFBD>,<2C>,<2C>!<21>7<EFBFBD>#:<3A>#:<3A><18>'<27>.<2E>.<2E>!<21>'<27>BY<42>BY<42>BY<42>7<EFBFBD>#:<3A>#:<3A>#><3E>#><3E>_a<5F> <0E>U<01> <11>

<EFBFBD> +<2B>2<>2<>9<>9<><1F>+3<><<3C><<3C>><3E>+><3E>+><3E>+@<40> :<3A> <0E>
<EFBFBD> <0E> <0B> T<01>}<7D>[<5B>)<29> S<>8<EFBFBD>[<5B>5G<35>5G<35>5R<35>5R<35> S<> <0E> <15>
<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<>: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>
<EFBFBD>g<EFBFBD>j<EFBFBD>j<EFBFBD>n<EFBFBD>n<EFBFBD><02> <0E> <1A>'<27>/<2F>/<2F>/<2F>7<EFBFBD>?<3F>?<3F>.<2E>.<2E>r<EFBFBD>! <0E>"<16>'<27>+<2B>+<2B>+<2B>w<EFBFBD>{<7B>{<7B><EFBFBD><EFBFBD>2<EFBFBD># <0E>$<18>g<EFBFBD>m<EFBFBD>m<EFBFBD>m<EFBFBD><17><1D><1D>*<2A>*<2A><12>#<23>g<EFBFBD>F_<46>F_<46>F_<46>W<EFBFBD>%><3E>%><3E>%B<>%B<>eg<65> <20>'<27>"8<>"8<>) <0E>
<EFBFBD>Q<1C>@ <18><19>D<EFBFBD>&<26>$<24>7<>e<EFBFBD> D<>D<><44>}<0E><> 
<EFBFBD><EFBFBD>

<EFBFBD><EFBFBD>
s&<00>9P-
<EFBFBD>AP2<06>P2<06>AP7<06>7P7<06>.P<c<04><><00>\PPVPR7pVPR8Xd<>\ VP VP4pVP4'dKVPRR7pWn
VP4\P!VR4\R4#\P!VR4\R4#)uGVue pour permettre à un employé d'ajouter une formation à son profilrkrLFr<46>u Formation ajoutée avec succès r<><00>CFormulaire non valide. Veuillez vérifier les informations saisies.)rr+rFrArZrrLr<>r]r<>r8rrbr r\)r2r8r<><00> ma_formations& r4<00>ajouter_formationr<6E>as<><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> <1F>$<24>><3E>><3E><15>><3E>7<>L<EFBFBD>#*<2A> <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<>1r6c <00>&<00>\PPVPR7P R4p\ VUu.uF<p/\ V4CRVP'dVPPMR/CNK> upRR7#uupi))<01>employe__user__usernamez-date_obtentionr<6E>r=Fr>) rr+r/rAr-r rr<>rG)r2r<>r<>s& r4<00>liste_formationr<6E>ps<><00><00><1A>"<22>"<22>)<29>)<29>'<27>,<2C>,<2C>)<29>O<>X<>X<>Yj<59>k<>J<EFBFBD> <17>
$<24> <06>
$<24>I<EFBFBD> 
<EFBFBD><1B>I<EFBFBD>&<26>
<EFBFBD> <18>i<EFBFBD>6J<36>6J<36>6J<36>)<29>.<2E>.<2E>2<>2<>PR<50>
<EFBFBD>$<24> <06> <12>  <13><13><>s<00>ABc<04><><00>\PPWPR7pTPR8Xdw\TPTPTR7pTP4'd(\
P!TR4TP4\
P !TR4\R4# \Pd&\
P !TR4\R4u#i;i)uIVue pour permettre à un employé de modifier une formation de son profil<69>rOr$<00>Formation non trouvée.<2E>mes_formationsrL)<01>instanceuFormation mise à jour r<>)rr+rFrAr[rr\r rZrrLr<>r]rbr<><00>r2<00> id_formationr<6E>s&& r4<00>modifier_formationr<6E>zs<><00><00>*<2A><1D>%<25>%<25>)<29>)<29>\<5C>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> <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>*B><00>>7C8<03>7C8c<04>X<00>\PPWPR7pTPR8Xd(TP4\
P!TR4\R4# \Pd&\
P !TR4\R4u#i;i)uJVue pour permettre à un employé de supprimer une formation de son profilr<6C>r<>r<>rLuFormation supprimée ) rr+rFrAr[rr\r rZr<>rbr<>s&& r4<00>supprimer_formationr<6E><00>s<><00><00>*<2A><1D>%<25>%<25>)<29>)<29>\<5C>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>/7B)<03>(B))3r<33>rr<00>dateutil.relativedeltar<00> django.utilsr<00>django.contribr<00>django.contrib.auth.modelsr<00>django.contrib.authr <00>django.shortcutsr
r <00>django.contrib.auth.decoratorsr <00> django.httpr <00>django.forms.modelsr<00>django.db.modelsr<00>modelsrrrr<00>formsrrr<00>fonction_utilitairerr5rJrir{r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<><00>r6r4<00><module>r<>s)<00><01> <0B>(<28>0<>!<21>#<23>+<2B>,<2C>-<2D>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>P<10>2<><10>2<>&M<01>6
2<>
H<01> M<01>Q<01>*<10>Q<01><10>Q<01>"<10>EE<01><10>EE<01>N<10> 2<><10> 2<><13><10>&<26><10>&<26>"<10> &<26><10> &r6