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

114 lines
16 KiB
Plaintext
Raw Normal View History

o
2026-10-19 12:16:26 +00:00
<00><17>j<EFBFBD>V<00>@s<>ddlZddlmZmZddlmZddlmZddlm Z ddl
m Z ddl m Z ddlmZmZdd lmZdd
lmZdd lmZmZdd lmZdd lmZddlmZmZmZm 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>Z/ed!d"<22><00>Z0ed#d$<24><00>Z1ed%d&<26><00>Z2ed'd(<28><00>Z3d)d*<2A>Z4ed+d,<2C><00>Z5ed-d.<2E><00>Z6ed/d0<64><00>Z7ed1d2<64><00>Z8ed3d4<64><00>Z9ed5d6<64><00>Z:ed7d8<64><00>Z;d9d:<3A>Z<d;d<<3C>Z=d=d><3E>Z>dS)?<3F>N)<02>Decimal<61>InvalidOperation)<01>messages)<01>login_required)<01>Sum)<01> model_to_dict)<01> JsonResponse)<02>redirect<63>render)<01>timezone)<01>AffectationForm)<02> Affectation<6F>Employe)<01>
2026-10-07 10:30:08 +00:00
ProjetForm)<01>Projet<65>)<05>ActiviteProjetForm<72> BailleurForm<72>DocumentProjetForm<72>FinancementProjetFrom<6F>LivrablesLivresForm)<05>ActiviteProjet<65>Bailleur<75>DocumentProjet<65>FinancementProjet<65>LivrablesLivrescCs<>tj<01><02><00>d<01>}g}|D]7}tjj|d<02><01>d<03>}|<02>|j|j |j
|j |j |j |j|j|j|j|jdd<05>|j<13><02>D<00>dd<05>|D<00>d<07> <0A>q t|dd <09>S)
2026-10-19 12:16:26 +00:00
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>?/home/sorel/systeme_gestion_cerfig/sirh/gestion_projet/views.py<70>
2026-10-07 10:30:08 +00:00
<listcomp>4sz liste_projet.<locals>.<listcomp>cSsg|]}|jj<01>qSr )r<00> nom_organisme)r"<00>fr r r$r%5s) <0A> id_projet<65>
nom_projet<EFBFBD>
2026-10-07 10:30:08 +00:00
date_debut<EFBFBD>date_fin<69>numero_convention<6F> description<6F>budget<65> budget_RH<52>
created_at<EFBFBD>statut<75>
2026-10-07 10:30:08 +00:00
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.r/r0r1r2r3r)<05>request<73>projets<74>data<74>p<> financementr r r$<00> liste_projet!s( 
<EFBFBD> rBcCs\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)rE<00>pourcentage_affectationFr5) rr7r:<00>distinctr<<00>user<65>
first_name<EFBFBD> last_namer <00>get<65>pourcentage_temps_affectationr)r=<00> projet_id<69>employesr?rEr r r$<00>liste_employes_affectes:s
<EFBFBD> rPcCsDtjj|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>rNr)r<00>pourcentage_financementFr5) rr7r:r;r<rr&<00> pourcentager)r=rN<00> bailleursr?<00>br r r$<00>liste_bailleursEs
<EFBFBD> rVc Cs<>tj<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>tjjtjjtjjd<05><01><13>d<06><01><07>d<07>}t|d|<04>S) Nr<00>
2026-10-07 10:30:08 +00:00
employe_idcSsg|] }|jsq|j<00>qS)r)r.)r"rr r r$r%Uszindex.<locals>.<listcomp>)<01>tz)<01> date_fin__gte)<08>form<72>form_ajout_financement<6E>form_ajout_bailleurrT<00>nombre_personnel<65> budget_total<61>formulaire_creation_projet<65>projet_en_courszgestion_projet/index.html)rr7r8r9r <00>valuesrH<00>count<6E>sumr rrrrr:<00>datetime<6D>nowr <00>utc<74>dater
)r=r>r]r^<00>contextr r r$<00>indexQs"<06> ricCs\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>methodrj<00>is_valid<69>saver<00>success<73>errorr
)r=r_rZr r r$<00>creation_projetcs

2026-10-07 10:30:08 +00:00
<02><04>rpcCs<>|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
2026-10-07 10:30:08 +00:00
<EFBFBD>t d <0B>S) u1 Vue de mises à jour des informations du projet rjr(<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) rkrr7rLrj<00> DoesNotExistrrorrlrmrnr )r=r<00> projet_formr r r$<00>mises_a_jour_projetys

2026-10-07 10:30:08 +00:00
<02><1A> <0C>rvcCs<t|j<01>}|jdkr|<01><03>r|<01><04>tddi<01>Stddi<01>S)NrjrnTF)rrjrkrlrmr<00>r=rZr r r$<00>creation_bailleur<75>s
2026-10-07 10:30:08 +00:00
  rxc CsJtj<01><02><00>d<01>}g}|D]}|<02>|j|j|j|j|j d<02><05>q t
|dd<04>S)z3 Vue pour retourner la liste de tous les bailleurs z-id)<05>idr&<00>contact<63>email<69>paysFr5) rr7r8r9r<ryr&rzr{r|r)r=rTr?rUr r r$<00>liste_bailleur<75>s
<EFBFBD> r}c 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
2026-10-07 10:30:08 +00:00
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%rjrSrrrqF<>$Le projet spécifié n’existe pas.)rn<00>messageru(Le pourcentage saisi n’est pas valide.css<00>|]}|jVqdS)N)rS)r"rAr 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_idrSTu!Financement ajouté avec succès.uAucun bailleur sélectionné.<2E>Requête invalide.)rkrjrLrr7rtrrr<00> TypeErrorrcrr:<00>create)r=<00>pourcentage_recupererr<72>rNr<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)
2026-10-07 10:30:08 +00:00
uAVue pour éditer un projet existant via un formulaire pré-rempli<6C>ryr~<00> projet-indexrju(Le projet a été modifié avec succès.z)Erreur lors de la modification du projet.rrzgestion_projet/projet-edit.html)rZr>)rr7rLrtrror rkrrjrlrmrnr
)r=rNrrZr r r$<00>modification_projet<65>s  <02>

  
2026-10-07 10:30:08 +00:00
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>r~r<>rju)Le projet a été supprimé avec succès.)
rr7rLrtrror rk<00>deletern)r=ryrr 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
2026-10-07 10:30:08 +00:00
<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>r~r<>rjrE<00>date_fin_daffectation<6F>temps_affectation<6F>date_affectation)rE)<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).r<>u-Les pourcentages d'affectation de l'employé rDu, dépasse 100% sur les différents projets (<28>%).<2E>role)r<>r<>r<>r<>)rrE<00>defaultsr)<01>initialzErreur : Formulaire non valide.)rr7rLrtrror rkr rjrlr<00> cleaned_dataryr r:<00> aggregater<00>warningr+rJrK<00>update_or_create) r=rNrrZrE<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>
2026-10-07 10:30:08 +00:00
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
2026-10-07 10:30:08 +00:00
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é n’existe pas.r<>rjrS<00>0z"Le pourcentage saisi est invalide.r)<01>total_financement<6E>pourcentage_total_financementrr<>u)Le total des financements dépasse 100% (r<>u"Financement modifié avec succès.)rr7rLrtrror rrkrrjrr:<00>excluderyr<>rrSrmrn)r=<00>financement_idrAr<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
2026-10-07 10:30:08 +00:00
<EFBFBD>}t|d |<03>S) N<>rIu<>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)rE<00>date_fin_daffectation__gter<65>uGSeuls les chefs de projet ont accès à l'onglet 'Suivi des Activités'<27>rEr<>r<>r)r)r^r/<00>form_ajout_activite<74>form_ajout_document<6E>form_ajout_livrable)r<>r<>r<>z"gestion_projet/suivi_activite.html)rr7rLrIrtrror r r rergr:r;<00>firstrrr)r.r/rrrr
)r=rErrhr r r$<00>activites_projet2s:  <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
2026-10-07 10:30:08 +00:00
<EFBFBD>td <0B>S) uIVue pour ajouter une activité à un projet spécifique via un formulairer<65>r<>r<>rrjF<><01>commit<69> budget_prevuu!Activité ajoutée avec succès !<21>,Erreur : vérifiez les informations saisies.<2E>gestion_projet:activites-projet)rr7rLrIr r:r rergr;r<>rkrrjrlrmr<00>budget_depenserrnror )r=rErrZ<00>activiter r r$<00>ajouter_activite_projetTs$

2026-10-07 10:30:08 +00:00
    <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)
2026-10-07 10:30:08 +00:00
uBVue pour retourner la liste des activités d'un projet spécifiquer<65>r<>r<>rrQz -date_debut)
ry<00>titrer*r+r1r<>r<><00>motif_changement_budget<65>besoin_ressource_materieller-Fr5)rr7rLrIr r:r rergr;r<>rrr(r9r<ryr<>r*r+r1r<>r<>r<>r<>r-r)r=rEr<00> activitesr?<00>ar r r$<00>liste_activites_projetfs($
<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>lienFr5) rr7r:<00>print<6E>fichier<65>urlr<r!r)r=<00> activite_id<69> livrablesr?<00>livrabler r r$<00>liste_livrables_activites 
<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
2026-10-07 10:30:08 +00:00
<EFBFBD>S) ueVue pour retourner la liste des activités d'un projet spécifique avec leurs dépenses mises à jourrj<00> id_activiter<65><00>motifr<66>r<>u,Dépenses mises à jour pour l’activité 'z'.u-Erreur lors de la mise à jour des dépenses.r<>)rkrjrL<00>striprr7rr<>r<>r<>rmrrnr<>rtrror )r=r<>r<>r<>r<>r r r$<00>mises_a_jour_depense_activite<74>s$
  
2026-10-07 10:30:08 +00:00
<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 formulairerjuLivrable ajouté avec succès !r<>r<>)
rkrrj<00>FILESrlrmrrnror rwr 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
2026-10-07 10:30:08 +00:00
<EFBFBD>S) uAjoute un document à un projetr<74>r<>r<>rrjFr<46>uDocument ajouté avec succès !u4Erreur : le document n’a pas pu être enregistré.r<>)rr7rLrIr r:r rergr;r<>rkrrjr<>rlrmrrrnror )r=rErrZ<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)
2026-10-07 10:30:08 +00:00
Nr<EFBFBD>r<>r<>r)rFr<>)<04> nom_document<6E>numero<72> date_validite<74> lien_documentFr5)rr7rLrIr r:r rergr;r<>rrr(r<r<>r<>r<>r<>r<>r)r=rEr<00> documentsr?r#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
2026-10-07 10:30:08 +00:00
||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 n’existe pas.zactivites-projetrjrrr<>uActivité « u » modifiée avec succès.u.Erreur lors de la modification de l'activité.zgestion_projet/activite.html)rZr<>)rr7rLrtrror rkrrjrl<00>boolr<6C>rmrnr<>r
)r=ryr<>rZr r r$<00>modifier_activite_projet<65>s.  <02>
 <0C>
2026-10-07 10:30:08 +00:00
<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
2026-10-07 10:30:08 +00:00
|j<0F>d <0B><03>td<03>S) uYVue pour annuler une activité de projet spécifique après confirmation de l'utilisateurrjr<>r<>r<>r<>r<>T<>motif_annulationr<6E>u L'activité 'u ' a été annulée avec succès.)r<>rjrkrror rr7rLrt<00>annulerr<72>r<>rmrnr<>)r=r<>r r r$<00>annuler_activite_projet<65>s

   <02>
2026-10-07 10:30:08 +00:00
r<>)?rd<00>decimalrr<00>django.contribr<00>django.contrib.auth.decoratorsr<00>django.db.modelsr<00>django.forms.modelsr<00> django.httpr<00>django.shortcutsr r
<00> django.utilsr <00>gestion_employe.formsr <00>gestion_employe.modelsr r<00>gestion_projet.formsr<00>gestion_projet.modelsr<00>formsrrrrr<00>modelsrrrrrrBrPrVrirprvrxr}r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r r r r$<00><module>sl           








1
!