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

107 lines
16 KiB
Plaintext
Raw Normal View History

2026-04-27 10:17:10 +00:00
o
kN<6B>iQU<00>@s<>ddlmZddlmZmZddlmZddlmZm Z ddl
m Z ddl m Z ddlmZddlmZdd lmZdd
lmZdd lmZmZdd lmZdd lmZddlmZmZm Z m!Z!m"Z"ddl#m$Z$m%Z%m&Z&m'Z'm(Z(dd<12>Z)dd<14>Z*dd<16>Z+edd<18><00>Z,edd<1A><00>Z-edd<1C><00>Z.edd<1E><00>Z/edd <20><00>Z0ed!d"<22><00>Z1ed#d$<24><00>Z2ed%d&<26><00>Z3d'd(<28>Z4ed)d*<2A><00>Z5ed+d,<2C><00>Z6ed-d.<2E><00>Z7ed/d0<64><00>Z8ed1d2<64><00>Z9ed3d4<64><00>Z:ed5d6<64><00>Z;d7d8<64>Z<d9d:<3A>Z=d;d<<3C>Z>d=S)><3E>)<01>date)<02>Decimal<61>InvalidOperation)<01> JsonResponse)<02>redirect<63>render)<01>timezone)<01>messages)<01>login_required)<01>Sum)<01> model_to_dict)<01>AffectationForm)<02> Affectation<6F>Employe)<01>
ProjetForm)<01>Projet<65>)<05>DocumentProjet<65>Bailleur<75>FinancementProjet<65>ActiviteProjet<65>LivrablesLivres)<05>ActiviteProjetForm<72>DocumentProjetForm<72>FinancementProjetFrom<6F> BailleurForm<72>LivrablesLivresFormcCs<>tj<01><02><00>d<01>}g}|D]9}tjj|d<02><01>d<03>}|<02>|j|j |j
|j |j |j |j|j|j|j|j|jdd<05>|j<14><02>D<00>dd<05>|D<00>d<07><0E>q t|dd <09>S)
z0 Vue pour retourner la liste de tous les projet <20> -created_at<61><01>projet<65>bailleurcSsg|]}|j<00>qS<00>)<01>nom)<02>.0<EFBFBD>dr!r!<00>%/var/www/SIRH/gestion_projet/views.py<70>
<listcomp>1sz liste_projet.<locals>.<listcomp>cSsg|]}|jj<01>qSr!)r <00> nom_organisme)r#<00>fr!r!r%r&2s)<0E> id_projet<65>
nom_projet<EFBFBD>
date_debut<EFBFBD>date_fin<69>numero_convention<6F> description<6F> type_projet<65>budget<65> budget_RH<52>
created_at<EFBFBD>statut<75>
avancement<EFBFBD>domaine_recherche<68>source_financementF<74><01>safe)r<00>objects<74>all<6C>order_byr<00>filter<65>select_related<65>appendr)r*r+r,r-r.r/r0r1r2r3r4r5r)<05>request<73>projets<74>data<74>p<> financementr!r!r%<00> liste_projets* 
<EFBFBD> rDcCs\tjj|d<01><01><03>}g}|D]}|<03>|jj<06>d|jj<07><00>tjj ||d<03>j
d<04><02>q t |dd<06>S)uN Vue pour retourner la liste des employés affectés à un projet spécifique )<01>affectation__projet_id<69> )<02>employe<79>projet__id_projet)rG<00>pourcentage_affectationFr7) rr9r<<00>distinctr><00>user<65>
first_name<EFBFBD> last_namer<00>get<65>pourcentage_temps_affectationr)r?<00> projet_id<69>employesrArGr!r!r%<00>liste_employes_affectes7s
<EFBFBD> rRcCsDtjj|d<01><01>d<02>}g}|D] }|<03>|jj|jd<03><02>qt|dd<05>S)uN Vue pour retourner la liste des bailleurs associés à un projet spécifique <20>rPr )r <00>pourcentage_financementFr7) rr9r<r=r>r r'<00> pourcentager)r?rP<00> bailleursrA<00>br!r!r%<00>liste_bailleursBs
<EFBFBD> rXc
Csxtj<01><02><00>d<01>}tj<01>d<02><01><06><00><07>}tdd<04>|D<00><01>}t <09>t
<EFBFBD>t <0B>t j<01><02>||t <0A>tjjt<0F><10>d<05><01><07>d<06>}t|d|<04>S)Nr<00>
employe_idcSsg|] }|jsq|j<00>qS)r)r0)r#rr!r!r%r&Rszindex.<locals>.<listcomp>)<01> date_fin__gte)<08>form<72>form_ajout_financement<6E>form_ajout_bailleurrV<00>nombre_personnel<65> budget_total<61>formulaire_creation_projet<65>projet_en_courszgestion_projet/index.html)rr9r:r;r<00>valuesrJ<00>count<6E>sumr rrrrr<r<00>todayr)r?r@r^r_<00>contextr!r!r%<00>indexNs<06> rgcCs\t<00>}|jdkr#t|j<02>}|<02><03>r|<02><04>t<05>|d<02>n
t<05>|d<03>nt<00>}t|dd|i<01>S)u3Vue pour créer un nouveau projet via un formulaire<72>POSTuProjet créé avec succès.z$Le formulaire transmis est invalide.z#gestion_projet/creation_projet.htmlr`) r<00>methodrh<00>is_valid<69>saver <00>success<73>errorr)r?r`r[r!r!r%<00>creation_projet`s

<02><04>rncCs<>|jdkrVz tjj|jdd<03>}Wntjy$t<06>|d<04>Yt d <0B>Swt|j|d<05>}|<02> <09>rE|<02>
<EFBFBD>t<06> |d|jd<00>d<07><03>t d <0B>St<06>|d|jd<00>d <09><03>t d <0B>St<06>|d
<EFBFBD>t d <0B>S) u1 Vue de mises à jour des informations du projet rhr)<00>r)zCe projet n'existe pas.<2E><01>instancezLe projet d'identifiant u" a été mis à jour avec succès.zKLes informations de modification transmises pour la modification du projet z ne sont pas valides.u:La méthode de transmission des données n'est pas valide.zgestion_projet:index) rirr9rNrh<00> DoesNotExistr rmrrjrkrlr)r?r<00> projet_formr!r!r%<00>mises_a_jour_projetvs

<02><1A> <0C>rtcCs<t|j<01>}|jdkr|<01><03>r|<01><04>tddi<01>Stddi<01>S)NrhrlTF)rrhrirjrkr<00>r?r[r!r!r%<00>creation_bailleur<75>s

  rvc Cs|jdkr<>|j<01>d<02>}|j<01>d<03>}|j<01>d<04>}z tjj|d<05>}Wntjy1tddd<08><02>YSwz |r9t|<01>ntd <09>}Wntt fyPtdd
d<08><02>YSwt
d d <0C>t jj |d <0A>D<00><01>}||dkrltddd<08><02>S|r~t jj |||d<10>tddd<08><02>Stddd<08><02>Stddd<08><02>S)uRAjoute un financement à un projet en vérifiant que le total ne dépasse pas 100%rhrUr rroF<>$Le projet spécifié nexiste pas.)rl<00>messageru(Le pourcentage saisi nest pas valide.css<00>|]}|jVqdS)N)rU)r#rCr!r!r%<00> <genexpr><3E>s<02>z-ajouter_financement_projet.<locals>.<genexpr>r<00>du(Le total des financements dépasse 100%.)r<00> bailleur_idrUTu!Financement ajouté avec succès.uAucun bailleur sélectionné.<2E>Requête invalide.)rirhrNrr9rrrrr<00> TypeErrorrdrr<<00>create)r?<00>pourcentage_recupererr{rPr<00>pourcentage_nouveau<61>financement_total_actuelr!r!r%<00>ajouter_financement_projet<65>s4
   <02><02> <06>r<>cCs<>z tjj|d<01>}Wntjyt<04>|d<02>td<03>YSw|jdkr@t|j <09>}|<03>
<EFBFBD>r:|<03> <0B>t<04> |d<05>td<03>St<04>|d<06>t|d<07>}t |d||d <09><02>S)
uAVue pour éditer un projet existant via un formulaire pré-rempli<6C><01>idrw<00> projet-indexrhu(Le projet a été modifié avec succès.z)Erreur lors de la modification du projet.rpzgestion_projet/projet-edit.html)r[r@)rr9rNrrr rmrrirrhrjrkrlr)r?rPrr[r!r!r%<00>modification_projet<65>s  <02>

  
r<>cCsbz tjj|d<01>}Wntjyt<04>|d<02>td<03>YSw|jdkr-|<02><08>t<04> |d<05>td<03>S)uMVue pour supprimer un projet spécifique après confirmation de l'utilisateurr<72>rwr<>rhu)Le projet a été supprimé avec succès.)
rr9rNrrr rmrri<00>deleterl)r?r<>rr!r!r%<00>suppression_projet<65>s  <02>
 r<>c
Cs<>z tjj|d<01>}Wntjyt<04>|d<02>td<03>YSw|jdkr<>t|j <09>}|<03>
<EFBFBD>r<>t jj|j dj d<01>}|j d}|j d}|j d}|r<>|r<>tjj|d <09>jtd<07>d
<EFBFBD>d pZd }||krit<04>|d <0A>td<03>S||jkr<>t<04>|d|<05>d|j<13>d<10><05>td<03>S||dkr<>t<04>|d|j<14>d|j<15>d||<00>d<15><07>td<03>Stjj|||j d||j d|d<17>d<18>td|id<1A>}t<04>|d<1B>td<03>S)u[Vue pour affecter un employé à un projet avec vérification des contraintes d'affectationr<6E>rwr<>rhrG<00>date_fin_daffectation<6F>temps_affectation<6F>date_affectation)rG)<01>total_pourcentage_affectationr<6E>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).rzu-Les pourcentages d'affectation de l'employé rFu, dépasse 100% sur les différents projets (<28>%).<2E>role)r<>r<>r<>r<>)rrG<00>defaultsr)<01>initialzErreur : Formulaire non valide.)rr9rNrrr rmrrir rhrjr<00> cleaned_datar<61>rr<<00> aggregater <00>warningr,rLrM<00>update_or_create) r?rPrr[rG<00>date_fin_affectation<6F> temps_nouveaur<75><00>total_affectationr!r!r%<00>affecter_employe_projet<65>sZ  <02>




 <04><04><02> 
 <04><04><06>
r<>cCsz tjj|d<01>}Wntjyt<04>|d<02>td<03>YSw|j}|jdkr~z t |j
<EFBFBD>dd<06><02>}Wnt yDt<04>|d<07>td<03>YSwtjj |d<08>j |jd<01>jtd<05>d <09>d
pZd }||d krqt<04>|d ||<00>d<0E><03>td<03>S||_|<02><12>t<04>|d<0F>td<03>S)Nr<4E>u)Le financement spécifié nexiste pas.r<>rhrU<00>0z"Le pourcentage saisi est invalide.r)<01>total_financement<6E>pourcentage_total_financementrrzu)Le total des financements dépasse 100% (r<>u"Financement modifié avec succès.)rr9rNrrr rmrrrirrhrr<<00>excluder<65>r<>r rUrkrl)r?<00>financement_idrCr<00>nouveau_pourcentager<65>r!r!r%<00>modifier_financement_projets<  <02>
   <02> <04><04><04><02>  r<>cCs<>z
tjj|jd<01>}Wntjyt<05>|d<02>td<03>YSwztjj|t <09>
<EFBFBD><00> <0B>dd<05>WntjyBt<05>|d<06>td<03>YSwtjj |dt <09>
<EFBFBD><00> <0B>d<07><03> d<08><01><0E>}|rpit|<02><01>|jj|jj|jjt<14>t<15>t<16>d <09><06>}n t<14>t<15>t<16>d
<EFBFBD>}t|d |<03>S) N<>rKu<>Impossible d'accéder au menu 'Suivi des activités' car votre profil Utilisateur n'est lié à aucun profil Employe. Veuillez contacter l'administrateur.zgestion_conges:conge<67> chef_projet)rG<00>date_fin_daffectation__gter<65>uGSeuls les chefs de projet ont accès à l'onglet 'Suivi des Activités'<27>rGr<>r<>r)r*r_r1<00>form_ajout_activite<74>form_ajout_document<6E>form_ajout_livrable)r<>r<>r<>z"gestion_projet/suivi_activite.html)rr9rNrKrrr rmrrr<00>nowrr<r=<00>firstr rr*r0r1rrrr)r?rGrrfr!r!r%<00>activites_projet s:  <02>  <02>$<02>
<EFBFBD> <06> r<>cCs<>tjj|jd<01>}tjj|dt<06><07><00><08>d<03><03> d<04><01>
<EFBFBD>}|j dkrLt |j <0A>}|<03><0E>rF|jdd<07>}|j|_|j d|_|<04><0F>t<12>|d <09>td <0B>St<12>|d
<EFBFBD>td <0B>S) uIVue pour ajouter une activité à un projet spécifique via un formulairer<65>r<>r<>rrhF<><01>commit<69> budget_prevuu!Activité ajoutée avec succès !<21>,Erreur : vérifiez les informations saisies.<2E>gestion_projet:activites-projet)rr9rNrKrr<rr<>rr=r<>rirrhrjrkr<00>budget_depenser rlrmr)r?rGrr[<00>activiter!r!r%<00>ajouter_activite_projetAs$

    <0C>r<>cCs<>tjj|jd<01>}tjj|dt<06><07><00><08>d<03><03> d<04><01>
<EFBFBD>}|r)t jj|j j d<05><01>d<06>}ng}g}|D]}|<04>|j|j|j|j|j|j|j|j|j|jd<07>
<EFBFBD>q/t|dd <09>S)
uBVue pour retourner la liste des activités d'un projet spécifiquer<65>r<>r<>rrSz -date_debut)
r<EFBFBD><00>titrer+r,r3r<>r<><00>motif_changement_budget<65>besoin_ressource_materieller.Fr7)rr9rNrKrr<rr<>rr=r<>rrr)r;r>r<>r<>r+r,r3r<>r<>r<>r<>r.r)r?rGr<00> activitesrA<00>ar!r!r%<00>liste_activites_projetSs($
<EFBFBD> r<>cCsTtjj|d<01>}g}|D]}t|jj<05>|<03>|j|jr|jjndd<03><02>q t|dd<05>S)uNVue pour retourner la liste des livrables attendus d'une activité spécifique)<01> activite__id<69>)r<><00>lienFr7) rr9r<<00>print<6E>fichier<65>urlr>r"r)r?<00> activite_id<69> livrablesrA<00>livrabler!r!r%<00>liste_livrables_activitels 
<EFBFBD> r<>c Cs<>|jdkr^|j<01>d<02>}|j<01>d<03>}|j<01>dd<05><02><03>}z.tjj|d<06>}t|<02>|_t|<02>|jkr2||_ nd|_ |<04>
<EFBFBD>t <0B> |d|j <0A>d<08><03>Wtd
<EFBFBD>Stjtfy]t <0B>|d <09>Ytd
<EFBFBD>Swtd
<EFBFBD>S) ueVue pour retourner la liste des activités d'un projet spécifique avec leurs dépenses mises à jourrh<00> id_activiter<65><00>motifr<66>r<>u,Dépenses mises à jour pour lactivité 'z'.u-Erreur lors de la mise à jour des dépenses.r<>)rirhrN<00>striprr9rr<>r<>r<>rkr rlr<>rrrrmr)r?r<>r<>r<>r<>r!r!r%<00>mises_a_jour_depense_activiteys$
  
<12><02>r<>cCsP|jdkr$t|j|j<03>}|<01><04>r|<01><05>t<06>|d<02>t d<04>St<06>|d<03>t d<04>S)uUVue pour ajouter un livrable à une activité de projet spécifique via un formulairerhuLivrable ajouté avec succès !r<>r<>)
rirrh<00>FILESrjrkr rlrmrrur!r!r%<00>ajouter_livrables_projet<65>s
  <0C>r<>cCs<>tjj|jd<01>}tjj|dt<06><07><00><08>d<03><03> d<04><01>
<EFBFBD>}|j dkrHt |j |j<0E>}|<03><0F>rB|jdd<07>}|j|_|<04><10>t<12>|d<08>td
<EFBFBD>St<12>|d <09>td
<EFBFBD>S) uAjoute un document à un projetr<74>r<>r<>rrhFr<46>uDocument ajouté avec succès !u4Erreur : le document na pas pu être enregistré.r<>)rr9rNrKrr<rr<>rr=r<>rirrhr<>rjrkrr rlrmr)r?rGrr[<00>documentr!r!r%<00>ajouter_document_projet<65>s$
   <0C>r<>cCs<>tjj|jd<01>}tjj|dt<06><07><00><08>d<03><03> d<04><01>
<EFBFBD>}|r&t jj|j j d<05>}ng}g}|D]}|<04>|j|j|j|jr=|jjndd<07><04>q,t|dd <09>S)
Nr<EFBFBD>r<>r<>r)rHr<>)<04> nom_document<6E>numero<72> date_validite<74> lien_documentFr7)rr9rNrKrr<rr<>rr=r<>rrr)r>r<>r<>r<>r<>r<>r)r?rGr<00> documentsrAr$r!r!r%<00>liste_documents_projet<65>s$
<EFBFBD> r<>cCs<>z tjj|d<01>}Wntjyt<04>|d<02>td<03>YSw|jdkrTt|j |d<05>}|<03>
<EFBFBD>rJt |j <09>d<06><01>|_ |<03> <0A>t<04>|d|j<0F>d<08><03>td<03>St<04>|d <09>td<03>St|d<05>}t|d
||d <0B><02>S) uSVue pour modifier une activité de projet spécifique via un formulaire pré-remplir<69><00>'L'activité spécifiée nexiste pas.zactivites-projetrhrpr<>uActivité «u » modifiée avec succès.u.Erreur lors de la modification de l'activité.zgestion_projet/activite.html)r[r<>)rr9rNrrr rmrrirrhrj<00>boolr<6C>rkrlr<>r)r?r<>r<>r[r!r!r%<00>modifier_activite_projet<65>s.  <02>
 <0C>
<04><04>r<EFBFBD>cCs<>t|j<01>|jdkrt<03>|d<02>td<03>Sz tjj|j<01>d<04>d<05>}Wntj y5t<03>|d<06>td<03>YSw|jdkrWd|_
|j<01>dd <09><02> <0B>|_ |<01> <0A>t<03>|d
|j<0F>d <0B><03>td<03>S) uYVue pour annuler une activité de projet spécifique après confirmation de l'utilisateurrhr|r<>r<>r<>r<>T<>motif_annulationr<6E>u L'activité 'u ' a été annulée avec succès.)r<>rhrir rmrrr9rNrr<00>annulerr<72>r<>rkrlr<>)r?r<>r!r!r%<00>annuler_activite_projet<65>s

   <02>
r<>N)?<3F>datetimer<00>decimalrr<00> django.httpr<00>django.shortcutsrr<00> django.utilsr<00>django.contribr <00>django.contrib.auth.decoratorsr
<00>django.db.modelsr <00>django.forms.modelsr <00>gestion_employe.formsr <00>gestion_employe.modelsrr<00>gestion_projet.formsr<00>gestion_projet.modelsr<00>modelsrrrrr<00>formsrrrrrrDrRrXrgrnrtrvr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r!r!r!r%<00><module>sh           







1