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

105 lines
14 KiB
Plaintext
Raw Normal View History

o
2026-05-07 14:44:16 +00:00
<00><EFBFBD>i<EFBFBD>N<00>@s|ddlZddlmZmZmZddlmZddlmZddlm Z ddl
m Z ddl m Z ddlmZmZdd lmZdd
lmZdd lmZdd lmZd dlmZmZmZmZd dlmZm Z m!Z!ddl"m#Z#edd<12><00>Z$edd<14><00>Z%edd<16><00>Z&edd<18><00>Z'edd<1A><00>Z(dd<1C>Z)dd<1E>Z*dd <20>Z+d!d"<22>Z,d#d$<24>Z-ed%d&<26><00>Z.ed'd(<28><00>Z/ed)d*<2A><00>Z0d+d,<2C>Z1ed-d.<2E><00>Z2ed/d0<64><00>Z3dS)1<>N)<03>date<74> 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<75>)<04>Employe<79>Contrat<61> Affectation<6F> Formation)<03>AffectationForm<72> ContratForm<72> FormationForm)<01>fonctions_utilitairec Cs<>tj<01><02><00>d<01>}tj<01><04>}tjjdd<03><01><04>}tjjdd<03><01><04>}t<07><08><00> <09>t
dd<06>}tjj|t<07><08><00> <09>dd<08><03><04>}t |d |||||t <0C>t <0A>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)<00>r4<00>)/home/sorel/sirh/gestion_employe/views.py<70>indexs*

<04><02><08>r6cCsHt<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)r9<00>user<65>
first_name<EFBFBD> last_name<6D>dictr<00> TYPE_CONTRAT<41>getrr:r;r#r<<00>url<72><02>.0<EFBFBD>contratr4r4r5<00>
<listcomp>1s <18><04><06>z+liste_contrat_expirants.<locals>.<listcomp>rr F<><01>safe)
rr1rrr<00>DUREE_FIN_CONTRATrr,r0r )r2r3<00>contats_expirantsr4r4r5<00>liste_contrat_expirants,s

2026-05-07 11:22:14 +00:00
<06> rLc 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|j<12>d|j<13>d||<00>d<16><07>td<05>St jj|||j d ||j d|d<18>d<19>t<06>|d|jj<12>d|jj<13>d|j<17>d<1C><07>tjdd|jj<12>d|jj<13>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>r9)<01>total_pourcentage_affectationrWruPLa 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é r7u, dépasse 100% sur les différents projets (z%).<2E>role<6C>rUrSrYrT)r9rR<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>methodrMrBrr,<00> DoesNotExistr<00>errorr r<00>is_valid<69> cleaned_datarr0<00> aggregater<00>warningr;r>r?<00>update_or_create<74>successr=<00>
nom_projetr<00> envoyer_mail<69>upper<65>strftimer@<00> ROLE_CHOICES<45>email) r2<00>
employe_idr9<00>formrR<00>date_fin_affectation<6F> temps_nouveaurU<00>total_affectationr4r4r5<00>affecter_employe_projet@sj    <02>





 <04><04><02> 
 <04><04><06>*
2026-05-07 11:22:14 +00:00
Z<06> rtc
Cs<>z
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>}t|d||r_it|<02><01>ttj<13><01>|j<14>ttj<15><01>|j<16>|jrZ|jjnd d
<EFBFBD><03>nggd d <0C>|D<00>t<19>|rq|jtjknd |rz|jd<0F><06>Sdd<0F><06>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>r9r#<00>r9<00>date_fin_daffectation__gterRzgestion_employe/monprofil.htmlr8)rr#r<cSs<g|]}it|j<01><01>|j|jttj<06><01>|j<08>|j d<00><04><01>qS)rZ)
2026-05-07 11:22:14 +00:00
rrRrUrSr@rrmrBrYrT<00>rE<00>ar4r4r5rG<00>s<02><02><06><06>zmon_profil.<locals>.<listcomp>FN)r9<00>contrats<74>projets<74>formation_form<72>expiration_contrat<61>contrat_nb_jours_restant)rr,rBr=rarrbr rr0<00>firstrrr1r<00>select_relatedr
rr@rAr<00>STATUT_CONTRATr#r<rCr<00>nombre_jours_restantrrJ)r2r9r|r}r4r4r5<00>
mon_profil~sL  <02>
<04><02><04><02><08><02><04> <04><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
<EFBFBD>t d <0B>S) u_Vue pour permettre à un utilisateur de modifier son mot de passe et ses informations de profil<69><01>usernamerMz
2026-05-07 11:22:14 +00:00
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.<2E>gestion_employe:mon-profil) rr,rBr=r`rMr rrb<00> set_password<72>saverhr )r2r=<00>
ancien_mdp<EFBFBD> nouveau_mdp<64>confirmation_mdpr4r4r5<00>modifier_mot_passe<73>s



 <08> 
2026-05-07 11:22:14 +00:00
<EFBFBD> r<>cCsz
tjj|jd<01>}Wntjytddi<01>YSw|jdkr<>t<07>|j <09>}t
jj|jd<05>}|d|_ |d|_ |d|_ |d |_|d
2026-05-07 11:22:14 +00:00
|_|d |_|j<11>d <0C>rX|jd |_|d r~tt<14><15><00><16>t<17>|d d<0E><02><16><00>}|jdkrx|d |_ntddi<01>S|<01><1B>|<03><1B>tddi<01>SdS)uOVue pour permettre à un utilisateur de modifier les informations d'un employérur^<00>Employé non trouvé.rMr<><00>nom<6F>prenomrn<00> 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,rBr=rar r`<00>json<6F>loads<64>bodyrr?r>rnr<>r<>r<><00>FILESr<53>rrr1rr<00>strptime<6D>yearsr<73>r<>)r2r9<00>datar=<00>
differencer4r4r5<00>modifier_employer<65>s2<02>
 





  "
2026-05-07 11:22:14 +00:00
   <04>r<EFBFBD>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)
2026-05-07 11:22:14 +00:00
ufVue pour permettre à un utilisateur de télécharger et enregistrer des documents liés à son profil)r=rMr<><00>cv<63>diplome<6D>rib<69>casier_judiciaireu$Documents enregistrés avec succès.r<>)rr,rBr=r`r<>r<><00>CVr<56>r<>r<>r<>rrhr )r2r9r4r4r5<00>enregistrement_document<6E>s
  
 
 
 
2026-05-07 11:22:14 +00:00
  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 contratrP)<01>numero_contratuContrat non trouvé.r^<00><><00><01>statusuContrat supprimé avec succès.) r<>r<>r<>rr,rBrarrbr <00>delete)r2<00>
id_contratrFr4r4r5<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 affectationrPrOr^uAffectation non trouvée.r<>r<>u$Affectation supprimée avec succès.) r<>r<>r<>rr,rBrar r<>)r2<00>id_affectation<6F> affectationr4r4r5<00>suppression_affectation<6F>s<02> r<>cCs<>z tjj|j<03>d<01>d<02>}Wntjy!t<05>|d<03>td<04>YSwtjj |t
<EFBFBD> <0B>d<05><02> <0C>}|j dkrh|r?t<05>|d<07>td<08>St|j|j<0F>}|<03><10>ra|jd d
2026-05-07 11:22:14 +00:00
<EFBFBD>}||_|<04><11>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)rorOr<>z employe-index)r9r"rMuIImpossible de créer un contrat : cet employé a déjà un contrat actif.rQF<><01>commituContrat créé avec succès.zFormulaire non valider9)<01>initialr$r+)rr,rBrMrarrbr rr0r<00>today<61>existsr`rr<>rcr<>r9rhr
)r2r9<00> contrat_actifrprFr4r4r5<00>creation_contrats>  <02><04><02>
<04>  <06>r<EFBFBD>cCs<>|jdkrBt<01>|j<03>}z tjj|dd<03>}Wntjy(tddidd<07>YSw|d|_ |d |_
|d
2026-05-07 11:22:14 +00:00
|_ |<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 AJAXrMrPrOrbr<>r<>r<><00>fonction<6F> date_embauche<68> matriculer^u0Détails de l'employé mis à jour avec succès.uMéthode non autorisée.i<>) r`r<>r<>r<>rr,rBrar r<>r<>r<>r<>)r2r<>r9r4r4r5<00>enregistrer_detail_employe$s
 <02>


2026-05-07 11:22:14 +00:00
 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>
2026-05-07 11:22:14 +00:00
<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 r8)<02>user__first_name<6D>user__last_namer7z, cSsg|]}|jj<01>qSr4)rRrirzr4r4r5rG?s<06>z!liste_employe.<locals>.<listcomp>rxc Ss6g|]}|j|j|j|j|j|jr|jjndd<01><06>qS)r8)<06>titre<72> organisme<6D> description<6F>date_obtentionr;<00>
certificat)r<>r<>r<>r<>r;r<>rC<00>rE<00> formationr4r4r5rGFs<04><04><06>rVc
Ss:g|]}|j|j|j|j|j|j|jr|jjndd<01><07>qS)r8)r<>rr:r;<00>salaire_mensuelr#r<)r<>rr:r;r<>r#r<rCrDr4r4r5rGQs <04><04><06>rrwcSs$g|]}it|<01><01>d|jji<01><01>qS)rR)rrRri)rEr<>r4r4r5rG]s<16><06>rPr9r<>rn<00>
formations<EFBFBD> affectationsrRr|<00> departementr<74>r<>r<>r<>r<>r<>r<>r<>)r<>r<>r<>T)rhr<>FrH)!rr,<00>excluder=r>r?<00>joinrr0rr1rrr<00>appendrPr<>rnr<>r<>r<>r<>r<>r<>r<>r<>rCr<>r<>r<>r<>r<>r )r2r%r<>r9r}r<>r|r<>r4r4r5<00> liste_employe6s<>

<04><06><04> <06>  <06> 
<04><06><02><02><02><02><02><02><02><02> <02>
2026-05-07 11:22:14 +00:00
<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 profilrurMFr<46>u Formation ajoutée avec succès r<><00>CFormulaire non valide. Veuillez vérifier les informations saisies.)rr,rBr=r`rrMr<>rcr<>r9rrhr rb)r2r9r<><00> ma_formationr4r4r5<00>ajouter_formations
   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<>r8)rr<>rCr<>r4r4r5rG<00>s<02><02><04><06>z#liste_formation.<locals>.<listcomp>FrH)rr,r0r=r.r )r2r<>r4r4r5<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>rPr%<00>Formation non trouvée.<2E>mes_formationsrM)<01>instanceuFormation mise à jour r<>)rr,rBr=rarrbr r`rrMr<>rcrhr<><00>r2<00> id_formationr<6E>r4r4r5<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<>rMuFormation supprimée ) rr,rBr=rarrbr r`r<>rhr<>r4r4r5<00>supprimer_formation<6F>s  <02>
 r<>)4r<34>rrr<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_utilitairerr6rLrtr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r4r4r4r5<00><module>sR          


2026-05-07 11:22:14 +00:00
=
(
  $

H