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

106 lines
30 KiB
Plaintext
Raw Normal View History

2026-04-29 12:44:26 +02:00
<EFBFBD>
2026-04-30 12:19:37 +02:00
<00><1A>iW<00><00><00>ddlmZddlmZmZddlmZddlmZm Z ddl
2026-04-29 12:44:26 +02:00
m Z ddl m Z ddlmZddlmZdd lmZdd
2026-04-30 12:19:37 +02:00
lmZdd lmZmZdd lmZdd lmZddlmZmZm Z m!Z!m"Z"ddl#m$Z$m%Z%m&Z&m'Z'm(Z(d<11>Z)d<12>Z*d<13>Z+ed<14><00>Z,ed<15><00>Z-ed<16><00>Z.ed<17><00>Z/ed<18><00>Z0ed<19><00>Z1ed<1A><00>Z2ed<1B><00>Z3ed<1C><00>Z4d<1D>Z5ed<1E><00>Z6ed<1F><00>Z7ed <20><00>Z8ed!<21><00>Z9ed"<22><00>Z:ed#<23><00>Z;ed$<24><00>Z<d%<25>Z=d&<26>Z>d'<27>Z?y())<29>)<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>
2026-04-29 12:44:26 +02:00
ProjetForm)<01>Projet<65>)<05>DocumentProjet<65>Bailleur<75>FinancementProjet<65>ActiviteProjet<65>LivrablesLivres)<05>ActiviteProjetForm<72>DocumentProjetForm<72>FinancementProjetFrom<6F> BailleurForm<72>LivrablesLivresFormc<00><><00>tjj<00>jd<01>}g}|D<00>]}tjj |<03><02>j d<03>}|j|j|j|j|j|j|j|j|j|j |j"|j$|j&|j(j<00>D<00>cgc]}|j*<00><02>c}|D<00>cgc]}|j,j.<00><02>c}d<04><0E><00><01>t1|d<05><06>Scc}wcc}w)z0 Vue pour retourner la liste de tous les projet <20> -created_at<61><01>projet<65>bailleur)<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)r*r+r,r-r.r/<00>nomr"<00> nom_organismer)<07>request<73>projets<74>data<74>p<> financement<6E>d<>fs <20>//home/fatima/modif/sirh/gestion_projet/views.py<70> liste_projetrCs<00><00><14>n<EFBFBD>n<EFBFBD> <20> <20>"<22>+<2B>+<2B>M<EFBFBD>:<3A>G<EFBFBD> <0A>D<EFBFBD> <14> <0B><01>'<27>/<2F>/<2F>6<>6<>a<EFBFBD>6<>@<40>O<>O<>PZ<50>[<5B> <0B> <0C> <0B> <0B><1A><1B><1B><1B>,<2C>,<2C><1B>,<2C>,<2C><19>
<EFBFBD>
<EFBFBD>!"<22>!4<>!4<><1C>=<3D>=<3D><1C>=<3D>=<3D><17>h<EFBFBD>h<EFBFBD><1A><1B><1B><1B>,<2C>,<2C><17>h<EFBFBD>h<EFBFBD><1B>,<2C>,<2C>12<31>1D<31>1D<31>1H<31>1H<31>1J<31>!K<>A<EFBFBD>!<21>%<25>%<25>!K<>EP<45>"Q<><01>1<EFBFBD>:<3A>:<3A>#;<3B>#;<3B>"Q<>
<EFBFBD> <0B> <0B>& <18><04>5<EFBFBD> )<29>)<29><> "L<01><>"Qs <00>E"<22>)E$$c<00>^<00>tjj|<01><01>j<00>}g}|D]l}|j |j
j <00>d|j
j<00><00>tjj||<01><03>jd<04><02><00>nt|d<05><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_affectationFr1) rr3r6<00>distinctr8<00>user<65>
first_name<EFBFBD> last_namer<00>get<65>pourcentage_temps_affectationr)r;<00> projet_id<69>employesr=rGs rB<00>liste_employes_affectesrR7s<><00><00><16><EFBFBD><EFBFBD>%<25>%<25>Y<EFBFBD>%<25>G<>P<>P<>R<>H<EFBFBD> <0A>D<EFBFBD><1B> <0B><07> <0C> <0B> <0B>!<21>,<2C>,<2C>1<>1<>2<>!<21>G<EFBFBD>L<EFBFBD>L<EFBFBD>4J<34>4J<34>3K<33>L<>'2<>':<3A>':<3A>'><3E>'><3E>w<EFBFBD>bk<62>'><3E>'l<>(K<02>(K<02>
<EFBFBD> <0B> <0B>
<18><04>5<EFBFBD> )<29>)<29>c<00><><00>tjj|<01><01>jd<02>}g}|D]4}|j |j
j |jd<03><02><00>6t|d<04><05>S)uN Vue pour retourner la liste des bailleurs associés à un projet spécifique <20>rPr")r"<00>pourcentage_financementFr1) rr3r6r7r8r"r:<00> pourcentager)r;rP<00> bailleursr=<00>bs rB<00>liste_bailleursrZBso<00><00>!<21>)<29>)<29>0<>0<>9<EFBFBD>0<>E<>T<>T<>U_<55>`<60>I<EFBFBD> <0A>D<EFBFBD> <16> <0B><01> <0C> <0B> <0B><19>
<EFBFBD>
<EFBFBD>0<>0<>'(<28>}<7D>}<7D>
<EFBFBD> <0B> <0B> <18><04>5<EFBFBD> )<29>)rSc <00>`<00>tjj<00>jd<01>}tjj d<02>j <00>j<00>}t|D<00>cgc]}|js<01>|j<00><02>c}<03>}t<00>t<00>t<00>tjj<00>||t<00>tjjt!j"<00><00><03>j<00>d<04>}t%|d|<05>Scc}w)Nr<00>
employe_id)<01> date_fin__gte)<08>form<72>form_ajout_financement<6E>form_ajout_bailleurrX<00>nombre_personnel<65> budget_total<61>formulaire_creation_projet<65>projet_en_courszgestion_projet/index.html)rr3r4r5r<00>valuesrJ<00>count<6E>sumr*rrrrrr6r<00>todayr)r;r<rar!rb<00>contexts rB<00>indexrjNs<><00><00><14>n<EFBFBD>n<EFBFBD> <20> <20>"<22>+<2B>+<2B>M<EFBFBD>:<3A>G<EFBFBD>"<22>*<2A>*<2A>1<>1<>,<2C>?<3F>H<>H<>J<>P<>P<>R<><14><16>G<EFBFBD>R<>&<26>v<EFBFBD>}<7D>}<7D>PQ<50><06> <0A> <0A>R<>S<>L<EFBFBD><1F>!<21>"7<>"9<>+<2B>~<7E><1D>%<25>%<25>)<29>)<29>+<2B>,<2C>$<24>&0<>l<EFBFBD>!<21>><3E>><3E>0<>0<>t<EFBFBD>z<EFBFBD>z<EFBFBD>|<7C>0<>L<>R<>R<>T<> <06>G<EFBFBD> <12>'<27>6<><07> @<40>@<40><>Ss<00>2 D+c<00>,<00>t<00>}|jdk(rct|j<00>}|j<00>r'|j <00>t j |d<02>n!t j|d<03>n
t<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.htmlrc) r<00>methodrl<00>is_valid<69>saver
<00>success<73>errorr)r;rcr^s rB<00>creation_projetrr`s}<00><00>#-<2D>,<2C><1E><0E>~<7E>~<7E><16><1F><19>'<27>,<2C>,<2C>'<27><04> <0F>=<3D>=<3D>?<3F> <10>I<EFBFBD>I<EFBFBD>K<EFBFBD> <14> <1C> <1C>W<EFBFBD>&C<> D<> <14>N<EFBFBD>N<EFBFBD>7<EFBFBD>$J<> K<><19>|<7C><04> <11><0F>-<2D> (<28>*D<>
<EFBFBD> <06>rSc<00>f<00>|jdk(r<> tjj|jd<00><03>}t |j|<01><04>}|j <00>rB|j<00>tj|d|jd<00>d<06><03>td <0B>Stj|d|jd<00>d<08><03>td <0B>Stj|d
<EFBFBD>td <0B>S#tj$r#tj|d <09>Ytd <0B>SwxYw) u1 Vue de mises à jour des informations du projet rlr#<00>r#<00><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.zCe projet n'existe pas.u:La méthode de transmission des données n'est pas valide.zgestion_projet:index) rmrr3rNrlrrnror
rprq<00> DoesNotExistr)r;r!<00> projet_forms rB<00>mises_a_jour_projetryvsD<00><00><0F>~<7E>~<7E><16><1F>
h<02><1B>^<5E>^<5E>'<27>'<27>G<EFBFBD>L<EFBFBD>L<EFBFBD><1B>4M<34>'<27>N<>F<EFBFBD>%<25>W<EFBFBD>\<5C>\<5C>F<EFBFBD>C<>K<EFBFBD><1A>#<23>#<23>%<25><1B> <20> <20>"<22><18> <20> <20><17>,D<>W<EFBFBD>\<5C>\<5C>R]<5D>E^<5E>D_<44>`B<02>+C<02>D<02>
2026-04-30 12:19:37 +02:00
<14>*<2A> +<2B>+<2B><19><0E><0E>w<EFBFBD>*u<>v}<7D>wC<02>wC<02>DO<02>wP<02>vQ<02>Qf<02>)g<02>h<02> <14>*<2A> +<2B>+<2B> <11><0E><0E>w<EFBFBD> \<5C>]<5D> <13>*<2A> +<2B>+<2B><><16>"<22>"<22> ?<3F> <14>N<EFBFBD>N<EFBFBD>7<EFBFBD>$=<3D> ><3E> <14>*<2A> +<2B>+<2B> ?<3F>s<00>-C:<00>:)D0<03>/D0c<00><><00>t|j<00>}|jdk(r-|j<00>r|j <00>t ddi<01>St ddi<01>S)NrlrpTF)rrlrmrnror<00>r;r^s rB<00>creation_bailleurr|<00>sN<00><00> <17><07> <0C> <0C> %<25>D<EFBFBD><0E>~<7E>~<7E><16><1F> <0F>=<3D>=<3D>?<3F> <10>I<EFBFBD>I<EFBFBD>K<EFBFBD><1F><19>D<EFBFBD> 1<>2<> 2<> <17><19>E<EFBFBD>*<2A> +<2B>+rSc <00><00>tjj<00>jd<01>}g}|D]K}|j |j
|j |j|j|jd<02><05><00>Mt|d<03><04>S)z3 Vue pour retourner la liste de tous les bailleurs z-id)<05>idr:<00>contact<63>email<69>paysFr1) rr3r4r5r8r~r:rr<>r<>r)r;rXr=rYs rB<00>liste_bailleurr<72><00>sz<00><00><19> <20> <20>$<24>$<24>&<26>/<2F>/<2F><05>6<>I<EFBFBD> <0A>D<EFBFBD> <16> <0B><01> <0C> <0B> <0B><0F>d<EFBFBD>d<EFBFBD><1A><1F><1F><14>9<EFBFBD>9<EFBFBD><12><17><17><11><06><06> 
<EFBFBD> <0B> <0B> <18><04>5<EFBFBD> )<29>)rSc<00><><00>|jdk(<00>r|jjd<02>}|jjd<03>}|jjd<04>} tjj|<03><05>} |r t|<01>n
2026-04-29 12:44:26 +02:00
td <09>}td <0B>tjj|<04> <0C>D<00><00>}||zd kDrt ddd<08><02>S|r0tjj|||<05><0F>t ddd<08><02>St ddd<08><02>St ddd<08><02>S#tj
$rt ddd<08><02>cYSwxYw#ttf$rt dd
2026-04-30 12:19:37 +02:00
d<08><02>cYSwxYw)uRAjoute un financement à un projet en vérifiant que le total ne dépasse pas 100%rlrWr"r!rtF<>$Le projet spécifié nexiste pas.)rp<00>messageru(Le pourcentage saisi nest pas valide.c3<00>4K<00>|]}|j<00><01><00>y<00>w)N)rW)<02>.0r?s rB<00> <genexpr>z-ajouter_financement_projet.<locals>.<genexpr><3E>s<00><00><><00>'C<02>;<3B>{<7B>'><3E>'><3E>'C<02>s<00>r <00>du(Le total des financements dépasse 100%.)r!<00> bailleur_idrWTu!Financement ajouté avec succès.uAucun bailleur sélectionné.<2E>Requête invalide.)rmrlrNrr3rwrrr<00> TypeErrorrgrr6<00>create)r;<00>pourcentage_recupererr<72>rPr!<00>pourcentage_nouveau<61>financement_total_actuels rB<00>ajouter_financement_projetr<74><00>s<><00><00><0F>~<7E>~<7E><16><1F> '<27> <0C> <0C> 0<> 0<><1D> ?<3F><1D><1D>l<EFBFBD>l<EFBFBD>&<26>&<26>z<EFBFBD>2<> <0B><1B>L<EFBFBD>L<EFBFBD>$<24>$<24>X<EFBFBD>.<2E> <09> g<01><1B>^<5E>^<5E>'<27>'<27>)<29>'<27><<3C>F<EFBFBD> k<01>DY<44>'<27>*?<3F>"@<40>_f<5F>gh<67>_i<5F> <1F>$'<27>'C<02>Rc<52>Rk<52>Rk<52>Rr<52>Rr<52>{A<02>Rr<52>SB<02>'C<02>$C<02> <20> #<23>&9<> 9<>C<EFBFBD> ?<3F><1F>E<EFBFBD>>h<> i<>j<> j<> <16> <1D> %<25> %<25> ,<2C> ,<2C><1D>'<27>/<2F> -<2D> <0E>
2026-04-29 12:44:26 +02:00
 <20>D<EFBFBD>=`<60> a<>b<> b<><1F>E<EFBFBD>>]<5D> ^<5E>_<> _<> <17>E<EFBFBD>6J<36>K<> L<>L<><4C>+<16>"<22>"<22> g<01><1F>E<EFBFBD>>d<> e<>f<> f<> g<01><>
!<21>)<29>,<2C> k<01><1F>E<EFBFBD>>h<> i<>j<> j<> k<01>s$<00># D0<00>E<00>0!E<03>E<03>E7<03>6E7c<00><><00> tjj|<01><01>}|jdk(rlt|j<00>}|j<00>r1|j<00>t j|d<05>t d<03>St j
|d<06>t|<02><07>}t|d||d <09><02>S#tj$r$t j
|d<02>t d<03>cYSwxYw)
2026-04-30 12:19:37 +02:00
uAVue pour éditer un projet existant via un formulaire pré-rempli<6C>r~r<><00> projet-indexrlu(Le projet a été modifié avec succès.z)Erreur lors de la modification du projet.ruzgestion_projet/projet-edit.html)r^r<)rr3rNrwr
rqrrmrrlrnrorpr)r;rPr!r^s rB<00>modification_projetr<74><00>s<><00><00>(<28><17><1E><1E>#<23>#<23>y<EFBFBD>#<23>1<><06>
2026-04-29 12:44:26 +02:00
<0F>~<7E>~<7E><16><1F><19>'<27>,<2C>,<2C>'<27><04> <0F>=<3D>=<3D>?<3F> <10>I<EFBFBD>I<EFBFBD>K<EFBFBD> <14> <1C> <1C>W<EFBFBD>&P<> Q<><1B>N<EFBFBD>+<2B> +<2B><10><0E><0E>w<EFBFBD> K<>L<> <15>v<EFBFBD> &<26>D<EFBFBD> <11>'<27><<3C>t<EFBFBD>X^<5E>>_<> `<60>`<60><> <12> <1E> <1E>(<28><10><0E><0E>w<EFBFBD> F<>G<><17><0E>'<27>'<27>(<28>s<00> B9<00>94C0<03>/C0c<00>8<00> tjj|<01><01>}|jdk(r&|j<00>t j|d<05>t d<03>S#tj$r$t j
2026-04-30 12:19:37 +02:00
|d<02>t d<03>cYSwxYw)uMVue pour supprimer un projet spécifique après confirmation de l'utilisateurr<72>r<>r<>rlu)Le projet a été supprimé avec succès.)
2026-04-29 12:44:26 +02:00
rr3rNrwr
2026-04-30 12:19:37 +02:00
rqrrm<00>deleterp)r;r~r!s rB<00>suppression_projetr<74><00>s<><00><00>(<28><17><1E><1E>#<23>#<23>r<EFBFBD>#<23>*<2A><06>
2026-04-29 12:44:26 +02:00
<0F>~<7E>~<7E><16><1F><0E> <0A> <0A><0F><10><18><18><17>"M<>N<> <13>N<EFBFBD> #<23>#<23><> <12> <1E> <1E>(<28><10><0E><0E>w<EFBFBD> F<>G<><17><0E>'<27>'<27>(<28>s<00> A"<00>"4B<03>Bc
<00><><00> tjj|<01><01>}|jdk(<00>r<>t|j<00>}|j<00><00>r<>tjj|jdj<00><01>}|jd}|jd}|jd}|r<>|r<>tjj|<04> <09>j!t#d<07><00>
<EFBFBD>d xsd }||kr!t j$|d <0A>t d<03>S||j&kDr2t j$|d|<05>d|j&<00>d<10><05>t d<03>S||zdkDrBt j$|d|j(<00>d|j*<00>d||z<00>d<15><07>t d<03>Stjj-|||jd||jd|d<17><04><18>td|i<01><1A>}t j
|d<1B>t d<03>S#tj$r$t j
2026-04-30 12:19:37 +02:00
|d<02>t d<03>cYSwxYw)u[Vue pour affecter un employé à un projet avec vérification des contraintes d'affectationr<6E>r<>r<>rlrG<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).r<>u-Les pourcentages d'affectation de l'employé rFu, dépasse 100% sur les différents projets (<28>%).<2E>role)r<>r<>r<>r<>)r!rG<00>defaultsr!)<01>initialzErreur : Formulaire non valide.)rr3rNrwr
rqrrmrrlrnr<00> cleaned_datar~rr6<00> aggregater <00>warningr&rLrM<00>update_or_create) r;rPr!r^rG<00>date_fin_affectation<6F> temps_nouveaur<75><00>total_affectations rB<00>affecter_employe_projetr<74><00>s<><00><00>(<28><17><1E><1E>#<23>#<23>y<EFBFBD>#<23>1<><06>
2026-04-29 12:44:26 +02:00
<0F>~<7E>~<7E><16><1F><1E>w<EFBFBD>|<7C>|<7C>,<2C><04> <0F>=<3D>=<3D>?<3F><1D>o<EFBFBD>o<EFBFBD>)<29>)<29>T<EFBFBD>-><3E>-><3E>y<EFBFBD>-I<>-L<>-L<>)<29>M<>G<EFBFBD>#'<27>#4<>#4<>5L<35>#M<> <20> <20>-<2D>-<2D>.A<>B<>M<EFBFBD>#<23>0<>0<>1C<31>D<> <1C>$<24>)9<><1F>'<27>'<27>.<2E>.<2E>w<EFBFBD>.<2E>?<3F><1E>Y<EFBFBD>S<EFBFBD>AT<41>=U<>Y<EFBFBD>V<>4<>6<>;<3B>9:<3A>"<22>
)<29>+;<3B>;<3B><1C>$<24>$<24>W<EFBFBD>/A<02>B<02>#<23>N<EFBFBD>3<>3<>)<29>F<EFBFBD>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>N<EFBFBD>3<>3<>&<26><1D>6<><13><<3C><1C>$<24>$<24><1F>G<><07>HZ<48>HZ<48>G[<5B>[\<5C>]d<>]n<>]n<>\o<>p\<02>]n<02>q~<02>]~<02>\<02>B<03>C<03><16>$<24>N<EFBFBD>3<>3<> <17> <1F> <1F> 0<> 0<><1D><1F>(,<2C>(9<>(9<>:L<>(M<>-A<> <20>-<2D>-<2D>f<EFBFBD>5<>)6<> <12> 1<> <0E><1F><08>&<26>'9<>:<3A><04><10><0E><0E>w<EFBFBD> A<>B<> <13>N<EFBFBD> #<23>#<23><>W <12> <1E> <1E>(<28><10><0E><0E>w<EFBFBD> F<>G<><17><0E>'<27>'<27>(<28>s<00> H!<00>!4I<03>Ic<00><00> tjj|<01><01>}|j}|jdk(r<> t|jjdd<06><00>}tjj|<03><08>j|j<00><01>jt!d<05><00> <09>d
xsd }||zd kDr(t j
|d ||z<00>d<0E><03>t d<03>S||_|j%<00>t j&|d<0F>t d<03>S#tj$r$t j
|d<02>t d<03>cYSwxYw#t$r$t j
2026-04-30 12:19:37 +02:00
|d<07>t d<03>cYSwxYw)Nr<4E>u)Le financement spécifié nexiste pas.r<>rlrW<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.)rr3rNrwr
rqrr!rmrrlrr6<00>excluder~r<>r rWrorp)r;<00>financement_idr?r!<00>nouveau_pourcentager<65>s rB<00>modifier_financement_projetr<74>s<><00><00>(<28>'<27>/<2F>/<2F>3<>3<>~<7E>3<>F<> <0B><19> <1F> <1F>F<EFBFBD><0E>~<7E>~<7E><16><1F> ,<2C>")<29>'<27>,<2C>,<2C>*:<3A>*:<3A>=<3D>#<23>*N<>"O<> <1F>
2026-04-29 12:44:26 +02:00
<1E> %<25> %<25> ,<2C> ,<2C>F<EFBFBD> ,<2C> ;<3B> <14>W<EFBFBD> <0B><0E><0E>W<EFBFBD> '<27> <16>Y<EFBFBD><13>]<5D>);<3B>Y<EFBFBD> <<3C>=\<5C> ^<01> c<01>ab<61> &<26>
)<29>+><3E> ><3E><13> D<> <14>N<EFBFBD>N<EFBFBD>7<EFBFBD>&O<>Pm<50>qD<02>QD<02>PE<02>EH<02>%I<02> J<02><1B>N<EFBFBD>+<2B> +<2B>"5<> <0B><1F><13><18><18><1A><10><18><18><17>"F<>G<> <13>N<EFBFBD> #<23>#<23><>+ <1D> )<29> )<29>(<28><10><0E><0E>w<EFBFBD> K<>L<><17><0E>'<27>'<27>(<28><> <20> ,<2C> <14>N<EFBFBD>N<EFBFBD>7<EFBFBD>$H<> I<><1B>N<EFBFBD>+<2B> +<2B> ,<2C>s"<00> D%<00>%E<00>%4E<03>E<03>*F <03> F c<00><><00> tjj|j<00><01>} tjj|tj<00>j<00>d<04><05>tjj|dtj<00>j<00><00><07>jd<08>j<00>}|rkit|<02><00>|j j"|j j$|j j&t)<00>t+<00>t-<00>d <09><06>}nt)<00>t+<00>t-<00>d
2026-04-30 12:19:37 +02:00
<EFBFBD>}t/|d |<03>S#tj$r$t j |d<02>td<03>cYSwxYw#tj$r$t j |d<06>td<03>cYSwxYw) 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$rbr+<00>form_ajout_activite<74>form_ajout_document<6E>form_ajout_livrable)r<>r<>r<>z"gestion_projet/suivi_activite.html)rr3rNrKrwr
rqrrr <00>nowrr6r7<00>firstr r!r$r*r+rrrr)r;rGr!ris rB<00>activites_projetr<74>/s<><00><00>0<><19>/<2F>/<2F>%<25>%<25>7<EFBFBD><<3C><<3C>%<25>8<><07>
2026-04-29 12:44:26 +02:00
0<><13><1B><1B><1F><1F><07>h<EFBFBD>l<EFBFBD>l<EFBFBD>n<EFBFBD>Na<4E>Na<4E>Nc<4E>jw<6A><1F>x<>
<19> <20> <20> '<27> '<27><07>m<EFBFBD>hp<68>ht<68>ht<68>hv<68>h{<7B>h{<7B>h}<7D> '<27> ~<7E>N<02>N<02>OW<02>X<02>^<02>^<02>`<02>F<EFBFBD> <0A>
<EFBFBD><1B>F<EFBFBD>#<23>
<EFBFBD> <20>-<2D>-<2D>2<>2<>"<22>M<EFBFBD>M<EFBFBD>0<>0<><1F><1D><1D>0<>0<>#5<>#7<>#5<>#7<>#6<>#8<>
<EFBFBD><07>$6<>#7<>#5<>#7<>#6<>#8<>
<EFBFBD><07>
<12>'<27>?<3F><17> I<>I<><49>7 <13> <1F> <1F>0<><10><0E><0E>w<EFBFBD>!}<02> ~<02><17>.<2E>/<2F>/<2F>0<><30> <17> #<23> #<23>0<><10><0E><0E>w<EFBFBD> i<>j<><17>.<2E>/<2F>/<2F>0<>s#<00>*E&<00>AF <00>&4F<03>F<03> 4G<03>Gc<00><><00>tjj|j<00><01>}tjj |dt j<00>j<00><00><03>jd<04>j<00>}|jdk(r<>t|j<00>}|j<00>rh|jd<06><07>}|j |_|jd|_|j<00>t%j&|d <09>t+d <0B>St%j(|d
2026-04-30 12:19:37 +02:00
<EFBFBD>t+d <0B>S) uIVue pour ajouter une activité à un projet spécifique via un formulairer<65>r<>r<>r!rlF<><01>commit<69> budget_prevuu!Activité ajoutée avec succès !<21>,Erreur : vérifiez les informations saisies.<2E>gestion_projet:activites-projet)rr3rNrKrr6r r<>rr7r<>rmrrlrnror!<00>budget_depenser
rprqr)r;rGr!r^<00>activites rB<00>ajouter_activite_projetr<74>Ps<00><00><16>o<EFBFBD>o<EFBFBD>!<21>!<21>w<EFBFBD>|<7C>|<7C>!<21>4<>G<EFBFBD> <18> <20> <20> '<27> '<27><07>m<EFBFBD>hp<68>ht<68>ht<68>hv<68>h{<7B>h{<7B>h}<7D> '<27> ~<7E>N<02>N<02>OW<02>X<02>^<02>^<02>`<02>F<EFBFBD><0E>~<7E>~<7E><16><1F>!<21>'<27>,<2C>,<2C>/<2F><04> <0F>=<3D>=<3D>?<3F><1B>y<EFBFBD>y<EFBFBD><05>y<EFBFBD>.<2E>H<EFBFBD>$<24>m<EFBFBD>m<EFBFBD>H<EFBFBD>O<EFBFBD>&-<2D>l<EFBFBD>l<EFBFBD>><3E>&B<>H<EFBFBD> #<23> <14>M<EFBFBD>M<EFBFBD>O<EFBFBD> <14> <1C> <1C>W<EFBFBD>&I<> J<> <14>5<> 6<>6<> <15>N<EFBFBD>N<EFBFBD>7<EFBFBD>$R<> S<> <13>5<> 6<>6rSc<00><><00>tjj|j<00><01>}tjj |dt j<00>j<00><00><03>jd<04>j<00>}|rDtjj |jj<00><05>jd<06>}ng}g}|D]<5D>}|j|j |j"|j$|j&|j(|j*|j,|j.|j0|j2d<07>
2026-04-29 12:44:26 +02:00
<EFBFBD><00><>t5|d<08> <09>S)
2026-04-30 12:19:37 +02:00
uBVue pour retourner la liste des activités d'un projet spécifiquer<65>r<>r<>r!rUz -date_debut)
r~<00>titrer%r&r-r<>r<><00>motif_changement_budget<65>besoin_ressource_materieller(Fr1)rr3rNrKrr6r r<>rr7r<>rr!r#r5r8r~r<>r%r&r-r<>r<>r<>r<>r(r)r;rGr!<00> activitesr=<00>as rB<00>liste_activites_projetr<74>bs1<00><00><16>o<EFBFBD>o<EFBFBD>!<21>!<21>w<EFBFBD>|<7C>|<7C>!<21>4<>G<EFBFBD> <18> <20> <20> '<27> '<27><07>m<EFBFBD>hp<68>ht<68>ht<68>hv<68>h{<7B>h{<7B>h}<7D> '<27> ~<7E>N<02>N<02>OW<02>X<02>^<02>^<02>`<02>F<EFBFBD> <0A>"<22>*<2A>*<2A>1<>1<>F<EFBFBD>M<EFBFBD>M<EFBFBD><S<><S<>1<>T<>]<5D>]<5D>^k<>l<> <09><16> <09> <0A>D<EFBFBD> <16>  <0B><01> <0C> <0B> <0B><13>$<24>$<24><16>W<EFBFBD>W<EFBFBD><1B>,<2C>,<2C><19>
2026-04-29 12:44:26 +02:00
<EFBFBD>
<EFBFBD><17>h<EFBFBD>h<EFBFBD><1D>N<EFBFBD>N<EFBFBD><1F>.<2E>.<2E>'(<28>'@<40>'@<40>+,<2C>+H<>+H<><1C>=<3D>=<3D> 
<EFBFBD> <0B>  <0B> <18><04>5<EFBFBD> )<29>)rSc<00>,<00>tjj|<01><01>}g}|D]a}t|jj
<00>|j |j|jr|jj
2026-04-30 12:19:37 +02:00
ndd<03><02><00>ct|d<04><05>S)uNVue pour retourner la liste des livrables attendus d'une activité spécifique)<01> activite__id<69>)r<><00>lienFr1) rr3r6<00>print<6E>fichier<65>urlr8r9r)r;<00> activite_id<69> livrablesr=<00>livrables rB<00>liste_livrables_activiter<65>{s<><00><00> <20>'<27>'<27>.<2E>.<2E>K<EFBFBD>.<2E>H<>I<EFBFBD> <0A>D<EFBFBD><1D> <0B><08> <0A>h<EFBFBD><1E><1E>"<22>"<22>#<23> <0C> <0B> <0B><1D>\<5C>\<5C>,4<>,<<3C>,<<3C>H<EFBFBD>$<24>$<24>(<28>(<28>"<22>
2026-04-29 12:44:26 +02:00
<EFBFBD> <0B> <0B> <18><04>5<EFBFBD> )<29>)rSc<00><><00>|jdk(r<>|jjd<02>}|jjd<03>}|jjdd<05>j<00>} tj
j|<01><06>}t |<02>|_t |<02>|jk7r||_ nd|_ |j<00>tj|d|j<00>d<08><03>t#d
<EFBFBD>St#d
<EFBFBD>S#tjtf$r#tj |d <09>Yt#d
2026-04-30 12:19:37 +02:00
<EFBFBD>SwxYw) ueVue pour retourner la liste des activités d'un projet spécifique avec leurs dépenses mises à jourrl<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<>)rmrlrN<00>striprr3rr<>r<>r<>ror
rpr<>rwrrqr)r;r<>r<>r<>r<>s rB<00>mises_a_jour_depense_activiter<65><00>s&<00><00><0F>~<7E>~<7E><16><1F><1D>l<EFBFBD>l<EFBFBD>&<26>&<26>}<7D>5<> <0B> <20><1C><1C>)<29>)<29>*:<3A>;<3B><0E><17> <0C> <0C> <20> <20><17>"<22>-<2D>3<>3<>5<><05>
U<01>%<25>-<2D>-<2D>1<>1<>[<5B>1<>A<>H<EFBFBD>&-<2D>n<EFBFBD>&=<3D>H<EFBFBD> #<23><16>~<7E>&<26>(<28>*?<3F>*?<3F>?<3F>38<33><08>0<>35<33><08>0<> <14>M<EFBFBD>M<EFBFBD>O<EFBFBD> <14> <1C> <1C>W<EFBFBD>(T<>U]<5D>Uc<55>Uc<55>Td<54>df<64>&g<> h<> <14>5<> 6<>6<>8<EFBFBD>5<> 6<>6<><36><1F>+<2B>+<2B>-=<3D>><3E> U<01> <14>N<EFBFBD>N<EFBFBD>7<EFBFBD>$S<> T<> <13>5<> 6<>6<> U<01>s<00>1B D<00>/E<03> Ec<00>$<00>|jdk(rwt|j|j<00>}|j <00>r1|j <00>t j|d<02>td<04>St j|d<03>td<04>S)uUVue pour ajouter un livrable à une activité de projet spécifique via un formulairerluLivrable ajouté avec succès !r<>r<>)
2026-04-29 12:44:26 +02:00
rmrrl<00>FILESrnror
2026-04-30 12:19:37 +02:00
rprqrr{s rB<00>ajouter_livrables_projetr<74><00>sr<00><00><0F>~<7E>~<7E><16><1F>"<22>7<EFBFBD><<3C><<3C><17><1D><1D>?<3F><04> <0F>=<3D>=<3D>?<3F> <10>I<EFBFBD>I<EFBFBD>K<EFBFBD> <14> <1C> <1C>W<EFBFBD>&G<> H<> <14>5<> 6<>6<> <15>N<EFBFBD>N<EFBFBD>7<EFBFBD>$R<> S<> <13>5<> 6<>6rSc<00>|<00>tjj|j<00><01>}tjj |dt j<00>j<00><00><03>jd<04>j<00>}|jdk(r<>t|j|j<00>}|j<00>rT|j!d<06><07>}|j"|_|j!<00>t%j&|d<08>t+d
2026-04-29 12:44:26 +02:00
<EFBFBD>St%j(|d <09>t+d
2026-04-30 12:19:37 +02:00
<EFBFBD>S) uAjoute un document à un projetr<74>r<>r<>r!rlFr<46>uDocument ajouté avec succès !u4Erreur : le document na pas pu être enregistré.r<>)rr3rNrKrr6r r<>rr7r<>rmrrlr<>rnror!r
rprqr)r;rGr!r^<00>documents rB<00>ajouter_document_projetr<74><00>s<00><00><16>o<EFBFBD>o<EFBFBD>!<21>!<21>w<EFBFBD>|<7C>|<7C>!<21>4<>G<EFBFBD> <18> <20> <20> '<27> '<27><07>m<EFBFBD>hp<68>ht<68>ht<68>hv<68>h{<7B>h{<7B>h}<7D> '<27> ~<7E>N<02>N<02>OW<02>X<02>^<02>^<02>`<02>F<EFBFBD><0E>~<7E>~<7E><16><1F>!<21>'<27>,<2C>,<2C><07> <0A> <0A>><3E><04> <0F>=<3D>=<3D>?<3F><1B>y<EFBFBD>y<EFBFBD><05>y<EFBFBD>.<2E>H<EFBFBD>$<24>m<EFBFBD>m<EFBFBD>H<EFBFBD>O<EFBFBD> <14>M<EFBFBD>M<EFBFBD>O<EFBFBD> <14> <1C> <1C>W<EFBFBD>&G<> H<> <14>5<> 6<>6<> <15>N<EFBFBD>N<EFBFBD>7<EFBFBD>$Z<> [<5B> <13>5<> 6<>6rSc<00>^<00>tjj|j<00><01>}tjj |dt j<00>j<00><00><03>jd<04>j<00>}|r5tjj |jj<00><05>}ng}g}|D]X}|j|j|j |j"|j$r|j$j&ndd<07><04><00>Zt)|d<08> <09>S)
Nr<EFBFBD>r<>r<>r!)rHr<>)<04> nom_document<6E>numero<72> date_validite<74> lien_documentFr1)rr3rNrKrr6r r<>rr7r<>rr!r#r8r<>r<>r<>r<>r<>r)r;rGr!<00> documentsr=r@s rB<00>liste_documents_projetr<74><00>s<><00><00><15>o<EFBFBD>o<EFBFBD>!<21>!<21>w<EFBFBD>|<7C>|<7C>!<21>4<>G<EFBFBD> <18> <20> <20> '<27> '<27><07>m<EFBFBD>hp<68>ht<68>ht<68>hv<68>h{<7B>h{<7B>h}<7D> '<27> ~<7E>N<02>N<02>OW<02>X<02>^<02>^<02>`<02>F<EFBFBD> <0A>"<22>*<2A>*<2A>1<>1<>F<EFBFBD>M<EFBFBD>M<EFBFBD>D[<5B>D[<5B>1<>\<5C> <09><16> <09> <0A>D<EFBFBD> <16> <0B><01> <0C> <0B> <0B><1D>N<EFBFBD>N<EFBFBD><17>h<EFBFBD>h<EFBFBD><1E>_<EFBFBD>_<EFBFBD>./<2F>i<EFBFBD>i<EFBFBD>Q<EFBFBD>Y<EFBFBD>Y<EFBFBD>]<5D>]<5D>R<EFBFBD> 
2026-04-29 12:44:26 +02:00
<EFBFBD> <0B> <0B> <18><04>5<EFBFBD> )<29>)rSc<00>n<00> tjj|<01><01>}|jdk(r<>t|j|<02><05>}|j<00>rht|jjd<06><00>|_ |j<00>t j|d|j<00>d<08><03>t d<03>St j
|d <09>t d<03>St|<02><05>}t!|d
||d <0B><02>S#tj$r$t j
2026-04-30 12:19:37 +02:00
|d<02>t d<03>cYSwxYw) uSVue pour modifier une activité de projet spécifique via un formulaire pré-remplir<69><00>'L'activité spécifiée nexiste pas.zactivites-projetrlrur<>uActivité «u » modifiée avec succès.u.Erreur lors de la modification de l'activité.zgestion_projet/activite.html)r^r<>)rr3rNrwr
rqrrmrrlrn<00>boolr<6C>rorpr<>r)r;r~r<>r^s rB<00>modifier_activite_projetr<74><00>s<00><00>,<2C>!<21>)<29>)<29>-<2D>-<2D><12>-<2D>4<><08><0F>~<7E>~<7E><16><1F>!<21>'<27>,<2C>,<2C><18>B<><04> <0F>=<3D>=<3D>?<3F>37<33><07> <0C> <0C>8H<38>8H<38>If<49>8g<38>3h<33>H<EFBFBD> 0<> <10>I<EFBFBD>I<EFBFBD>K<EFBFBD> <14> <1C> <1C>W<EFBFBD><0F><08><0E><0E>7G<37>Gd<47>&e<> f<><18>*<2A>+<2B>+<2B> <15>N<EFBFBD>N<EFBFBD>7<EFBFBD>$T<> U<><17>*<2A>+<2B>+<2B> <1D>x<EFBFBD> 0<>D<EFBFBD> <11><0F>&<26><18> <20>)
2026-04-29 12:44:26 +02:00
<EFBFBD> <06><06><> <1A> &<26> &<26>,<2C><10><0E><0E>w<EFBFBD> I<>J<><17>*<2A>+<2B>+<2B>,<2C>s<00> C=<00>=4D4<03>3D4c<00>|<00>t|j<00>|jdk7r!tj|d<02>t d<03>S t jj|jjd<04><00><05>}|jdk(rjd|_
|jjdd <09>j<00>|_ |j<00>tj|d
2026-04-30 12:19:37 +02:00
|j<00>d <0B><03>t d<03>S#t j$r$tj|d<06>t d<03>cYSwxYw) uYVue pour annuler une activité de projet spécifique après confirmation de l'utilisateurrlr<>r<>r<>r<>r<>T<>motif_annulationr<6E>u L'activité 'u ' a été annulée avec succès.)r<>rlrmr
rqrrr3rNrw<00>annulerr<72>r<>rorpr<>)r;r<>s rB<00>annuler_activite_projetr<74><00>s<00><00> <09>'<27>,<2C>,<2C><17><0E>~<7E>~<7E><16><1F><10><0E><0E>w<EFBFBD> 4<>5<><17>9<>:<3A>:<3A>;<3B>!<21>)<29>)<29>-<2D>-<2D><17><1C><1C>1A<31>1A<31>-<2D>1P<31>-<2D>Q<><08><0F>~<7E>~<7E><16><1F><1F><08><18>$+<2B>L<EFBFBD>L<EFBFBD>$4<>$4<>5G<35><12>$L<>$R<>$R<>$T<><08>!<21><10> <0A> <0A><0F><10><18><18><17>M<EFBFBD>(<28>.<2E>.<2E>1A<31>Aa<41>"b<>c<> <13>5<> 6<>6<><36> <1A> &<26> &<26>;<3B><10><0E><0E>w<EFBFBD> I<>J<><17>9<>:<3A>:<3A>;<3B>s<00>9D<00>4D;<03>:D;N)@<40>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>formsrrrrrrCrRrZrjrrryr|r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<><00>rSrB<00><module>rs<><00><01><19>-<2D>$<24>-<2D>!<21>#<23>9<> <20>-<2D>1<>7<>+<2B>(<28><02><02><02><02>*<2A>4 *<2A>
*<2A><10>A<01><10>A<01>"<10><06><10><06>*<10>,<2C><10>,<2C>$<10>,<2C><10>,<2C><10> *<2A><10> *<2A><10>M<01><10>M<01>@<10>a<01><10>a<01>$<10> $<24><10> $<24><10>/$<24><10>/$<24>b$<24>4<10>J<01><10>J<01>@<10>7<><10>7<>"<10>*<2A><10>*<2A>0<10>
2026-04-29 12:44:26 +02:00
*<2A><10>
*<2A><10>7<><10>7<>&<10>
7<><10>
7<><10> 7<><10> 7<>*<2A>"<06>47rS