12/07/23 - 21h

master
cherif 2023-07-12 21:38:52 +02:00
parent bd265588cf
commit 76cd2ad20a
7 changed files with 7759 additions and 71 deletions

View File

@ -1,16 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="09/07/23 - 21h">
<change afterPath="$PROJECT_DIR$/abonnement_mgt.py" afterDir="false" />
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="10/07/23 - 22h">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Emargement/test_emargement.pdf" beforeDir="false" afterPath="$PROJECT_DIR$/Emargement/test_emargement.pdf" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Inscription_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/Inscription_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Log/log_file.log" beforeDir="false" afterPath="$PROJECT_DIR$/Log/log_file.log" afterDir="false" />
<change beforePath="$PROJECT_DIR$/appel_offre.py" beforeDir="false" afterPath="$PROJECT_DIR$/appel_offre.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ela_factures_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/ela_factures_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/prj_common.py" beforeDir="false" afterPath="$PROJECT_DIR$/prj_common.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/statistics.py" beforeDir="false" afterPath="$PROJECT_DIR$/statistics.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/emargement.py" beforeDir="false" afterPath="$PROJECT_DIR$/emargement.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/strype_payement.py" beforeDir="false" afterPath="$PROJECT_DIR$/strype_payement.py" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
@ -376,7 +373,14 @@
<option name="project" value="LOCAL" />
<updated>1688928267551</updated>
</task>
<option name="localTasksCounter" value="44" />
<task id="LOCAL-00044" summary="10/07/23 - 22h">
<created>1689020473211</created>
<option name="number" value="00044" />
<option name="presentableId" value="LOCAL-00044" />
<option name="project" value="LOCAL" />
<updated>1689020473211</updated>
</task>
<option name="localTasksCounter" value="45" />
<servers />
</component>
<component name="Vcs.Log.Tabs.Properties">
@ -391,7 +395,6 @@
</option>
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="12/05/23 - 19h" />
<MESSAGE value="13/05/23 - 17h" />
<MESSAGE value="13/05/23 - 23h" />
<MESSAGE value="15/05/23 - 23h" />
@ -416,6 +419,7 @@
<MESSAGE value="08/07/23 - 20h" />
<MESSAGE value="09/07/23 - 16h" />
<MESSAGE value="09/07/23 - 21h" />
<option name="LAST_COMMIT_MESSAGE" value="09/07/23 - 21h" />
<MESSAGE value="10/07/23 - 22h" />
<option name="LAST_COMMIT_MESSAGE" value="10/07/23 - 22h" />
</component>
</project>

View File

@ -2,7 +2,7 @@
%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
1 0 obj
<<
/F1 2 0 R /F2 5 0 R /F3 6 0 R
/F1 2 0 R /F2 3 0 R /F3 4 0 R
>>
endobj
2 0 obj
@ -12,89 +12,69 @@ endobj
endobj
3 0 obj
<<
/BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 114 /Length 4190 /SMask 4 0 R
/Subtype /Image /Type /XObject /Width 223
>>
stream
Gb"/k>Ar<:(!$%Vpn\Er'^8Qed$M2?V-U4"[RM/mD%`\!P<&n_UTcAZAF$D@O_dI0K>,tK%9fEQW.DCCYI`=%a`/q?Y(o-piTpt54>WM$\G#aY^_#SgiQUdMJ"@NueS)0h//F/_@^0#d(5p.@YuiOmMoB/1==b5G`F?)S//F/_@^0#d(5p.@H-ihT<C7aKlWuL>fMZ6lOt$()$3mr_.0?p%+g!>^FW8Go;[!8--@^i+3OG[mQ8KQ%Sl5ff=se`lL=t_]7:pgo.cA'*$9b12o7q"HD,.iV<\TnYam5hN6Wu\R&[oia$UOT!3-u-1X+o:c-6/Q7`mZh_4V`9*HQCD)A29Ze"W^Alao+-!<b*tUB%7>c4[6jKd!j`V2,rf0oTe<8gME@qE#t^)%]RM0e\bOer=#S?oa73ift9/`U&AjL\%,`Za_fMX:p1S'[M^Q.0P)*WHJssrDK=m;YkoS!=,_@eEA/J:EY.#hf1P^hdhc:9O7e3X?[,lh3(*0K3dEBqku[OoQ$8MSa#jDn$`BT4i@$A>i*A3V;@%u/ZOYWS4N+ZEAM/Y$.#iNNj-e'D'1ac8SB"7ZTKTa:UWdTMdD\>AqVpT3ruSA@1#Z(QTtDlg'M`t'LC]a?7ELHcW6CHSms"@f><-j"?S0&KME;6EcYFF#c=8bZl$b_RjT8<U%TYT1Eu9EI]bAB[`pnntI2D>EKkipWnq'[t3.:<gr+)Ht.X@!^:&<iEZ!XYpS@dSqPCU;j^Mi[/hkc,,QQPmU3-Adn.QH<F3sh+!@-KKN9R0!)e,H"ZL-YC%lQ^'A3Ksj2oOe-I<c`Gr3PX&8Hd[cdkfRLd!2_bU6s-D:UTuN%i@K'ON=]%E5gI>60'p"^pK@rOXiUh7S-<k`6b`GahcKo9L""ZYgo?74VTQ+L1fb*ThJ<7TBTEI]H`a.Cet;q#Yl&`RBn'OU@6]0`f2gkg<*,*JJIoiodeMY$3tr)V]k[Dce2abpd'S$;X-/:am54!M]7@QbADkq7mJ5QRN1RrCVk+5Mg+XGV<D$j/&4RZ!N@EiUO]3m*+[kAJJia[C(O-:S#]Ho-J5LgZrT-;7e:CC\;$M(&=o6@*p<7]$r,)_)%&Yl1$AW;L([q*r*,\4c_C'!V1.cGp(gDQ1!uuf"8)T?sjabJh6%tSjG='F_PZSGWO97=+>Wlc(*jiaGjZ@^Td_0P(U<`[f2pY3IGjAFu2M//3W$@'R_@/LG_Pk=!TfPe>!.Ecs40jIj%9DN*^Nt,+K$kH?X2;V*(Vl>F?AujE">A"Irtp?A5Agrr!<?s6i:M+/qk?G+3/#C/EpK9;[p/FaKjk6u0)`Fu?Ub.'\3Bt7h!_h[DXmklpJ3AgGk4)2.0G.j8\sA;jG*`/bTSkeJhZ?VC<YYE37aZkn_'6GKBk/pM;<`h7'"hn(7ZDB"1/<9i7*C.\G?m5qV\L]4=CD<k,Mka&bq$mS&9d6aK8kr:uKr*9?37[P!!Tj/G=H6Ntmjm9srAYHs5@-p"t8nrT.CfS4P`*+dDq%QsmiTbl'H^PW<!03J=pA'unU[YEL)P#P5ii5(+??2m1C<>bQj*AYur27IHCNYiQtr_5/7>hJ?/kk\7SbQ3s"uUju$<1mE&Am!*X;WucUk<!LVi?^S@5EAHW0\g]$"H$WDL3/meiL2a8)L@?kYe2b23c-W(;^.j7:,K(Pl_s-*T;,qRS,/uKD2;h@6%2L(Sg\/'G*ID2/MVh_VIQ0r&ZSe^g`3A=EEYg?:&gn17*FJcI5ZVi]cbK1ingAo+aXdq@9mKIE.I2Eg5@?eXAg-"`m_loXIM.Q:d!LFR"5u!"a[ouI#M5'i(frOrqJ(p:.%r_\k[^87pg&6<c;T"Ei4n3cktTW;YqelOA7mb,IbrsdHh%Yc^,7pU[/]a1i_\VG#TSFN#Q3_.#Ng3(73sM;j-sF;ImXqAT78pJ8*%>rZ.H`cEV25Mh#\LuC&#e+oWo?d^b&6kfm$V,5U`2229AUQ&X>(KRF)ra1p'eG.$[/.L7S54b/"C'%k."2_a;uW_$QGI0#u1Z'**R9!HSB'd>@NSPZbR=TfBD#F*Qe\FG#*Pd8;04f"iX%.7RM;`euL+TY:%F#<5"qEO^>I?J)1D[cufoJkn`TQo4(Q*_*A=9<<GCCm+NmPO)m:g.9%K=Z%3Q.0hUo\3bae%bq&13cV>6B<d9?NF[4uOZE1O_s*JkUe8M'"0%b8::G$^duAtA_JXF7O7^fdB]TFGg`iH,3)E5+GNQ:Q@p18eo,)qEi$:30Y@/(oO;TC%T2\LiZcgs"T"\4ZFVbd%fq':Vps6./UVtC$M[>=nH4aO2@33=D$!VQ>AV(SH/?0uE.Rc)6%[."S+UIL#=5/(;RE>C*?U'ELg_iag0jKIS6W_T'1h!GfR8*HIi,#n=0U,1M<naeF1<KJ/aNcDR[,hZmD:e/c_"+lDQ7kII2d5GcAFBZ\=N/Th$k\cg3ja2kU'Y&sc>:?-<pW6bDuu-48ZJ%dpDQPN;QRU>n>pD4]%Z"F.$)S2cd#i[4Loc_!r<D%Onh$a%bE!=&!NB,fGB>@K?CEiNG-10]q\QDNWW?L[W"u[2D^]S8gUGiE"nM#*n[m^#BnYkhEmW@Slct<s(ZLm^BHuUOa1b*@a.XnPPXjFm#W(h@P\Z19pjd!8gWgXB]J<l)_Nd@37OJn.TbbQ>HT7EF."*o-Z:cQY]uq?@d.Epro,0dPc/#T8k+r9<sj<e-o:_k9Gg2S@1/SRQ*AeX),-E<pt2.0;T`AbcFKKHmW,qOP0?%`@ZkL5O:d].nNiGb)`8A2X2l8`5(EICkZs!X..H+@%Skm>$H#KoD+K`#Cd\r6pFb'Nn#)F)4kk[;a&NAq[Nc39'=T3N@X+S[\Lf;Qb`h<=M,-n:!=HPBK+H/hj%u-HRBM+Q0`LNL*!?[t#r@TH30E/:i+.G;5AV^@6^sF%BYsDu'ir1PY<^J.+qW\^8E8SIVf)j%9DcNgOQPX_hRF$><_W)(2dK++?<9)iR;`"3Ao;AiAn<>n8f3]sJ47]N."M@7QuKt,_m0Tt4(pN\/0ThK$mt>RT4Tcc4=P!TI8KDR!So$mJj-CR#g%I0Eaj3-8Ba[G&36&8n#@fRbMK:fE7843NQ?ld'5lp"0YN+'8sl!'@`#SNC&%a![Ws1B,VteAKe%$sPP*uMa;gQhKuk0k^uMS"IU#]`$`PiK8!.H$k3'9C';g8GJPldf;c-6@G!F5Z_MrfB9j;KOmfiA.S7hj#>C8Fn,G)8PBVR7/=mdV>%c)f_WPgj)d"I5r/2UeH&'GH!hMr`HVr]XlAMDQ"@?UJ-46tjrY+C8EMuX&W;EYBYi0Or%E&HU/iktR=9^Emu&gjK]g5_g+SB:8s8',O8iX5qPjn9/SbG[R:Si?dCi$:HV^'?5[@@h<(PoR;D_SpJ?EF9rB"5B8`,CYopCr-Y^CCDS%L1*kU=`+llhfEaoEr)5\___M*Km?]VShhCSnsY-GKWQ42-(FC%3>6;Kla7];mb3]brdb3V?s&rB]I2qJ;K'D)q6i^)CEf@J6-1@cf4HpL8ub2k-9<j'UC!^>-;7Rbj_[L9eZX6onl:3=I,?D(&n6]s-mhX0ZVk>N<c<8/1gqPT9Ol]g0%s*:kl:g^b#o)G,i'm6'f&Y6]:.,KF>4!]Y^.Ugd"LXX.PtR[.ZYpX89\Hi98sF#js_.mptd_BIpmNi7f#Plr)1(2;tE\MDSJNinkIap<Fj(p4IE?*_]G8WO:[I2bS>%=ML'tM+o/<V`8?l'ItpY*?ai.,$cTOSeg2+=_Lu!,*7ufb&Qc?3[er,]lQ=(++V<o^10M>%hF@,9G=>Ub(5p.@Yun*ub57)4XR[S7nIUHdk8d4nUfA%Kk/)dPLF=`o(^_$U?JqV(=&1g3&i-)EM))=3B,oiO3(m\Cno-W8F<1dTXdlYi>SJ],Tj'I\nPpoHKht?#M$MI#2Z/o%;jD=-6WPiF3$$5ISoEs(UViMO,aLsJ)9WH2;8a+[_9d[T:7.B<hAq>,W62niQ+?B4><'eRbY)9p#5X0YAJ>3PL6L:O]9[NT][g!75WfXZN#^blODQZ_S4\7nKR""Zlr;ps=^G&jS9//_V`R4)1Hdkh.$h3pi%uOCGJ38M-RE1GJ'o2E@6#h@S;.(:#cD__gmY-"L<3u2==b5G`F?)S//F/_@^0#d(5p.@YuiOmMoB/1==b5G`F?)S//BbCrXXa8JD^~>endstream
endobj
4 0 obj
<<
/BitsPerComponent 8 /ColorSpace /DeviceGray /Decode [ 0 1 ] /Filter [ /ASCII85Decode /FlateDecode ] /Height 114 /Length 2597
/Subtype /Image /Type /XObject /Width 223
>>
stream
Gb"/+D5$PP%%RMH+JBF0:^K[k"<:B-,tn@Q-34F<Yc"+46://!h0n0&S3M5X,NKD,!q#FC<`)^k;,L1f;,L1f;,L1f+en4ko=]37s7OIer-D$mN6d=,2np@BTj1^>[)]10S:\'/5*t):2&CfEg)L(9i6AMf@mTa$W5h*_6\u9K39b.qFt[VA"Rbh[PX#N>([BX+M.PZRr.\08mM`(7dRN(>=__'QCD[(,MYa70"OZDkE5XiAn&UH+Kf0[V]E?ZCoCljEQ8%ge'NB;6ZVtsbo:g\<ShMO%hBUD0WaIo6DJfYnKulLd9?1NT*Ne5]gI%)d&85`U%Xg1*cR[=OGVNNteUdH%#9=_o[Q3"2]U3$>F=aP3EdcMJU,6k]\@ADiX3)B"_;iT.o's$9l10/,'Pf6D=q"LhnGYFs9934')isfK<a]?6HUSk=Hu1\;fQo+gO=W96Wgure)i1TLSh="L5Mga7nW3d^A(VUdJ;$%-#Z*R9ALcQ]mBjduBRWU8BXrXQ_E4gTLEo'YhqO@&m]rdq7qp&lqHJtql&kL;5UrgZD;:VZ7nfP0X>%`eeo#ORA1cE]'D-LJedBqh'4O.,.)V(DXQmImG9\MX.6[)[Lbg!'lDP@G')6Q"(+moaj&12tB@F+hMTL%F,c4a<4d7KZXW[AAk_W.q-L*^.4E9atkJcMl('<N#3_o[9Sp8Pn^K4(QB5VfCgSG5L]T4u]i0Vk:ZQ$0qEf_bZCM'Rh?"#P7)"aHKP7ue)ET%5YK%-:.%8CjC/$rD$]#u2CPN(:PL82Ug7]64fknMR4+LTkkY^]*FO:lF9nA6p7V#DXBi,#c0Mb*hti0Eq,B?d<Pfot9C%!!$.90NpkiI[%^%&HF3!aR%o+f1E7L'%I1.59,%Vlf7naBk)<r:2J^j*:(TOm@^5/tZIh(<*>Mrl)#"oBWHmJ>47k:#/R[9hJ0RUA5386l#'D\&'G2mONT3WP^^Bd?J2b/W#:7X3EbYQlaJUH-9IH=6:`fdpNa"dudfH+N^DejthCXn/ae8C#'TtM"=GrO?u8Yh5+)!m'T)<`8+DW8r<-1XSs11OV90TCU;c)gcpf)@HQ%u=IMt%$B,No(j;X\[t'\(WA>E2^K<N1faU9F[q*,TNCXW*j'U<.7*'HS(Hu<!U6a&/7qOqj*`'/9Mq)hXjbi&(!N"!P[,Bmag!G""6+Rej=!F$Uj2KD12BVHfk#P/ABBI-#R@NX%E"#LgDD`8f!do/5dNaP;AWC;I9jX*?ireQJROjHOm1#:N)Sr#L]a;_iM##$$(/^tl+$N1JG=KHkf,d(`HP]4bFVj$D@WdnpT)4[W`c!F:W?;RH+!)EK+=d]eI(n;A9qAnWe+DiYH7;0ENjAW1HoT&foK]*LiM0oFBmS9#ZB=hI!qR":B\'J?ZeKB;N]-b<oPe"c,7:oYk<Qo"(0lM;lmA1&gTTk$=VjDZmtOW^`uV(&\"j0;jodhY$p3('=WD!*A9$;ooEOM#G8!&Aa2@5Z@QC*j]kp3As6'Q/?[/#oqL)a808S\7R?O($.]H)pAI`[1S&KN:h)F^1^GI&+Nd!B408g2G-hCZ16u)kRGWX)H/IIqTW:?$Tp/$(hI$3O&Z+MWE4bsM8HA-]`Jh]'QNP3G5T=m(F*9W=CALW3EGOQrmdTn&kV\>$pKMX(H#8h0,>l;P4Z7m;SoNo8^nsm2CJ6t#U,.$=Td6f8_M_/./WIi%so,bS(XHsfcSjic\S3/e+_T\ZDi^9s*^.7Ybh@#4d!Su;EqW;:6W9mEU;4<Pi4f=+5kZDH$#Ge!>_k-df]:jUT<i5WVXe_B0;>)kp9Fph<=k5QB`Aa%FJT`T#]"QgG2OA3cm^Opr]fHX(U?=J&9jJSc,;GEN9kZkUgpegB)jJ$$#GTNKp6Zb0+XK;"a[0^I\"sg)>k;sV4(NkM+4b(PM<NUfCg:&2=SAD"Y@%DjIf'Xu4-jUsGttRdjIlBt$;ZW/Mrss)Z^3B6m[^.N4*^3N0@sLuHRn.fWge;C>qr[!Hc"-R3ieiu98Y9pn$4_K0.>;["kNV'W`2qsX>&do?ONDllPJnZ[9:6:)Oos&Kl>9(`S4$+D+r%2<D0rXI@#PGl=\^UGRrkZR-96:U?A+(]of+#4\6stT'`"!qf"7jNB+#n5/jsOd.?(@6(tJ]r[kWmr`KCM'F7p9[uq<eXf5g)[h3NGqBDcn#H'NB^IaFYBh-6!d<Z0,M;BH[Kl(`QcSPS.!kfY4L2k@\P>_I-D4'4nQ0<M"UfYq:Jfj6*#Y%VE&WY>(kuu026"RBa&Eun&A8'_3A^8EAhp\Cnend'DX.;*UE%QnrcQm%I\&Yj<.D>CNp^7:]T_+0t*m[UUfus#%0+sQ#7%urMR4J__/Ka;>^_Wi!>6so7:P??eGHqDHljNIJR>Pk3IK1EQI>%S[\8)-:mFMb$;G_[\TIeI%4iTusdsd8jC:rJ[Z7!KQJbe`Mbin(-84IO3%G9EIoVNjJUh>uLq@q`0`QGrM&/]e@'%h,Ph,]]fCPqb]ka=Q]ZjIlRU>On$6dr<d3aN0[#O$Cn[<i+Q\,W>PG'Vi3Z0U:bn$In@Np;+bE`Q.=<)cgr<)cgr<)cgrr!r`,C/RH$~>endstream
endobj
5 0 obj
<<
/BaseFont /Times-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
>>
endobj
6 0 obj
4 0 obj
<<
/BaseFont /Times-Roman /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
>>
endobj
7 0 obj
5 0 obj
<<
/Contents 11 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 10 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject <<
/FormXob.c2ae3de0635600e3618a37ea8ef85707 3 0 R
>>
/Contents 9 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 8 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
6 0 obj
<<
/PageMode /UseNone /Pages 8 0 R /Type /Catalog
>>
endobj
7 0 obj
<<
/Author () /CreationDate (D:20230712204900-01'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20230712204900-01'00') /Producer (xhtml2pdf <https://github.com/xhtml2pdf/xhtml2pdf/>)
/Subject () /Title () /Trapped /False
>>
endobj
8 0 obj
<<
/PageMode /UseNone /Pages 10 0 R /Type /Catalog
/Count 1 /Kids [ 5 0 R ] /Type /Pages
>>
endobj
9 0 obj
<<
/Author () /CreationDate (D:20230119154403-01'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20230119154403-01'00') /Producer (xhtml2pdf <https://github.com/xhtml2pdf/xhtml2pdf/>)
/Subject () /Title () /Trapped /False
>>
endobj
10 0 obj
<<
/Count 1 /Kids [ 7 0 R ] /Type /Pages
>>
endobj
11 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1821
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1586
>>
stream
Gb!;fgMYb8&:N/3ls%p=>4;EQ[hcE)#"_ug.ZfDeKjrN6dR\+`#QF\IY081\MW1_=PSFU65gDAGB9m1$XiUm%0-5UL0*qB!9$T%LiIXaA$!1)gl!&0_*ISr6_)Hk$(62!uPTeTaC8D\rNMj\GqJN[!EEYE'SZkL;lBpUNWZ\c(\!T,mo*tK\8/j%#4:_9iCD2:&AK$RqaP#Zi^%f,67'FS2O>d>!;B*U_Bt0X(>Kg>lla15hS?F%?[7kU+5)qlA:GO6HJT&+B_G`'),QWU1lKM$-DlF6CI5jZm0?L_I*h%'`-!YT"`(9/%lY-ZLe60Jo+Z620N(PN-EKgdQSKhH>c[gV):tUMW6`ZH&P7>X(;ssIFk`RB0i?hS+.aK_9L_EWE'p`RlTu%)92#MOd#GemT0Ab"C*t!&[6a<#\mtsQ=I/&gt56G4mpt2n>9YF`\S/P^Vm1I(iN*$McnG9,2MlM8cHm+\+1?1LiY4&C?:g`AuYSNN,WR+<P`Mddn.DdqnLZ9^>33<8Tap[X4Jnb=="e7M>BWA_2MHC%ROLbh3[=AT:>05e#V(+ChV^\f&+H'Jf.i<(ZH^M"&j:urg0q&%3l[*[O4./c,>YHJa0uNi:=:aYah^!Mf5(cjb7CYQlr(Jdf@piR);As;@U%;56CH(Y:X=n[o*'5^3*Kc(OM2-(9S>'&0n&puqcAZ?0)%Uq5&8]4rN"%nFAO1_n\3hDUL+3Zn"t]BEC=,tVd#c((1LuccXoFKO07.K"ej:\6+0/F.]j^n#c?TZ'=f)RVS$585P$tN0:$+tj.,<aVi6Mu)dm*0XT"LQMbUXuDXBeF<N%V0\Od'Oh%](Vp`^*3Do=O,NiS-CrF1b6$+XGQN'TEV.D$f`]\lSsgjfA_DWc@u1AD(C;NYrp[NZBQ9<r6V)jectiV5Z4\U%cO`X)HXQEhl#*grtF\]Bk>*qdXanh'20S-`=#<S0Q'PT\rBYDCEh-5UlqAA:"Ld4Hc8\r"uY?\BY&!rE$7q@n4Uj[Dk7GYp8<hKap(.:0'V?5`R*tOSL%Zp!O=45Ql7\$s@Gu"3?RXAj(YaWR([da6>'%kJshA$o1(+T>>]!#l?grO<L[LIKUOofXtjY,?=Tt?bpH6S?@HaMO^1<6/FktT<$60;!_]I*TtXE'h2YLV`c%.)t)fO4DQ"@D9V`_)ghAD]OB\hn',--oQ)i346h?F;e*JaW$=UNLjk?gUqot[7qbYoK].#dc9tJ5U)=ok#$n@N0U<Q.Z#j[E6r4)^)&pX$?*-R2r``e>5<*d0-j.kU%:k*o?=O6P0Nnr\SHr+9RW0;"TL7?GSJlA!(1W,DHVPMO[1OA8f$C/].\N-%KgFD']7q#+"nXRW0KJR?-;<>I%a3IUju=0H2hA"h/7/dRj'$9U"KpagHnB#tA!)$M\/'k]CI3*tMTq&:k754$O!6oTT^q=_^O7RT;FE`>'8*aaSiRK.7J(XX0tGRuk=kXbLh:HiF5;aLSa\'>c.I^33Z+DKiDUkfYmJZu0fF0k=+P&)"uOrRkgX:p[Mc]igD_:1k4@?%$>pPV7J(Z.5Y,tbW?VGDLjk@".*ortS-`L*U)@1f4<L=s-[6A^Ao(oII#Lgki)LngZ%^Hp0fF0+f)j?Y9l-D^dAbNjh8.b.>subGVe,bhmZ!N<a;t./]iO!\1Bk*KA1]RgTpR)3b)e_C5cu%\\It,MH"qk7k@&BW-q!RT!8/tlj@W7'jf&6jNl'koQtM=ia8<lg?Yb?C$"JZPk"FU5HJ=p#^ZSmPZWj0\m,%K/OX*jkDnQ$T1'Mfor9phsg+)Pk/.E=O`VB2Ualm*r1`9'~>endstream
Gb!;f?#SIU'Rf_Zi7kgDB)!sWDr0Vu.@MeZKqT$(0bu]e0ftrl+b,!;CgBYt'OEgi2'Yi\8EZLi0#;TB1ZF)@%pj\_CJDmr-+UPHKF:\,-<sD:aq&#h:B$[:fh[&^Mk!CNPTa2'W%kiigr=2+VYkCe19F6APNRd&k"q"XapTgY.G$rn7\pg=?7m<*2`/jfX*Sb7*6s+!'.Pc7XUZ(8A4kVVF8J:fm3?oJ@J+KH,S**jf8K%VEkU8pIO+"kbEnerb+Hb^?-.84=*8XEcs&-$ikDm7qtY]X.bO^3aejBh-<fP2k9@7ir(T?bMV6E\+aXu^m4ZjR'nR71MLX/[1*rocXBI@($YhMbLDA:&2j]J#*ac7sVsSf8><QiE>B5'T/$FE4Rbn\RDg)0XorS(.IQtHXRZjeAErOA?raT9:WEVj[(00LPl>M,WfYr>UGK^66/d)in!`mJr)9qaS\_Mp4.^dRrbHYF:mGk#!OK@/t!k)U`Vm`:(d7b9Dd9^(%B.D`h@"I&o;,C<7C/p<t8(W1Fn3Db6(qYiFN=g$a4KTh\Ksh`egl1LgG5J2eHkZ0&ZckJPMGnd8ZnST.YDCZ8c-ceSITpca#phShh!e6"6$:2Ci3-g'p3""F7]of'/)NokFf:L/;jAeSU/&)OLXO[^j/>^:Xr]N[h7m0Mk-Q^$d"q:,'U>gf[fo&dU]igr1Z;qFYl?#t[[WjeQ;'f&*@YL0rOUYLL^blT:6s;P`gjnN3K[76BYj((le0B^ho,OOD2H5db5$3W&!O?e^j3<%XI[ZK):<7`6NhReN9rK7'Lp/XN!_kY;!^'OpQOLJ/[<q23SOc'!HOn=7[Y?Mdm@[01-ij$>>GfeSKO\sNB)\)E[%D+rYBOg*RmI;CccSWp[?,uhN%OVVoY6ClRAR5;e1!V0rH]o:?6N8.<<-Ce5PGp3Y:Acp%cS!G!!%VeX8@/)-(Q"2NGN1RQCPR&&qas\T(Lgis(;(kdp0b9#"K?7`7.c8rjLphUIoZ-MRR5NJM?QPX)-T7qbYo[);.\RNPE/d>@r\ODB)_@u2p%QB!O+!]:Ok(bc'&L.CA)DIEr<\hj]B5dY"9%-3iu*C/9)EboG$!$GIMbm`YE0h%EuLUNs;OPRup,H3S1TA/KKJ9sO\Tu018HIr>84WpcOiM<7c>7ejsLXk]e;j*'@$Y5=9l?0$SWQ!ElZH$DH3n0tD,3o<@J]$c,e<I=LlXIcbUGnQ;"@NPG%mT(.[t"L8\44P*8,3<1^]6c-,NPXI(L7^L!(8>leC=,b9*68dBZ6(%RUC5OhuaOm(fHPrN%GKd%n%oPeC5b=9;=l/<?0/!'Hm2MrS-%Y"#Cu1fBA<XiI8TJ&3M/>d35@J(gRg=*f*k`E78id/e)n56n<GjBfSYL#.b&6'g(3h*+MVD]`CMOL>9-UUJ%@LgS6`q>m+\fdaGk`J'cWaloA^87_-8\J6@ia5c,kB;Zs$-WRDucV@c`7W!oZS+J^=p;[]N4WRDt8V[QE1W!o`e$)rcueA?m:V:5#9E:3n3\klAf/:YpNd`n\b-0jaYQi<?Qc8$=DVSBGnIhj'tB/7UKrpW]mPKA;4jHL>~>endstream
endobj
xref
0 12
0 10
0000000000 65535 f
0000000073 00000 n
0000000124 00000 n
0000000231 00000 n
0000004625 00000 n
0000007430 00000 n
0000007538 00000 n
0000007647 00000 n
0000007915 00000 n
0000007984 00000 n
0000008236 00000 n
0000008296 00000 n
0000000339 00000 n
0000000448 00000 n
0000000651 00000 n
0000000719 00000 n
0000000971 00000 n
0000001030 00000 n
trailer
<<
/ID
[<05bd998f8d6d3a17f9cafcdb46e4389b><05bd998f8d6d3a17f9cafcdb46e4389b>]
[<05d2274b5d320fd140a58b23d9409a22><05d2274b5d320fd140a58b23d9409a22>]
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
/Info 9 0 R
/Root 8 0 R
/Size 12
/Info 7 0 R
/Root 6 0 R
/Size 10
>>
startxref
10209
2707
%%EOF

View File

@ -1601,6 +1601,12 @@ def PrintAttendeeDetail_perSession(diction):
if diction['token']:
my_token = diction['token']
internal_url = ""
if ("internal_url" in diction.keys()):
if diction['internal_url']:
internal_url = diction['internal_url']
# Recuperation du recid du partenaire
partner_recid = mycommon.get_parnter_recid_from_token(str(my_token))
if partner_recid is False:
@ -1736,11 +1742,13 @@ def PrintAttendeeDetail_perSession(diction):
my_retrun_dict['class_title'] = local_formation['title']
my_local_title = local_formation['title']
local_query = {'formation_session_id':str(local_Insc_retval['session_id']), 'valide':'1',
'class_internal_url':str(internal_url)}
print(" ### local_query = ", local_query)
# Recuperation du formation depuis la collection "session_formation"
tmp_val = MYSY_GV.dbname['session_formation'].find_one({'formation_session_id':str(local_Insc_retval['session_id']), 'valide':'1'})
tmp_val = MYSY_GV.dbname['session_formation'].find_one(local_query)
if( tmp_val is None):
mycommon.myprint(
str(inspect.stack()[0][
@ -2074,7 +2082,9 @@ def SendTrainingEvaluationEmail(diction):
session_ondemande = ""
if ("session_ondemande" in local_session_info.keys()):
if local_session_info['session_ondemande']:
my_retrun_dict['session_ondemande'] = local_session_info['session_ondemande']
session_ondemande = local_session_info['session_ondemande']
my_retrun_dict['session_ondemande'] = session_ondemande
# Envoi de l'email de notification au formateur
@ -2134,6 +2144,8 @@ def SendAttendeeCertification(diction):
# Recuperation du type/nom de la certifcation depuis la collecion "session_formation"
session_formation = MYSY_GV.dbname['session_formation'].find_one({'formation_session_id': str(diction['session_id']),
'class_internal_url': str(
diction['class_internal_url']),
'valide': "1"})
if( session_formation['attestation_certif'] is None ):

File diff suppressed because one or more lines are too long

View File

@ -972,7 +972,7 @@ Cette fonction créer une facture
def CreateInvoice(diction):
try:
field_list_obligatoire = ['client_recid', 'invoice_nom', 'order_id', 'order_date', 'total_ttc','total_tva',
'total_ht','item_0', 'stripe_subscription_id']
'total_ht','item_0']
for val in field_list_obligatoire:
if val not in diction:

View File

@ -168,6 +168,7 @@ def CreateTableauEmargement(diction):
query_key = {}
query_key['email'] = tmp_val['email']
query_key['session_id'] = tmp_val['session_id']
query_key['class_internal_url'] = tmp_val['class_internal_url']
query_key['date'] = str(local_date)
new_my_local_data = {}
@ -373,6 +374,7 @@ def UpdateUserEmargementDate(diction):
query_key['email'] = mydata['email']
query_key['session_id'] = mydata['session_id']
query_key['date'] = str(my_date)
query_key['class_internal_url'] = str(class_internal_url)
coll_emargement = MYSY_GV.dbname['emargement']
local_ret_val = coll_emargement.find_one_and_update(
@ -431,6 +433,7 @@ def GerneratePDFEmargementList(diction):
if ("class_internal_url" in diction.keys()):
if diction['class_internal_url']:
myclass_internal_url = diction['class_internal_url']
query_get_data['class_internal_url'] = diction['class_internal_url']
mysession_id = ""
if ("session_id" in diction.keys()):

View File

@ -662,27 +662,28 @@ def create_subscription(diction):
abonnement_data['partner_recid'] = local_partner_data['recid']
print(" ### ret_val apres souscription id = ", str(ret_val))
print(" ### ret_val apres subscription = ", str(subscription))
if ('_id' in ret_val.keys()):
abonnement_data['stripe_subscription_id'] = ret_val['_id']
abonnement_data['stripe_subscription_id'] = str(ret_val['stripe_subscription_id'])
if ('billing_cycle_anchor' in ret_val.keys()):
abonnement_data['billing_cycle_anchor'] = abonnement_data['billing_cycle_anchor']
abonnement_data['billing_cycle_anchor'] = subscription['billing_cycle_anchor']
if ('created' in ret_val.keys()):
abonnement_data['created'] = abonnement_data['created']
abonnement_data['created'] = subscription['created']
if ('current_period_end' in ret_val.keys()):
abonnement_data['current_period_end'] = abonnement_data['current_period_end']
abonnement_data['current_period_end'] = subscription['current_period_end']
if ('customer' in ret_val.keys()):
abonnement_data['stripe_customer_id'] = abonnement_data['customer']
abonnement_data['stripe_customer_id'] = subscription['customer']
if ('latest_invoice' in ret_val.keys()):
abonnement_data['latest_invoice'] = abonnement_data['latest_invoice']
abonnement_data['latest_invoice'] = subscription['latest_invoice']
if ('status' in ret_val.keys()):
abonnement_data['status'] = abonnement_data['status']
abonnement_data['status'] = subscription['status']
now = datetime.now()
abonnement_data['date_update'] = str(now)