From c795df8e603874446578ded1cf9429b308ec3141 Mon Sep 17 00:00:00 2001 From: cedrick2711 Date: Thu, 16 Jul 2026 21:28:43 -0400 Subject: [PATCH] =?UTF-8?q?changement=20des=20notes=20l=C3=A9gers:=20rendu?= =?UTF-8?q?=20le=20pipeline=20plus=20fluide=20et=20ai=20effac=C3=A9=20des?= =?UTF-8?q?=20pages=20redondantes=20ou=20encombrantes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .agents/agents/test.agent.md | 10 ++ instance/team_tryouts.db | Bin 163840 -> 163840 bytes routes/__pycache__/users.cpython-313.pyc | Bin 68187 -> 71241 bytes routes/users.py | 69 ++++++++- templates/layouts/base.html | 32 ++-- templates/pages/add_note_from_tryout.html | 16 +- templates/pages/evaluate_player.html | 15 +- templates/pages/notes.html | 172 ++++++++++++++++++++++ templates/pages/teams.html | 5 + templates/pages/view_tryout.html | 13 +- 10 files changed, 289 insertions(+), 43 deletions(-) create mode 100644 .agents/agents/test.agent.md create mode 100644 templates/pages/notes.html diff --git a/.agents/agents/test.agent.md b/.agents/agents/test.agent.md new file mode 100644 index 0000000..0832e0c --- /dev/null +++ b/.agents/agents/test.agent.md @@ -0,0 +1,10 @@ +--- +name: test +description: Describe what this custom agent does and when to use it. +argument-hint: The inputs this agent expects, e.g., "a task to implement" or "a question to answer". +# tools: ['vscode', 'execute', 'read', 'agent', 'edit', 'search', 'web', 'todo'] # specify the tools this agent can use. If not set, all enabled tools are allowed. +--- + + + +Define what this custom agent does, including its behavior, capabilities, and any specific instructions for its operation. \ No newline at end of file diff --git a/instance/team_tryouts.db b/instance/team_tryouts.db index bbc885b31b5c2441ad3ed56c252d478c26d97026..9ab6cdd8443f931eeecfb0b3ef8869b56875a893 100644 GIT binary patch literal 163840 zcmeFa36xydc^+8RwO20%a1lsBAPQma$nie8~SfxocfxF3doSHeV$}{p!WHhJPcAJ*kU!E-; zSXjv3TXlunvfG{3rruoLY<2BU_){$;S~zVN>2@#QZ0Y7YO*pf)*|j&j^&3ks;%Ng< zY_@H^Yg?l*_?{deJd_P^hS z$X0u8)y+t$=#f~lI`ZF%%7Ba^c1GVPCG`4q>3}F^?_F>S9XzRiM{hKBqtR@18+Iq| zyV;P&#^uFVw7YPYdr*NJk5l-J(0C@F8QT8|zeR1v;b zR~PQxs+JBMKAipV`-iML8~%of~-botF_q}S?o|(BHvDjbS^$mVg>x$V78tKQQ7_AbLG;3g9o!8 zx;% zWxAnGz#0bT07n^PBpdo`s{N#t!8VstatPcwp%;je3u)Rn~i3x|hqA4jed;{c77&d{^H)Qz4><6-@2?kn|AI zN>oSnPUmi`ZLO~B9lyC}IVG&h?N-PQh7+CbCb~pHw>MUu_6DL+&kn{dWxcf-bhB=q z#Kc35&MHE%#vN#`X|}e}`8jvx%EhI{%R%*s)ITwnj^~}xo|@!w$A}@1Oi-G(z6R@S zbym09EfNTMQgfo@=7=-jkwT4N-Hf9z-G_I-33)=&??Hbn*sJpD-|bmd7Z!5G1MfOO zQyjPQS2_1rVPWe2SzW8{pg&Ju`(^@t^P{!TPyc!Kvz5=3|Ge~7#djAnxu2fe%D!We z^Go~x{xh?+%%T3ZM;||VC{tNfkFC5iXnZBK{X1LTGdw3t${FPhd-N6c1@-2O&++G2 z>*W_!ojJ;jipf~KAu^K4F^;0LiljQGEf|)maJHaWI-?qrA?S)NakecBhU!?XWHFY= zi-M&}_*P_W!?74eaTr$TO)eTD zy|HPu?$)n2Uc-;QW)tum^N>r}g-=p!*A<}u?&$%WM_j!WkG(KtQy63O?)k>umm4qL zU6!9?yY{P39YrCMAUUe3+Po#%9LqYgYzejmrBQjq;!ReRWs$WxPO(Hr&{dfcpmvJG zu?j1&4x@{VshE<*afTyUq6~j5m@1>&tRSi^bQZNC>8ix*ieNbc^bs$ckpz~JEos2! z_14xp^zx!@cieYlbnR+bh8X)_Rvj|v z>Z5#Q#2`P$;IkLZSB0Hh7kTHxr7O?BxOUW$L`ydvp4A-@rsqfk?{K=oDUPixykjW5 z;fR)E=!z;UAXGFt8@V|S#%v2JXIr|!h@7Ewf~8xGECWDQ4V6=6Ry8@6vkg`U?J^YG z5MbXd!>X)l!H0;v#p?qGFE;dz`nh)N?q(D3#`r^N6r&avx9r!z{2GQ^I-X4vxO4Lg z%kaC#@jLe5T{W1;|Jcb-f}z= zM_NcgpP3f~k=untQrwzbaDSt`&uv}~^290j4jsHUv}1OR#;bhmvVQqy_h#$bGXK2N zIOmc1{PF>QEe4`abOu*#W6bU+hTaegn8P$ z0!vkSn71RMZIT?gLsMpWv^Z$SOkF_>2Ur`1WwX##5G+|LH*8-v5m3FNZw`NP^4T>K z?FAYahRP#1V(rA3f2@x=$P@K&Q&bN)fnnjhP(IAj+bPvDkM^$}n0MVKVjBd6+ud=p zugE&T_1yL6UbuP7vW>>hQOPuH(cqwFI>!mNW2uVipefNA*02=QFa(Ad9Zqr_M?ssc zSh8xHyknY<>ZlmSlXX=QRB$dLRhCWNkR207Z%PJgPP9x>6>U@G8QbBA)3q7dHUvji z&`c55T{#z?Y>v1&3C`X!IW!L@+DFD#5Pj&Pz#&CKD{Vm6(D2H(q9Q7h z1>S%jB9DOB#bjagEDzhXpmqW;pyf~vMPU{AMO9YO5X0j^8)c9pI)cH2F~?zDInR^X zkoqF}uVfm={pyq+!+=C(fbG3eh+|;fV_n^R?flM*JH`tyU%S+@%oP0Bz9inkKZ8eepfECPAim=z1Mb{r(OB{V!aN;b z3;~S;m!?}XLKa2mWeb$449c<{xIGc(t0IaCFfa(@?AHejY{W1?kLH-(8~Hc}#`V8( z*Sg-lvdLcCV%9Ie`ubBx6+E)6%O>PD@HhykNa$qPDr3U2z@M|wY)&CnY#0Wk3Wi8p zM~8!BF(f!8S%yi07=t%dkugY=V6d#9%BCplf+UF&qGO%WS<5mEMPfNswRIcrT@ZPm zR{{*&SZ{4?c{3DvIk(+9IDeXWTv)+|zNxR-?Qt!*-QJe2Zd`l$=DNAD z{M4n3NAZAgiHI--1^OwXd0$)WI~Et-z)2#(H3rlN~52wgW75=DX%^nVP8fmcJg#2BK3)|wS8 zASh4_S#WrmkZ$NIdN`6Sa-afc#sW*>EOkV{B@#p5YBWhO(%Ha=7zU`(48%wRLThh4;{82`AAd4*6Hhi>*@C5p7TC5|= zl89E7H_#ri5-eOq%pzG9Iu$k}stD*f)={Aw@OBDovm$YUvWWl@K{m9)VPwW}Bon_`p>HAJ}p=_h@!7Qe7f%-N7)v=)L6%-di?L{%|y=l?!}er)F}8E8h6Qu-c~Z z`|bE4v;CvrNAUh}{M7ODHvG)v=P-Vb;pY&3NM5o(;2?g;-;nRg4|z|%8>N%aBtJYEjc#Z=;(&sYzCI(?SC+L9GzOsboCxy#^!>)*-*GP+KyL^2Q7?u1q^ z75(o+YkCU)_o0<8`G<3-AxC8SM~)O3T@f+$Q0{bPY=wY3|3CNlGc|MW=W4IjzOMEU zYd=#{<~}+1_iM-IexUYSbN_Gc`MLkQ_Q$n-U%bkeK3U2@%0S9M%0S9M%0S9M%0S9M z%0S9M%D~?k18M*N)PJA;KbdUL*OoH1e_s3U+Ut0ezETEK22uu622uu622uu622uu6 z22uu622uu62I3ju^TiCC$u5SDrm5pp4{Iv+7!n+N#0ogqFLNkcSsa~yQ>0{NWd7(> zG4mj@p1;l&;&UkyFY#GOfm~rJa1768KK_qn9Fj%m|MRt<&eVRt_S3aLs{LmC1E$}m z45SRC45SRC45SRC45SRC45SRC45SRC45SSF%`rfhNrb!mWYEFg`#&01$dz&rW-)Lu z^>B`@g!7W20W$yp(Cq0bQ z>)7M__npUg*Ia`b^; zA$J|#Z8UL80_y%TEDAt{WXhw`g2^b3%>O?$_u)+KU)BB-ZUFelwQsL|wDy&?S8FfV z&eaarPGSH5zPVqW`}cD{IrqJDAD;WhFAXzKpE6}2WgulBWgulBWgulBWgulBWgulB zW#GRR12g&TquJr8%0v6}+4*d61m(d8^V!F<;n9)@9>`~pWkX{l``?n!p3II7h3q?! z&z{bXkABo#gwS}$++03;DC-Sw%(@@F!HgMKjPS_Cvs?#lI8}ePv9@0C+-~6erhUh5*4s8DY}?kU=v4Zse2yK-x4mVy zHX562wW;_$^@_-5Fi+0TRvWl=z;D^zMz?XthScP$ zgH!cINV?VP;LFx#r+(LNB9nb8w0>eFDJzd84Kf*j3V|XpyjVc3mTSL3>h|&4=WGAD z_8FY@|L<$RSNoT>-4;#>Y?n9WM9nuMdn*wh576JxAJ5;lPw=VzPMOnC`0%69 zWM`@9taijhFGS2IqW)A2hMuC;ee|e;M;?VDyF%4>Mb!=m&=b|FLe+Og(H`^B*|6#3 zV^IBR&#y?-6j?jup`*KscF;%XA}Yv-AB846Ro@j} zdusqaq9l>RXy{aZS2*p_0D6Szy?FwKs_zP`JrY2VIP}P)P-K^>t%s~?2YmD~72K02 zkg3)rE81IpbZBJAM@AHsCOg%dWLbOIL(e5^n`ElK%aZm`06l7)kw=O5z%o_eWl?+3 zM^Dyj%hc9G7PJQf=n*B^o4(6bYmzx_e*is^zROg7msxF}hd!0e&q#EAXS7-XJy9$s zQT1I?wYdO#qG(B?>bs<9vp#yVmQSL#9+ITZ1kfXHE8=!2wklDrNfNc`0D2-%AW^MJ z611w1p3I9$RDG9tt>U96Ynvo$>mhL~WuRBw-a)cPTcR41#IBTl@JJ;_+ybReMXD`{ z>PpcAPe!^(H6>A5DFEEXzXSiz_uhy95BHYw|FPZ^ z`2Wxc@ZS?R@ZZ5F$^3sNz1xqlkiJp|QU+26QU+26QU+26QU+26QU+26QU+26zGxXB z^Z(h}=gIROseOL#BXg%`e|@$)`<9s>n|XQqFQ>n4`fT<0tM{t!sC=UGN@b?}1Ldow z&tm>xE&gutjpEx2zff=r<^1>MFXsL<_jNgL>XTD@0EGf8g~qcYQx~!GdjunX{F9`J{u%(FhbPYWGUG}x;)jLY za{V;`1v0NV=`0Sxh#y^b%k|d)6!Hm%5eY{8=&GCIuK|GUlh0KUjQHVIH^pBA0NE4O zDic2h3Uo&G*8l)LQLQrZvk3%U@z($p$n05gC^1qPO(PkqzB97F1_0>EWRD+WC9;eD z8UUatUC}2HPh?%Gg#f_R1390(d@ctTr!c;=psrt@v{u%(FPd;l&WT)yo z!}@CgTxKTs1OjCxlOQ5xg{%Q^XF>`I2F?it&6tp~LY4pwz@wEIne2+MQ$eL^yP(P| zWCg$wJc+^xlx0lhnWPo60KlCIDMXrzh}lx?R8VQUj$&8H{QnRz< zQvwD>+mRyrv;UAiL7N8*N}NQ>^=JR{N!Fu4GZad@LCW=K|MOU`9M<=Ug3@$`(ry5q z^=JPfdjdxQ42rFi6o2*~=!tBVvdRdYVGWZv`|t7|w5CYtLDNW?s_$6CoXYYnaIFzuW7`Pr=UwWsffLpwud54U=20MyCHq=!tZOvWAJE3;z5+aWhFory7&Y zyYv5UlbWbk0QsoeE_3eu{{Vcftq4B|jdZHA%d9{DPonl9Es>~(rj3;KON4XApZ_Ng zEaZH{{)`GvZ8#*wpZ_PEhrpvo8{eW*Rsf-E{+K)epPN0AspaPO<5&7h8AusO8AusO z8AusO8AusO8AusO8Aurb13iPRASQ_GP!)w@=kC>9?_Q zd%JDdyRCYs+c0mFH`wakuD4rFyHnRUt$Me;-RTa#BwNxq^se1GRlfy*I`+-Gnay^q z(^=OW?fOY>9%+3jZXcxy>leC zw<&T8Wt}`pk$Ww&mOa~VEiO(Ko@v{97iA81}sXE(L0#enD4bX+n`=rJ< zY;#@TY?ydl2-`v3*qi2#D=^U(@*vpP-#v*c?zZp&93Ypw&Hq$=8I`_a*f_SvNITzsT?_eJacd{Q}z!Zly+Yhv}I$&Wpgb!EaI+8 z5}8vhBPudKTl-vQX6kNc_FHPdQu~gXR-b*6M+ zem?uP@9pYF)3$MU;I=z9(h0nsJHNcNcw?!4WAWU@rFtNt{zSFXxL2Mn9pL%wSIaI$ zYtvrE9fjlWK0GZ+Nxi;d}HaErRDnND>v$wU$}VjM7>(UxXO;* zUTwsunl0U2rzN)9YpY~zE|5+TEiwZ06nVs8IT(g%cUQZO4V>WmX|J{U%HOrIWqDVmw!ak9ld!|ud=Hyg69xE#CCJrXLGPD|feZ8@uCv^X|BnaxnlAz@vN9)QZ~y<64Nfy0Nh zAAbLkRg5@e*cwz0-^@h#8-BeDX`TVbvJ&HRwzrxsomjfDL(}V4yRp{T)SIhLqiJvA z{#W0Nh~h#>nLFJUPP*MgMgq0ErFYjoEbKvuV38AhDOj#Y^V7$X+zhcU&-DYITl5}3 z;sHAY@W{9Kvp$b~N|i_LZdf0o+#?H)cbJ~MZgqwJFl4VQmC^xK&EC7_YSvILt3lj) zV`Q=M-%f{gEcR(~E0+!&Jed8^?LqT0IGh?YW8{qLYKXt#m%9*# z)0mq9i;7x-1<%@UY`N1!qqcl4XoF(JY~o{xW(%`BxoC)sY4V{7LYSC$uTQOp3OT8P%8+p+6i+=fw)o7E1>f7P9xA zcPo=v(JCRh-PPAR;ZNmI)rQk{sbM!GB}&}2Do0{?m4?;LVIPS)>f$K!4KD{jsMR<} zb^glb>o=Ac5y{pu*@uXD)q8^a3zsikdts^m#8A`|byD>5(Mi4=QTfhN@xYaZ zY^H(G@wLvYhzsmheY=Z56rcUlTxM5UuXOiwrT@;n+Zf(ka_hmXChtu##J>0SF2sl0 zDmH3aqvm;}%0V5aDELSh_n^WfMu`k#M2?E4Fd5b8QL)Aj=M_(r0dNTiCo4uZ?{d(Rn)`3KGw^?KQF-9Aojv=iKavGP!+}?3~Q&UCd2k65#mk zD03}7Gq13cmw9HCd5)49htPPLr$?D*DVcGQnwPmc$~+UFnZw-*qs%8OZf5W?P0#G} zak4zhUZrMd1KCTX>=kNu#?OAdIFh_f%g!hx$)7B^nGa^BD38giyt>(1?X0)%p3D#B zn4&x-D=`7FPvlD2a{wiwJS5AgvM=?MQ*Q1<8Ok#@oXD^iX#9OAP77Em?>gR3qO}a=Vj4c;pbiH!FniF}cn>P&#nzSoYq$t08Uy zgUvaE^$NrHZwYBfFxM`+F_bp8@;zqbQ-}MJyunFKG!d?KE5W*up%`HjsHAyoJ84Sd}4!ir>xKwzU@btwii|+a@vLh3J;ZHM+uI$C?wm}*u zeuERdLvy9*;RH)s#^()vP8=4lfk{-btQ*}#W~`m1w;6;b-Y0}UQ#5c#wRD;I~HgudG!va+}w ziQSdQ&d5|k&diU=qKp0FR{(^U$-Mb)%afK`G3k2FPz8QTujgEOsC0m3v-bwZHi+4_ zuqw6zx2(e}j(_t=$k4{qcQLa;X3BK8r?;_I=Egal1}>u?E*K^*Y2>Njlt^kMT*z$P zFDdb=CvfO5e5YAmxcB0N?sBHTTXJ355N!DCz&MYjpoAe+g2hhp>zN|!I|_5xYzH;ub=I+e?`D}CMPiAgU|H<@5^*>gv%I{XR^1m)?rC%w%tM~)O zBZZF^X7V4(eJ-~(_3x%`;?L68|1TKm%^rLZV~+l-^qwO)q-3^GtW>H6{9icxHphKk zZ#CgJ$vRU6f%TSC@7!)Qo1M{t7Tt9mFrja3ojOleIJcTjyFETkrkr9J0f!M&Q}|x> ztxv6U+K>a0s=AC?}Re4oU4z z9|+4)de0%qFM>ZQp%q__&<}^H}6%P>*)NT|J9^b5#!IBFOoZWk zGY>?CA=XpLS1aXGC08gzn8~#E{@hSKi^TP2_eaGcZns>h6sl0$QaOM2t#7v5rQ9n` z=wW&@`=as?ddhidPN9Ofpfssb-m;&|0-R1cyX~-EEmevO1_9T z;BCK5UcWLtWy)@oh0^+_iG!l9V@3t%K($*q(8@k_87o8M-3pFxqSOykxcARR1i17d z1jrZiIk;JfarV)HvOLpj;bg5{%0InGDPEymZo!~<<^!{l;;*3ixnjNuFJG+`%V!_k z>+@5~7g&lX;gQlS%tQpZG!Fp^;J=DS7{)Sm@%MdxvND&Pa%Ni;9t6r=LJZ^(dd2C8 z99JL*f`LM*P%c)h#gPZulOpUY2&YmGUT2UZf1nzX;}R5drigF^qLeDdN%)8-f}`CT z!XQO@e)na^(_QUC%o2TOTxiKq2vmx0B+<_m^XepN2l>Pszs-P^?>-OnI#v>T;OM~e7HJ}L)l zq5=)bRUik5*t27zI%YmG0ARWa=(*LhbWonhMh-Lj&Z`r!kg1cthr>$TyfL z8oa3#3&S@B3~rI63dX(NH|4@qiM*+l^JM;is`fpZ+Hc^$^p!G@GLSNmGLSNmGLSNm zGLSNmGLSNmGLSNmGVnLZ!11YKCVQl^m^;_j@3iVS$f|yZlTI@7Nmi~igQF$LvTT(T zgyY#^=EdgLy1sj6j`aVFbN@9{`_0-vti7*xt#%9_(pSnr%0S9M%0S9M%0S9M%0S9M z%0S9M%0SA%7YhSV7ST)29$K85-F4$C_HC%_lZ9d4nfvBt7V<@GdONf@egCXa=1A7V zi`CtC*+B$FB_jZp?2*OFeKuy3%*p~r0Ei6b`^lh)r2n6vo6pq#Zta1&kKs-FN*PEQ zNEt{ONEt{ONEt{ONEt{ONEt{O_)=xyz4=-udon}ro93#l{xCn5NDdt8(g2bqzMEd{b>E%pqY3}>x_RZdz`MsG7)8B^`}Oxk{X`)wMg_I=QN`KDbIU60WOfIN=n> zt1_?BQUt#D_R=&Udshf%rdE8qWo~!st<5^QR@A#pwcgmQ53htfRX>jlO6#rdZr$Fr zH+Jfy3+_5~vuW$?=1yJTwCZ~2b{$u4)Yt9iR{id}y*WHc{ZvF0@r;P>0!~ZkVh%DN zrii@{EYE96}9rPg-4t~WOD+&ZoWYS-Hk2XE>P-0Pw5G&a|8`;>F4eyi2KO`c`P z&A*0AgzCCMZh39s7Q5{Z=6UPg#s;#}q>|Vubt8Etj_EyAaHZm1sb&i9Y3gQk8yCq1 zFZ?)Cf8MsY1~NcOa>p#V+(hBzN>}i_iTh)_kc`eo>$Y8AYulSTt}Dbux#>!Cs(!Vto48mJ-?iazo?9UH$|TU&I(6d6}{#Y%=0rFS3~kgSp)RHNN)=*>F0oR?G|%4wlK>Nnau zL}rO7oh>{Dg)@caXp*s<+IwWmmF%4^ zXXX6hVEo}7*n|S;e^ZCGx%2xG#k$=vZ$sTW^^<;OnmhHoxch9N{zP0dWlj-IQh17J zNKtx9))no&L(yE)a69t4dp&Yp2RV%mTxN3zVjih`=8G#5T{|%K=Emp(w)Mu^`bpGl zr?ZW}>NL9BgR5#!4K#FXQ1#?-yX&ovU3Z#|tva&XU799BK#JKS#qIykX6G|=e=+;H zng25V=he?vK2!el(pMGVUC88qYHAZnU+S;^v$M6#q5ic;A3u30TUk_(t-LZ=wIV^& zcDA}_cutm-Gs+qE=qu_A>dhCQWUzsg3w&7TeqBsnz^CqwJif%BHsJN z!?I$`z!ffukQjxPmRsg+yIa3#>ucNgiKlUCHm;tt2dJ0kIZjp9yWOqMnbW7yx*$ud zb82nv^nj$(gYq`qvilcj22{>35Gt=7xizFx9Ha7*dg1!3uWqRqp1FGQy7}VGqnu+4 zjKV2~shfhrtEwnU45&0&OO{w&QAA6$RMiv}i_;}ZcXZK^Z6sI%7?N$9XIS3REtcUN zxJeKwv9>~>aA%8Qi7aCXvT5>yqyj=U9g!1J1BS?3x8h-3Go1ovAhhV}kgpzXMIUqs*?DT-n zBd%tO$6grHDU8v1_k82-%Z-=rF3ZocUHjFij-n7rkQ~)iZQhb>ETVE`*%E9CYNPUo z#hchlB#W%gaf&4}g09Mp0L4=rj#bdOIgBncreaDK#~F@biL!2*f~hjP%?fDbptYzD zNmnIaR|Lz!{X;BXHX{ivBU{pd&g-qMb!g^A+wQpU#`xrS;qwYEV!x}Crkp!*QwJZo zXm|j4ah``!?!w`qw5DzMzpOf>aN$s;vM3)JQOJ)``0NGqRbl7WMc%n^>B{pjt{rtG z(b7$aXLUz}^*NHjJDhHCieu{v?-&YiIHIK(x}wSo7!^&+WU~ z@5Ts>zx#!lwXnElzXs|Nb6FkFstMe=d4*;8UFahv8KlVm`HE-Ipl{JLXl{(YbLZIR z;->tfaA))8#+^IQ9Tj=FDM9Bf$HHZClFC>%V_MK0UDY|z1gEJB&`x+ugvTOWn*-+v zS~yeCp|+we3A)7bARAW->85V;aI-oq87wM7#-ciz;{``{cm{x=RMd5y6LDpmVK_2p z4Cq_h*wE|G=xwv1+ju+1UrZD?bc_7JACgN{M)JB^ywW)8SR$fFkt3GJv9@X23Va#INtURa zj3DW}3Jn7bs=}zY3cfh746WiA9R_YOJY&K>ZC-(?syyu55z#zJ4jiH>Gdvm{v}C5P zppgTt4a2fo=qd=7ER`EJF`KQn^@_eZ{Kd&<*COpp%)MMg9=Q=~C&nCPeau6isD~S) zdcX+`3*UwEVUFHTsg`-Pf9=5h$wL{ks5H|t5z&v6eMQ#!t>>;k_rlFvmTfe4j!LFs ziv|ZZ(>YGC9ZOYA2aSo&u!g0Wh9NM#=x`EleN@maE0(O=0wXBRnay@p0OQ{cwL*3Z9{NW1q~Hp-Ia5(3AgNWcJGbi;Mo`W;j^19-CQ4ccQ(6o)w;E1U3>kN+c)m;H;?K%Y>*Xf zj<`7q-rh1fv=1g)NXAwWfas#YAw@zvZ9v!1^vbrPA~2B!-hdt=kAU#SWMT6x58Je$ zb^zUM$n?@ zyljCol|fmy1Ggu_d{x9T0R{%Koc;QMfsGgjVlIXpGQjlSz>;pF|6v^%*Z;;{>w5Rf zCVOp*S-<@1>rWk3@W`?*n~>YU;~=0S!INRDj0wjAf6hX)IfYcQVHk`m7$RvM9S)Ag zz|F4k8ZapkWAKJ5G6o3~43-sC*%U=xkR)87C&At5tYsO7BB9@>+PV$*E{M2^O$jh? zW4*Pp<>^2-hJl!F&wv3&?R^02$`R8aoIgFZf{_l5izEqKtDyC#36<2X<0cW^^0 zc^gAO%w3Qk0dHWLJ0Sp_nt=-(!j3C}{nBNLy?je}`RX%EudiKu^{9*}hGEdC*gBM* z5%ET{d9=>9VOlzr911VmqUqR<;OLBGD!K@R&~;NGVI(L)7szlJcr}Dej3GK`ty#eW zf&#^m1&44vVNlOy3mPf!6fV}Ye`mO3Kf5(%Pjp$Cs(q_cq!F$_?nA4cxyu;Tu3 z|JvclM=C(N-3<$)JY$XS)>CUwpSPqNORcM0(zy%#QATwji!9hSe6)!01o~`RtRu>j zh*p(1&>pZ7EL=p)B3Tx?6*flD5YTa~qe3^}?G)B#MdAWw69FQkY-ojpS$W5iOmyrV z#x`w?3<@%1+UV(64x&NBvf$Z7))V!*-bRPyxz_q7Orb+Q#IQh(VHknT|38`e)=cd? zYfsPp;oL{&PS5`O?Dp&dBVyZp$Q1(Z%FJ}G%pnu)h%9G_xwtW0Ju7-^4 z>4x!FvcUQVq1ai}9L6*#&JrfF2b#T*)-_7>_hW=d`y6(77-i zAAS@XdW@wH(OKxk30%Rb~FaG6jeJMKu=VwlreAU zjG}0d`REbTk8J9qN*EJv4wzA7?U09_hk^&KDXO5f=ciheB5H5*(G$u}wI)T-4*KX^ zLbt^gZw;VFlq6CZ4V|j*3a339Ku@MKRDD-i?U4X_#GywXg(5qmJZg$| zz(*fb!995bnQBe4qP@jOA9J~Ts#P+05ba(K^j(&lR{~-cjydht5c zwe^rhZ90ISD4vn1)+7m9)kja}#V}$(dn#V5_~^;nCX6o7(7BZ|&?|25AX%d=QH@Dr zS4uv3q!J@;fg&HK`lu-@MGrg~=_0l15S5hzz}+5M8M+>dW%lO5M5?Zf@=D$ZkD%=> z*bu3zE=nso4?LOwqVy%w!lD#)w0p=me&kC@G?Q z{{NGi?M&_4Yv<!gWA z+0wr)^-J@`UntteV&QuW&*uLy|26sJxnIt0w7&;SNcgu

DXta#|X z*X2ajCUR+5Za||Adhhi)YozZJs@gp???ig4-t%ZqyiOmMbr`sPgQ$PSm~3V=KwufQ^-*p6OLc$lb+{L_K1gxME*2ps5Zs1D}B=Q9HK{v z-b1WU*rl2j$E@^8&vVF3BAsNZD$lAbebV!EJ3+N%_R3Nl5>{F1lb+`gJ(=uOg=eLe zKIwXTvIq5jkKq$bZAMt=JL!84(36EXSQbLjCKmecbv|ne`sC0Vvh*%KAZMZPUhlJ( z%*kWX6%8Fuo^(Im*~YnI5@W>@SBmgRK?_Japd?cusMae# zSFtL^^2f^;OP?-%v?Lb)&*FPA|NpZEt5C{+U;a|=)48wD@l(G!b$9B~>`!Ljlld!v zz8NpgV|O~Ar1E&Q!|}R-6iM^QohFfEFfff2M#Z4Sy+9YV_l>GzbSUw&O*!R*G13Jav zNs4wigdWtHXkoEF2^bW6Cn?$;A3aHQ0Srp}Pg1n)0D6LA*- zLS1S3;1QDd5~Txzs_Bffvgw0ItTNKkqf{tERdhyP+3>*=^j;u2wbfw6l_tR5Fn2nc zYh4a9yyAf;bGr;x&lzr|5d;tREuuq8vwZ2V9<*86b85sJ@%nUisty}N&F&l$7Wuh{>$lan?76p{p!8yJ1U>3yi%Dd|3LX_>9bh> zuNHr|_(t*Vg*M72t3AqcwS?*S-~S?VC~k-}&iN$C|4blKkn0Q6+C$G1NOUG(<= z06iJ+RBJ*D;VsQ5BpK8p5>oY@;r%@Tg{g$HQ}rF~kGC)b=!vX}q3S!@A8%cT%gp4S z0H=shv|L2n|jl-U5>_?BSY*Mbj`rkzl$-akv3qg;M zwA>Vb^?yE5n+Npxo&`ad{nh_@(&mNqF|0wf=T|6}1a!$?{SVm_m=Z83+Kv>_U;Pi+ z6SR52pr|`3*I)ggPqOZduuEw-NV)#%|2*l@g>+^wP6im1c7vq&tN$T;xEdo)hgz#t zYf>10^*_)P*(zn15jc}ofAzo1dytt(=s}a6vdf5|EB@;Le3Jbr1cR#Y*uzBDV7R@G ze3Dg11f9}!ka9J$24jStNM|T}m`J&Tzy3eT;0uAE8k5Ys>;K&*HBqks;8bmwId}d4 z0DP>i2wN7#g;O>#k!NE4_5VqxkpV&3zeK#|0D~l z2?SLaC3(>QA6x%lp85F9bJKr3{gLUD)nBb{RUfGQ?SH-X z|Gnjr1adug}PbMk6*1HyfkKpZP-U=Y`YD(Z)t#{RfFC>&c-YXM$ zM(bVi;S*>RKq%XT+!U>M*@sVHW&|WY4k0O64RgtdPtceXka)-J7OeFy`tV6+umB%# z4Q|0&@A&|HBF&*}6C&_})_cx_Ph!giB;Gl@DO&GB0Dkh&o`6uz3fpRW&-(BQ#^MM( zRqwH_ruU2opG#J?v~4w{V6FGG507Xk4$*`cb4Z6FCeRqq91rMC!pH*lDZ z&NT1M-3wH;7xAe%^?kLD?GGE41 z6`q$?dS^WJgv`YEm&sE>-&GGinZDC@(*Pa%uK4H?1&_3dG|iv}PdxNp_Ry1gVcKRF z$POnj0p0Cd%@mWs3pj%{URgsNJ0C}d+9_Pa+35x}so=4>#Rm%q8qf<~J$4LXBY;4DKk+_xd;ge|&Ei48++V9go zd=h^H5Q;Y=DO>0Dkfz1wsK;??trVCw=&cYmab6<({hdBrHDR!RM1ievqEhfFlKF zb=-$f(j@^1)vQR|>P=D4BpDnf+*8ep#H|ay^hw%q0cQ!)YDE~%|9AZT|L>Un#Oy1x zGc!Lhb9MSZP5)2RQuVj1uVMfHPgGXQe_8(4@|Tx>5B>im#h)vh#eCtr3s2|&L;l10 zh1@UYZs%sEzJKa+_S4y~%d(kY&vYpB|61ScKkrM@`xh7-1Qh#3Bn3MXz5X-cBeTho z_${shBOvjn=B8+Uum9{yAM8g&y&erdK5`)NqSp8N&-;?JU<4%IlHC-o@AaPnA0C^E z1S(X9<4ujgV;_>&e|F)6p$;H(m(=) z(t^1KYkjZ(4EV`ASp=RkzeG~BzSn;SIg^oalQVt z%Y8_5qCLi#?l}RW>OESpzSn;SIgyE(h>xIHEv1QZ3)cEx|Jj8PcH^QA8V#PR_vAnm zum8L+(V7#GL)CjUF@4g1cBAHfiRKI#S`!0uFf`I99q1u^g6M&OP!&^v-jg2m2tJWw zQiev{g0(*BLXXHvWLA`+5dsgrCw=Gve4^<|fKc_GoH#-{(L?xTdQTa7A=1O&lV0>l z`pJhc2nbd0$%!MR8$Ez0Ykq=GA=>?-n3X`)djbBQ^rMIHkvMj&`xWnVD8nPmE6_mydRo}@`BcuyGWF|Z;J!V|-)&wJ_l?ylT^`L9T1a2Nqm^L_q6nHYP2VEmw zst`9(^NNw4z{h(sw_vUR1h{eiFyJTmWCSF>V%>tZ{^K5el1>Q$iLY5Vh0OmyTwV^Z z|KIiee@d@D{W@hJWgulBWgulBW#CJg0nHnZDJEKpj!Rc5Ljp+QG;cHp=n4ANz@S8; zq+HD#i~;)Oks|gOA*hOtb4j_HHx>i*$(INbbjo-DNzuHa7#BSlp+)RydjukGIgh%I))0tP=GfAlcYaNAgJ1ozB(Czaff%3 z^hOCdRoQVWC>ehlfG5*+%8_HFSZ;+3zj)w52ezj<6hKg2J5C(+Mqd)rLOFwlNY1Qy zgD;6@oUv({>ezAKs5kbKWN-xXQO21ZIDt<-buL>V4Earbd|H1sx+&|4Zxzg0f zr=HLL$L#-z`TyV8<^2DZ9vL!mYkDSHwYv@D32-9HDV0_D=(hVnin!7vBPIj%N!)z^ zBVqx86fC}bM-V-vrMnF#1u!BL=z$b0zB}fjN5}1U8zc;1MBIHK1&i;F0^J?POUir1 z!UE`6Y)W><56~kK$F2_9$B1sb52RqR>DxW@=-f}F)eSYX0gTA1jz9{Qe;on3JBT+; z)}#bmlj!6}EWD&dHy@4Qk%Bcsbss*7PLf-3!_8O#9&3cWz46l%wJ1JFbOTZ_Me9B0 zOP_>$NFNC;1MpZI=k1P%^b^GN0T4>nqF}6z^R~wWeuCgK03T^?11VS=NA|~$G$-l- zB7@Dr(d7UL#oa)9tc@c(m=bei;3vm#4Q_XXe+Ifdww(}477PHF-82-y)Mrb$mVE3)Kt&V!%m zm>6Hi=#tZ5iq@MAz$dcW=z5?4Jeu;E5PYyHAM1t2JLKqkpa49~YTAcS=8&W7fdcSo zt*Qa|M2Z<*4-|lhSyck?i4-%s9w-10y)OsgBkjjt;#UdhM9|_K4F2^>9{faCr37T8 zgvTftW>xgzlLdj%;lDt^Fsp(OKc3w+&kyhad(B_}e{A*_XB)HA=>K1t{>=0@Op93mzf(O}`Kiik zC0qWE^7+!IN?%oaNAVYn>%~gp`wGwJ|0MtS@~3jYmfOnhpZejc>)Aiceq&b3{C4KG z-6lb_-up)NJ(uX{SFGfYMCGD*M#Lq=JW}B2-s{6hJ8-+P766GCgExQV!rERf`t#RUbZ?=1@-H0=xpv*$Tl2^*&l!$dv}9r)rLZ z7P95TPcq08fTwB>PWb9=2H?XjZlttu0~~;-Y7P$J>TUS&lLS8jc$z~NaSB(j>BA>8 zE6Ookq-qg(-uB>=tQ038G>?f*H(KwN0Q>||d4L?6$3($euMvU|4e~^~cNE2xBg2D! z!8nPlx9-Cyvs%hQU!V;~arM@G_+*+xIg5+HL+_mse2AP#(@P_Vs`oOs>f3;KBg46< z6Npqa4V|j?GUg&IA3ai&kyws~PIbpP>Z@mZ=!wDvZ1|%23LMAPGlJ+rZ#h<2Y?L5U z4*Me2%C7WuAAN#RSzocEBjSDv4&>_n9S?ny!6_djIv^fM!Cb^D(A}91qBB8eqAEnG z)#!M5038Qke1(S&YYpmq#BtKAyDfLj_Rd!K4A0@j zqch4G_UM{v-`H8Z)?juvuiUtONjYlqj3bc)V|9y_B~{cpOJFQnVR)TURbH`7L(y%U zu_SCwU{svlt2kJMYe<&ETMmc66mYu{V;K@QkV;554M(zVgSAY@vSb`HtG=yrfG8!y5|Y*ovf^ zjH4?SehHF*C9JlFX zFeFnQ<8rHYb7T3rYpqCb7Hw= zLZhLSMD<+IXXjZ~QFmd|EpQzmnN0SaYu1M!CoEn&e0|8GGRES|%{6(Wv309^;qK%}{I{nmP; zYwLIPF$!b);vl~18&5NSM?n0z~r~hQ6!2JLEY-Q&AW}ct^lj*-VeX9CvIRAft z<%cWR%YRn>rm}+d|L-e3R{WWwf%E^qr|@k45A$D>Kc4&L+(vG0>IbK;W za+mf0n!Enr9Z$lMiIL@Ykx}xo#(_-n<4nUCB^#z-JjpvUVJ69zECNp%@F4|j?hb%~ z^ob5C2MA>dl@zSGTL6aekpZMVjk^PcGM+>V*4#Y+Bk7ZIPZ>`FJSO7ECV-Lj;X&ER z!;H84!wRH~(E=V5aby>O4<8(Q-_sB$wowIPILv>Xb_PU9M}dh zLw55ekUqKs%!el{z`Sh$fKM<~22|A`G$S!~(dIT;q z+E1f~GP@0QOihqY00Z=dYD2XtoCxLa0T{|2nTy!VQYm=)n80@6DsUo{y9HnI8@FD3Vel6Bo0TR;-A^Jp8f{XtXO~wI)qLfI1m-iR{7bn?x5ukvg zm89U{;(xMNHmH`-NRUPjMJ)jjFYhn@Cws|)@Oz36078jwNJ?<=|3q8W0_0HC9`J~6 z{Kfy|tgn#td+|2_q3AtQp!fdbe{w=_5FQ^xdP?D*7Tu77gNy$Yom9qiwD5zZ1Q-7& zIe-|(LkmAhN^tRilCz}=JXJAC_~9@9pJ*SSuQ@1zRx4Ou=P&+Ga!)#uo~oEQg(9%{ zpGY6loQQ{`$w&!6P%sqJU;LlwUMzr6^`6`cLKgqKordWo7mR`&S_nc?G zv={{Nibj_I`@#pQj|6Kp^`M+{K^|*(|KGQdpa1uhGhZ>2o&K)rXR3c#{o3lu%CA*k ztvp!%C*@nE|62NAO7ANEUa?o4FZ|QOTA`BvNBK*+Pv^cq$4~v{)ZM8^vp<=APv);O z-~OhIj%(iPipoR>H;ndH@Z{8>kWL0uG;eW5CDFETphv7SfX-{nqpAb?1fg#LBVv@n z6zy67eFB>dU_@*(n4(<`php^q$fHo$jmAg;bVj@4qeF}Ltkgb6G(-xdsM_TK`UK5r z03*^54x}jBr2zT_BOC#YNc*v#5i{w z^a-F-tqB30cL<;>dr%{z{cVb$iNxe z6DRwJ00Mo2?r#8{+In!3e+XbD(e`WD5>?+h(LV&RGSP(t0okdo2PgQ400KSIWrs{==u z2|jp)0m1_3|5cK;cC?evc##R5|Cdl(aB~Dj&l$J>e{AZ~VE_N8<~}s{1kV3! z&d$yJ(9H7mXL0|ZSpBW)-RdKiAFsSz{(Sjc%I_-uo6;Mldhus5|DP*-S79mt2l=ng zKau<2bFbv4r~WrUrLQkl2DHAncYgmw10KUcPMrM`9W)50Xnk+*{QikfatnY&BC}wM z*7x?#L;49i3jvTwixNn|H6-5Nc}PD&Y!(2Cv?+lUT&U#jop+@Vb&n&iI^+!kAd%oK zkb(>JyuI^)pP+9a0Ex6KffU?R=Ix!|Khdy903_0~1XHxWw|5@!6U0yfkVt?QOwsz@ z-g#I0V7s_$qZ_4{N8{SbbVoN76?JDI-22 z*b554Q=1bGW<~bUkEBoJb7<$FgEr_r*+f5rPh_>wD2lV=p!Z}K{fL|iCNO+*qJ92A z3hwA5+vwd9h5gBVLbTH#Kv!1!WE=eeJ?h@~7Ue{H{Q-2`07$mc57845&r)rQ#T|WQ z8~qSHQ9~H*_XlLh9erdMy@wuZ2P1`1RD-3eJUae;vWed9obMkCY4&7LEVUs)&%aM* zc?al|jEDrDpQ`XI?xZBMyhHRvO?b2i?U&0SeDY>_aUpyHrNL&6$k4(Fo{?o(t2fPy zE7cQ3XMm@4dPu>8_5U9W&j0@(vz^(8XMS|%rRmR4f9v$StN*t8!RoQfFIF0r>GJoN zuarJh`i7EN{O#gS@nGSn3af>w{CDS{&HZuif5@>@pPafg^+@(7vRdW~nUB30-C%$E zzdDtGT%MI^hrJ<1@u&Z*i55%)BfiH+%9Z@-f5<+;kn^zm2}Zm(aZ~*1f5<+$7bh6; zEhtG5{ONz7Pu_qMjCgP2mg`UdgPF*{VZ=b=d=)H!KkuJp#EK^y zb7LbplEMY%{U=%*HPQ-TP&A#S1m^vdv}=%%rs^amFz-*slY+gYsGpCmRA9t6YouHy zFz=sewIwhp%8r!(ud^%KVHgB~f3(>qt6lah`~UCQ!IE-f??IkTPNX0z^yrlLue>Ii zgu>cwUdsDdp27_M{^sTLQr^GBy9;#TOg2J!|I&|rzz|`>Mkw!Jc`UK@OM3?kW90n} zoe$6{zABGYB#bsM<^7lHi^5kG2V-lXc>G`!^DEt21rVW&$N_X}{^#iIt4UE(Gt!$n zHUC4+LLurwLTT@vn*Vt<2g{zLpx9^dhm;zj=6_yq!RYC9ATgx9cWVCUwIYl@y>#9k zHlP_9J^CKa|GbK3Ku=LttzUW*?k$%3|663~@Y|ZW6~T*-cQpS)B}&Ox6=NLG&+i_x zPp7(JV^CjJ5yk<%f44xNKI0e&h29StJwQj-2z~uFYTA|F1O~<@(EWgFS@gkV(p*Y( z=}aJCd|cqkd8UtWZ|#bI5o_AL|KBA!Z|->^N^)uJ#}@tnmWm5v_swmHcqID&S#1&P PJZVW8BM6MenqKD*voVIx literal 163840 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 diff --git a/routes/users.py b/routes/users.py index 1bdeb0f..aec24ed 100644 --- a/routes/users.py +++ b/routes/users.py @@ -8,7 +8,7 @@ import os from flask import Blueprint, render_template, redirect, url_for, flash, request, jsonify, send_file from flask_login import login_required, current_user from extensions import db, hash_password -from models import User, ROLES, ESPORT_GAMES, PlayerDisponibility, UserGamertag, GAME_PLATFORMS, Contract, OrgTeam, CoachAvailability, TeamNote, PersonalNote, OneOnOneRequest, Match, Team, TeamMember, MatchParticipant, Tryout +from models import User, ROLES, ESPORT_GAMES, PlayerDisponibility, UserGamertag, GAME_PLATFORMS, Contract, OrgTeam, CoachAvailability, TeamNote, PersonalNote, OneOnOneRequest, Match, Team, TeamMember, MatchParticipant, Tryout, TryoutRegistration from werkzeug.utils import secure_filename from datetime import datetime, timedelta, date as date_type import requests @@ -1132,6 +1132,60 @@ def manage_personal_notes(): org_team=org_team) +@users_bp.route('/notes', methods=['GET']) +@login_required +def notes_dashboard(): + """Unified notes dashboard for coaches. + + GET: Render the combined notes management page with both team and personal notes forms. + + Returns: + Response: Rendered notes dashboard template. + """ + if current_user.role != 'coach': + flash('Only coaches can manage notes.', 'danger') + return redirect(url_for('main.dashboard')) + + # Get the coach's team + org_team = OrgTeam.query.filter_by(coach_id=current_user.id).first() + players = [] + if org_team: + players = User.query.filter_by(role='player', team_id=org_team.id).order_by(User.full_name).all() + + # Get existing team notes + team_notes = [] + latest_team_note = None + if org_team: + team_notes = TeamNote.query.filter_by(org_team_id=org_team.id).order_by(TeamNote.created_at.desc()).all() + latest_team_note = team_notes[0] if team_notes else None + + # Get all personal notes for players on this team + personal_notes = [] + if org_team: + personal_notes = PersonalNote.query.filter( + PersonalNote.player_id.in_([p.id for p in players]) + ).order_by(PersonalNote.created_at.desc()).all() + + # Get available matches and tryouts for context + matches = [] + tryouts = [] + teams = [] + if current_user.role == 'coach' and org_team: + tryouts = Tryout.query.filter_by(target_org_team_id=org_team.id).order_by(Tryout.date.desc()).all() + matches = Match.query.join(Tryout).filter(Tryout.target_org_team_id == org_team.id).order_by(Match.date.desc()).all() + teams = Team.query.order_by(Team.name).all() + + return render_template('pages/notes.html', + org_team=org_team, + players=players, + team_notes=team_notes, + latest_team_note=latest_team_note, + personal_notes=personal_notes, + matches=matches, + tryouts=tryouts, + teams=teams) + + # Note source types for filtering NOTE_SOURCE_MATCH = 'match' NOTE_SOURCE_TRYOUT = 'tryout' @@ -1256,7 +1310,7 @@ def add_personal_note(): db.session.add(note) db.session.commit() flash('Personal note added successfully!', 'success') - return redirect(url_for('users.my_notes')) + return redirect(url_for('users.notes_dashboard')) return render_template('pages/add_personal_note.html', players=players, @@ -1362,6 +1416,7 @@ def add_note_from_tryout(tryout_id): tryout = Tryout.query.get_or_404(tryout_id) # Check permissions + org_team = None if current_user.role == 'coach': org_team = OrgTeam.query.filter_by(coach_id=current_user.id).first() if not org_team or (tryout.target_org_team_id and tryout.target_org_team_id != org_team.id): @@ -1372,8 +1427,8 @@ def add_note_from_tryout(tryout_id): registrations = TryoutRegistration.query.filter_by(tryout_id=tryout_id).all() player_ids = [r.player_id for r in registrations] - # If coach, filter to only their team players - if current_user.role == 'coach' and org_team: + # If coach, filter to only their team players; otherwise include all + if org_team: players = User.query.filter(User.id.in_(player_ids), User.team_id == org_team.id).order_by(User.full_name).all() else: players = User.query.filter(User.id.in_(player_ids)).order_by(User.full_name).all() @@ -1403,7 +1458,11 @@ def add_note_from_tryout(tryout_id): flash('Personal note added successfully!', 'success') return redirect(url_for('tryouts.view_tryout', tryout_id=tryout_id)) + # Allow pre-selecting a player via query parameter + preselected_player_id = request.args.get('player_id', type=int) + return render_template('pages/add_note_from_tryout.html', tryout=tryout, players=players, - team_notes=team_notes) + team_notes=team_notes, + preselected_player_id=preselected_player_id) diff --git a/templates/layouts/base.html b/templates/layouts/base.html index f972f01..cfb94bb 100644 --- a/templates/layouts/base.html +++ b/templates/layouts/base.html @@ -88,25 +88,19 @@ {% endif %} {% if current_user.role == 'coach' %} -

  • - - - Availability - -
  • -
  • - - - Team Notes - -
  • -
  • - - - Personal Notes - -
  • - {% endif %} +
  • + + + Availability + +
  • +
  • + + + Notes + +
  • + {% endif %}
  • diff --git a/templates/pages/add_note_from_tryout.html b/templates/pages/add_note_from_tryout.html index 6591e6b..89bd793 100644 --- a/templates/pages/add_note_from_tryout.html +++ b/templates/pages/add_note_from_tryout.html @@ -13,14 +13,14 @@
    -
    diff --git a/templates/pages/notes.html b/templates/pages/notes.html new file mode 100644 index 0000000..c9d9c49 --- /dev/null +++ b/templates/pages/notes.html @@ -0,0 +1,172 @@ +{% extends "layouts/base.html" %} +{% block title %}Notes - TryoutPro{% endblock %} +{% block page_title %}Notes{% endblock %} +{% block breadcrumb %}Home / Notes{% endblock %} + +{% block content %} +
    + + {% if org_team %} +
    +
    +

    Team Notes

    + {{ org_team.name }} +
    +
    +
    + + +
    + + +

    These notes will be visible to all players on your team.

    +
    + +
    + +
    +
    +
    +
    + {% endif %} + + +
    +
    +

    Add Personal Note

    + {% if org_team %} + {{ org_team.name }} + {% endif %} +
    +
    +
    + + +
    + + +
    + +
    + + +

    These notes will only be visible to the selected player.

    +
    + +
    + +

    Link this note to a specific match, tryout, or team for better organization.

    + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + + {% if org_team and team_notes %} +
    +
    +

    Team Notes History

    +
    +
    + + + + + + + + + {% for note in team_notes %} + + + + + {% endfor %} + +
    Last UpdatedContent Preview
    {{ note.updated_at.strftime('%B %d, %Y at %I:%M %p') if note.updated_at else 'Unknown date' }}{{ note.content[:100] if note.content else '' }}{% if note.content and note.content|length > 100 %}...{% endif %}
    +
    +
    + {% endif %} + + + {% if personal_notes %} +
    +
    +

    Recent Personal Notes

    +
    +
    +
    + {% for note in personal_notes %} +
    + + {{ note.player.full_name if note.player else 'Unknown Player' }} - + {{ note.created_at.strftime('%B %d, %Y') if note.created_at else 'Unknown date' }} + + {{ note.content | nl2br if note.content else '' }} + From: {{ note.coach.full_name if note.coach else 'Unknown Coach' }} + {% if note.match_id or note.team_id or note.tryout_id %} +
    + {% if note.match_id and note.match %} + {{ note.match.title }} + {% endif %} + {% if note.team_id and note.team %} + {{ note.team.name }} + {% endif %} + {% if note.tryout_id and note.tryout %} + {{ note.tryout.title }} + {% endif %} +
    + {% endif %} +
    + {% endfor %} +
    +
    +
    + {% endif %} +
    +{% endblock %} \ No newline at end of file diff --git a/templates/pages/teams.html b/templates/pages/teams.html index 3140b16..7bb67c7 100644 --- a/templates/pages/teams.html +++ b/templates/pages/teams.html @@ -66,6 +66,11 @@ {% endif %} + {% if current_user.role == 'coach' and team.coach_id == current_user.id %} + + Notes + + {% endif %}
    diff --git a/templates/pages/view_tryout.html b/templates/pages/view_tryout.html index 9f0b80f..4ca00c4 100644 --- a/templates/pages/view_tryout.html +++ b/templates/pages/view_tryout.html @@ -155,11 +155,14 @@ Pending {% endif %} - - - {% if player_eval_status.get(p.id) %}Edit{% else %}Evaluate{% endif %} - - + + + {% if player_eval_status.get(p.id) %}Edit{% else %}Evaluate{% endif %} + + + + + {% endif %} {% else %}