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

129 lines
16 KiB
Plaintext
Raw Normal View History

o
N<><4E>j|X<00>@s<>ddlZddlmZmZddlmZddlmZddlmZddl m
Z
ddl m Z ddl mZdd lmZdd
lmZdd lmZmZdd lmZdd lmZddlmZmZmZddlmZm Z m!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>Z0e
d+d,<2C><00>Z1d-d.<2E>Z2e
d/d0<64><00>Z3e
d1d2<EFBFBD><00>Z4dS)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)<05> Affectation<6F>Contrat<61> Departement<6E>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>tj<06><07>d <0A><08>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)<08>employes<65>nombre_employes<65>
nombre_cps<EFBFBD> nombre_stage<67>nombre_expirants<74>affectation_form<72> contrat_form<72> departements)<13>user<65>groups<70>filter<65>existsr r<00>objects<74>all<6C>order_by<62>countrr<00>now<6F>daterr rrr)<07>requestr(r)r*r+<00> date_limiter,<00>r<<00>@/home/sorel/systeme_gestion_cerfig/sirh/gestion_employe/views.py<70>indexs0

<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 r c SsVg|]'}|jjj<02>d|jjj<03><00>ttj<06><01>|j<08>|j |j
2026-08-31 09:48:21 +00:00
|j |j r%|j j ndd<02><06>qS)<03> <20>)<06>employer<00>
date_debut<EFBFBD>date_finr&<00>fichier_contrat)rAr0<00>
first_name<EFBFBD> last_name<6D>dictr<00> TYPE_CONTRAT<41>getrrBrCr&rD<00>url<72><02>.0<EFBFBD>contratr<r<r=<00>
<listcomp>6s <18><04><06>z+liste_contrat_expirants.<locals>.<listcomp>r"r#F<><01>safe)
rr8r9rr<00>DUREE_FIN_CONTRATrr4r2r )r:r;<00>contats_expirantsr<r<r=<00>liste_contrat_expirants1s

<06> rSc Cs(|jdk<02>r|j<01>d<02>}z tjj|d<03>}Wntjy)t<06>|d<04>td<05>YSwt |j<01>}|<03>
2026-08-31 09:48:21 +00:00
<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>rA)<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>r\rZr`r[)rArY<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>methodrTrIrr4<00> DoesNotExistr<00>errorr r<00>is_valid<69> cleaned_datarr2<00> aggregater <00>warningrCr0rErF<00>update_or_create<74>success<73>
nom_projetr<00> envoyer_mail<69>upper<65>strftimerG<00> ROLE_CHOICES<45>email) r:<00>
employe_idrA<00>formrY<00>date_fin_affectation<6F> temps_nouveaur\<00>total_affectationr<r<r=<00>affecter_employe_projetEsj    <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> r{c 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>rAr&<00>rA<00>date_fin_daffectation__gterYNFzgestion_employe/monprofil.htmlr@)rr&rDcSs<g|]}it|j<01><01>|j|jttj<06><01>|j<08>|j d<00><04><01>qS)ra)
r
rYr\rZrGrrtrIr`r[<00>rL<00>ar<r<r=rN<00>s<02><02><06><06>zmon_profil.<locals>.<listcomp>)rA<00>contrats<74>projets<74>formation_form<72> has_contrat<61>expiration_contrat<61>contrat_nb_jours_restant)rr4rIr0rhrrir rr2<00>firstrrr8r9<00>select_related<65>nombre_jours_restantrrQr r
rGrHr<00>STATUT_CONTRATr&rDrJr)r:rAr<>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
<EFBFBD>t d <0B>S) u_Vue pour permettre à un utilisateur de modifier son mot de passe et ses informations de profil<69><01>usernamerTz
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) rr4rIr0rgrTrrri<00> set_password<72>saveror )r:r0<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ér|re<00>Employé non trouvé.rTr<><00>nom<6F>prenomru<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)rr4rIr0rhr rgrrTrFrErur<>r<>r<><00>FILESr<53>rrr8r9r<00>strptime<6D>yearsr<73>rrir<>ror )r:rAr0<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)r0rTr<><00>cv<63>diplome<6D>rib<69>casier_judiciaireu$Documents enregistrés avec succès.r)rr4rIr0rgr<>r<><00>CVr<56>r<>r<>r<>rror )r:rAr<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 contratrW)<01>numero_contratuContrat non trouvé.re<00><><00><01>statusuContrat supprimé avec succès.) <0B>json<6F>loads<64>bodyrr4rIrhrrir <00>delete)r:<00>
id_contratrMr<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 affectationrWrVreuAffectation non trouvée.r<>r<>u$Affectation supprimée avec succès.) r<>r<>r<>rr4rIrhr r<>)r:<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
<EFBFBD> <0B><00> <0C>d<05><02> <0A>}|jdkrj|rAt<05>|d<07>td<08>St|j|j<10>}|<03><11>rc|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)rvrVr<>z employe-index)rAr%rTuIImpossible de créer un contrat : cet employé a déjà un contrat actif.rXF<><01>commituContrat créé avec succès.zFormulaire non validerA)<01>initialr'r.)rr4rIrTrhrrir rr2rr8r9r3rgrr<>rjr<>rAror )r:rA<00> contrat_actifrwrMr<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) NrVriuEmployé 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@)rWr<>rrBrC<00>salaire_mensuelr&<00>fichier)rWr<>rGrrHrIrrBrsrCr<>r<>r&rDrJrKr<r<r=rNKs <04>
<02>

<02><04><06>z$contrats_employe.<locals>.<listcomp>)rAr<>)
rr4rIrhr rr2r6r0<00> get_full_name)r:rvrAr<><00>datar<r<r=<00>contrats_employe<s(
<EFBFBD><02><04><02><06><08>r<EFBFBD>c
CsT|jdkr<>t<01>|j<03>}z tjj|dd<03>}Wntjy(tddidd<07>YSw|<01>d<08>|_ |<01>d <09>|_
|<01>d
<EFBFBD>|_ |<01>d <0B>}t d |<03><02><02>t d t |<03>j<0E><00><02>t d| <00><00><02>|r<>t|<03><01><10>r<>zt|<03>}tjj|d<03>}||_Wn&tjy~d|_Ynttfy<>}z d|_WYd}~nd}~wwd|_|<02><16>tddi<01>Stddidd<07>S)uaVue pour permettre à un utilisateur de modifier les détails d'un employé via une requête AJAXrTrWrVrir<>r<>r<><00>fonction<6F> date_embauche<68> matricule<6C> departementuEBUG] Département brut: uEBUG] Type département: z[DEBUG] Est vide: Nreu0Détails de l'employé mis à jour avec succès.uMéthode non autorisée.i<>)rgr<>r<>r<>rr4rIrhr r<>r<>r<><00>print<6E>type<70>__name__<5F>str<74>strip<69>intrr<><00>
ValueError<EFBFBD> TypeErrorr<72>)r:r<>rA<00>
dept_value<EFBFBD>dept_idr<64><00>er<r<r=<00>enregistrer_detail_employebs:
 <02>   


<08><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<13>d|j<14>d|j<15>d|j<16>d|j<17>d|jr<>|jjnd<01>d|jr<>|jjnd<01>d|jr<>|jjnd<01>|jr<>|jjnd|jr<>|jjnd|jd<1F><03><01>q td |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<)rYrpr<>r<r<r=rN<00>s<06>z!liste_employe.<locals>.<listcomp>rc Ss6g|]}|j|j|j|j|j|jr|jjndd<01><06>qS)r@)<06>titre<72> organisme<6D> description<6F>date_obtentionrC<00>
certificat)r<>r<>r<>r<>rCr<>rJ<00>rL<00> formationr<r<r=rN<00>s<04><04><06>r]c
Ss:g|]}|j|j|j|j|j|j|jr|jjndd<01><07>qS)r@)r<>rrBrCr<>r&rD)r<>rrBrCr<>r&rDrJrKr<r<r=rN<00>s <04><04><06>r"r~cSs$g|]}it|<01><01>d|jji<01><01>qS)rY)r
rYrp)rLr<>r<r<r=rN<00>s<16><06>rWrAr<>ru<00>
formations<EFBFBD> affectationsrYr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>)r<>r<>r<>T)ror<>FrO) rr4<00>excluder0rErF<00>joinrr2rr8r9rr<00>appendrWr<>rur<>r<>r<>r<>r<>r<>r<>rJr<>r<>r<>r<>r<>r )r:r(r<>rAr<>r<>r<>r<>r<r<r=<00> liste_employe<79>s<>

<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 profilr|rTFr<46>u Formation ajoutée avec succès r<00>CFormulaire non valide. Veuillez vérifier les informations saisies.)rr4rIr0rgrrTr<>rjr<>rArror ri)r:rAr<><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<>rJr<>r<r<r=rN<00>s<02><02><04><06>z#liste_formation.<locals>.<listcomp>FrO)rr4r2r0r6r )r:r<>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>rWr(<00>Formation non trouvée.<2E>mes_formationsrT)<01>instanceuFormation mise à jour r<>)rr4rIr0rhrrir rgrrTr<>rjror<><00>r:<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<>rTuFormation supprimée ) rr4rIr0rhrrir rgr<>ror<>r<r<r=<00>supprimer_formation<6F>s  <02>
 r<>)5r<35>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>modelsrrrrrr>rSr{r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<r<r<r=<00><module>sV          


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