From 1e80d14a898db60193e655f0eca68c5a63257d31 Mon Sep 17 00:00:00 2001 From: kdeterme Date: Mon, 12 Oct 2026 15:16:01 +0200 Subject: [PATCH] feat: add favorite filters feature with UI, modals, and localizations for unified index view --- loko/assets/locale/en/LC_MESSAGES/django.mo | Bin 118886 -> 119561 bytes loko/assets/locale/en/LC_MESSAGES/django.po | 27 ++ loko/assets/locale/en/LC_MESSAGES/djangojs.mo | Bin 10756 -> 12530 bytes loko/assets/locale/en/LC_MESSAGES/djangojs.po | 81 ++++ loko/assets/locale/fr/LC_MESSAGES/django.mo | Bin 130882 -> 131586 bytes loko/assets/locale/fr/LC_MESSAGES/django.po | 27 ++ loko/assets/locale/fr/LC_MESSAGES/djangojs.mo | Bin 12243 -> 14169 bytes loko/assets/locale/fr/LC_MESSAGES/djangojs.po | 81 ++++ loko/assets/locale/nl/LC_MESSAGES/django.mo | Bin 121447 -> 122144 bytes loko/assets/locale/nl/LC_MESSAGES/django.po | 27 ++ loko/assets/locale/nl/LC_MESSAGES/djangojs.mo | Bin 11184 -> 13027 bytes loko/assets/locale/nl/LC_MESSAGES/djangojs.po | 81 ++++ loko/assets/static/assets/unified_index.js | 457 ++++++++++++++++++ .../templates/assets/unified_index.html | 101 +++- loko/assets/views/core.py | 3 + 15 files changed, 884 insertions(+), 1 deletion(-) diff --git a/loko/assets/locale/en/LC_MESSAGES/django.mo b/loko/assets/locale/en/LC_MESSAGES/django.mo index b1308bdc20f8da776e060db465118702c4a560a5..21486c6ab8f3e0d55dcb1dab976d94e3b7d8e2fd 100644 GIT binary patch delta 39164 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 delta 38544 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 F{|9?s5v>3K diff --git a/loko/assets/locale/en/LC_MESSAGES/django.po b/loko/assets/locale/en/LC_MESSAGES/django.po index 372bfaf..b088fca 100644 --- a/loko/assets/locale/en/LC_MESSAGES/django.po +++ b/loko/assets/locale/en/LC_MESSAGES/django.po @@ -8764,3 +8764,30 @@ msgstr "Management zone documents" msgid "Si coché, cet équipement est exclu de la zone même si sa géométrie intersecte le périmètre." msgstr "If checked, this asset is excluded from the zone even if its geometry intersects the perimeter." + +msgid "Filtres favoris" +msgstr "Favorite filters" + +msgid "Favoris" +msgstr "Favorites" + +msgid "Mes filtres favoris" +msgstr "My favorite filters" + +msgid "Enregistrer le filtre actuel..." +msgstr "Save current filter..." + +msgid "Enregistrer comme favori" +msgstr "Save as favorite" + +msgid "Nom du filtre favori" +msgstr "Favorite filter name" + +msgid "Ex. Mobilier urbain et voirie" +msgstr "Ex. Street furniture and roads" + +msgid "Donnez un nom clair pour retrouver facilement cette sélection de filtres." +msgstr "Give a clear name to easily find this selection of filters." + +msgid "Critères enregistrés :" +msgstr "Saved criteria:" diff --git a/loko/assets/locale/en/LC_MESSAGES/djangojs.mo b/loko/assets/locale/en/LC_MESSAGES/djangojs.mo index 1b58bb0f36fd26083187e80be6eb85f29c0aabf9..70be09a7a3cf45c7e288736dd8fd355cc05622c7 100644 GIT binary patch delta 5350 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 C-An=i delta 3681 zcmYk-d2mfv0LSt3lDr6F36jPZF9}HqdG;+uNRiUmVkd}7LoLse(5Sez7PZwaDs7rc zJF25oQ=S>7r7fn_f6&pE8Wm$qtJ+d+(V8)xet+*B#+m%?=iL2l_vNpmwPT&yCQ&;L zrJA%N&Ai53#n^gmC>t6W(+@XdKAy%Q7~jyC`ZyJ1aW>Y$GEBt^jK>;#{0Q=AK4-%t z%vo$?jAMSJQkMh2V-LJbI?%AOG0ia(lW;KV zxwEh}R$?zaicNUGxkE)QkBl=W2J53b-wc~#8*G8yP%R&U?Qtp&$MqP6=TRea5%uEh zs0Kwe36De@)JXNP`-3on_nV1SXuJvFQ|O>ZWH+j3HK+%Ff+_fwJ%1CMvHv%!p)qW< z-wIn|7gR&?Q4N`A_cvk|`yZgAA-PB;6YpULCi4_EXc$K0WaJ&D2pKF>id<^eA%A8M zn*n$L)xg`RDTreM=)O$Ub^Wac*4golzb>q>7w$$4(SA(BBX++Q`7^(<(e)lCUL(~K zb$vHf4|7lrFGNl0d}KYFGK|ERQ5|wn9ayjNkDyY?0nL3C>c;o64IV(k-LK_7Z)O){pTrY;Y4-x$=?O+q!i*y^C}-=m5a)d3ue$FK`VG4WbdJyAW%Mm=yi z>c%ms`%17amSH+pq895(q;2L3YUJ*s) zdUOueq1HeV>V*qXFLY21TZ@{yEvW0O?eU}N)%Smbif%j|I$+EX z_JUd*i^-&|z9yR1MQTLaieg^`mA>V--p%1M` zP>cFhGUKlYe`^o?gxbG{dQcsnq6RcVy&wsh4U>vGpM&}e@=zl%9(8{Ss^{g%2W7UQ zzJ`7F_-Cl+e3#;cZ}^h~Op}S^Uzd88f_iZd>IY;b>cQhsEibX>mtp9K1T#2ZiF)BF z)b*E9i}x0)K@n}k4N0{69a|ZKx}gxYnght6S;0nAQG+_aAJx-isD_+DP01DH9p)F* zP{*>6)bK=%!X#@dYN|6(*ExQBA{#?PYWMR{i!2{?!yMG&S%_-T8dO6zqeiUC`YGx; zm(YvXP#wB~8i~8sx@n;fI3|gTdXR-$Ons0)vzUz@um?5A)fkN*pEk$x%>wC z?J>7dFN{eK8*fcPji4WO|3GY}?|%#x^{m8RupAjhvl)GO5cRp7w`!tUE+z|g-Dr%) zrKlmTz!=xkxg2~n9#^p8nJqo`66CbTWE^qnj?niiGZFroh+dr}NE*o`qlrqFFpsxyQ_Fh1XUtAp zU;f0gDbz=iJfhFBi0CUCOg4~SL}hzuOaJSHD#kp6<>XDfzX)Ho_10FQPbkLjcfc}R z7qLXYaw?Ui6`4q)$ZKRQc~lxwdELim3mHI~l9{BGsI()KgL@kldfd8kqk>!GZhL~8 zo8I-f$K&g`AIDd_m| z*Xl%sTi#~A8|B;UUh*9dRwoxkxDQf$2Pd?x@C2{7Tk3Jwr#E)jr7w4rGUD918PmME z^8!nXgHzhC_P94XWXH}~P?D9EW%2{FisuD4WN!CF7wFkbg1McpdR)JMoLl8z=H_;; Rj9ngBP`t#94ftjS%>NTFWRm~@ diff --git a/loko/assets/locale/en/LC_MESSAGES/djangojs.po b/loko/assets/locale/en/LC_MESSAGES/djangojs.po index 26058a0..e7111d8 100644 --- a/loko/assets/locale/en/LC_MESSAGES/djangojs.po +++ b/loko/assets/locale/en/LC_MESSAGES/djangojs.po @@ -744,3 +744,84 @@ msgstr "Instructions & points of attention" msgid "Centrer sur la zone" msgstr "Center on zone" + +msgid "Favoris" +msgstr "Favorites" + +msgid "Aucun favori enregistré" +msgstr "No favorite saved" + +msgid "Mettre à jour avec les filtres actuels" +msgstr "Update with current filters" + +msgid "Supprimer" +msgstr "Delete" + +msgid "Filtre favori enregistré avec succès." +msgstr "Favorite filter saved successfully." + +msgid "Erreur lors de la sauvegarde du favori." +msgstr "Error while saving favorite." + +msgid "Erreur de communication avec le serveur." +msgstr "Server communication error." + +msgid "Voulez-vous vraiment supprimer le favori '%s' ?" +msgstr "Are you sure you want to delete favorite '%s'?" + +msgid "Filtre favori supprimé." +msgstr "Favorite filter deleted." + +msgid "Erreur lors de la suppression du favori." +msgstr "Error while deleting favorite." + +msgid "Mettre à jour le favori '%s' avec les filtres actuellement actifs ?" +msgstr "Update favorite '%s' with currently active filters?" + +msgid "Favori '%s' mis à jour." +msgstr "Favorite '%s' updated." + +msgid "Erreur lors de la mise à jour du favori." +msgstr "Error while updating favorite." + +msgid "Filtre '%s' appliqué." +msgstr "Filter '%s' applied." + +msgid "Aucun filtre sélectionné." +msgstr "No filter selected." + +msgid "Thématique(s) :" +msgstr "Thematic(s):" + +msgid "Type d'élément :" +msgstr "Element type:" + +msgid "Assets" +msgstr "Assets" + +msgid "Localisations" +msgstr "Locations" + +msgid "Catégorie(s) :" +msgstr "Category(ies):" + +msgid "Modèle(s) :" +msgstr "Model(s):" + +msgid "Statut(s) :" +msgstr "Status(es):" + +msgid "Validation" +msgstr "Validation" + +msgid "Sans géométrie :" +msgstr "Without geometry:" + +msgid "Exclus" +msgstr "Excluded" + +msgid "Filtres par défaut." +msgstr "Default filters." + +msgid "sélectionnée(s)" +msgstr "selected" diff --git a/loko/assets/locale/fr/LC_MESSAGES/django.mo b/loko/assets/locale/fr/LC_MESSAGES/django.mo index ab40c87c7c3ee6f1c365366ea2b1fc4afe815ffb..4406dde41bba4880aef01be40df3b82e6c020e7f 100644 GIT binary patch delta 39820 zcmb{5ci4~h!@<W$!(*FMDqpDI>d3$;d23R%B~_m61wBL}fIL%E~Ayl1R(UDx*R} zBqS^1dB4Bs$9+5Q=Qy6fp7S`)UZ1@`=XKGq`~LiD+Gob5i~pD-)$|xok+iW`LCjSr z78{p77Rxlm)L1NeW-K-ji{e_`j33~bS7Wg+u+D3-SQ)&Ag|W=*ki46W4{w9LPEM(u~=~|gT=5VT5u4S!s(b1*P;!5h1qaBI)ImG95WLy7p#pAs3|&-)|eL`z^ph5+u?+e z{v$fT^TDidgcU_sq9xi+XUvZeW89^hK){*IK|5T8Zox`4e=oWsf1)$X`)0JHWv~$O zx@dYw%!mEZB_4|fa5Cn?Md$!OL$~^eH(7sY{2vJ^G2>gYSVhc=rr(A(cqiImFD!zO zpj+}1x)Sryfv-Y4T8nPUPITtSumoN}&UUQe+fh5E-j2s&rAcT?f+HJi(0Y?GHO6NWNG31`-OKgpj1QqR zJ09X`7DQW-6K${}+TdO2%Je}G=NPp9>*xx+gK6*!bf8QVD-q~Iz@>U2_y)S9AD{!;6g+^=^lx;)>6S(_tBHr=qGdq{tfAwS4Y1W6h_mVp)>DYTNBMR586<9 zbnk1RGp&z#u@gGLA;EE2o%qZU--5RL6S{I|gXunwR;CcfOOnx)Kzkg3wQ(bQ>aU;! zs`yECdaGkT;w?kGH+p^J=u9V}*J?4k)LYO2?h5(8VOHX))Up$$Hco}K5h1Wv_bxEiguA06=T zXnUv8@+rTF(lcUC?|&`=CCDg)6|ogMgU2x$$6;bi&?Q`hH{o`)gJb9!I)lzI%jRfr z^P}Y}V@Yg+w$mT2{}kq>|JV!yp6X?xzK62H-Gk1s7g}!!+VC^z z)=WpsEkpNnC@Xa@@e`*3hkzhx^q79x$XK)Q|sNlEJ z;ky|fz^x(P6dMt5g|5hy;2UTM%g`0tgs#K^bcN4`^px=}(KkIm79!(jwBvix5kG=f z92=a4$;4M-1>A!kt`u9tA;t{ETVXQZhqvIPm$l6vsBxo znODV9#9Lrdd;~pAQ_&?}j2_Yr=nC$}jQBS?p{v*gGwp~5&;~tgeK6Vk{{jI!Sd2Eb z3+?DP^uv>GXS5|HFe~wfXvgu0|W!jPBJ@bY_>(8Ry;|byyB_5U+tbv01P)x&?#Kj$XuEI4`8H3Gsbcne;z* zv;KDwD7Ys|cnHfApMjq0jrbV;fnL)G_eQ6@ADTZIJ=GteOS~5A;vUR{+4n^QDuY#s zH$}^jL?`gnKGxqQni4V=p-Z{~tK(X9Wlp0FUPHGc&-c+D*G9|VjoGminm+)&1(QPl z>*!&ekDi&8=vmnmCt$%HA>$Bwz5c?ycphECEI&ktra0O`1@xY`MjP&kHuw=nADd z5DlOZy2O>xfi^_zwM4hF3o^lYtVhUr3@!LP-h|Ubd?`AhHNg$&Out6U?ZG1W7dntE z2cviev|dYe#oD4PIsyyeB+TIbe~&;i2_K+)xEDPv$FLygI}|ls6Y~*oi)C>jdW~jc ze%ydA^+9x|Nk2x1IXl|%ZD{-L&@Foi^Lzh?hXOBQGVyoNj=x3^-)~q5&joY-6wRzE zx)OD;J~lzWoZ~PVSD;(43oZ8>md3yFe$4+f>+gsjBcKy8H_pMTxC;GJ{f2%rPobwh z$Kj~Kg6L9~L9bO~ERJ`gXJ!z(Vq?&)n2m1Pe6;+hhgpArXna9}9efiCoz9=;`b8}32M$74Bv zkNz^L1l~?YXH1K8&}+2-U4aegZ8#ayub>^~Jr)h944PjXU72R+8R~+!U~g=KZ=zfL zJ7%N**uMnalZ<~vGs%lZh*v@f&>GudUrd8*(bK&Vo#8&T!6U(Q*noJtWvf9yE}I2*lw%h5gk5;Ne>m>y4HT0Dnt$$#j;Gn@#A7QH29(RP{zyJAt| zL$MT2$I`eK}!7p)<|!SG0A>=;5q| zw%ZI#Vs~^v&!Y8~qPK3xU#!2U_Xr7&{1Q6zET_2Zm=CL9XLJA)u{cf(@sBVy@z2mR zuo=B2KVSTKW<@5 ztcK5FZCs1B@Eksf70*Qzn2MgIg-8dn_tAFOVqzkgllU%7_Wu7)zzXTkN2fYF)+JsS zyWvQ*!d`R$$I&lXp$pL=>x`xkN56FMpcDEM{h)n^o`u{O`Bfe7N6Y28#EtX*-%KDg z-hz3sIp)RtLwqE7UTHMHKAL|w#$BQw z1Z-d+x;Fn+{CM(<(s1Ax&=p~6MYGjan5Dd z-vaANa0|Xi_v$b@!V~D>`7fj=Ux@}#4(+HRTD}81@a~wH2o@#&C_2E`(Sd(}4r~kh z1^nd->+fD>`Y*cgcc2YUM8EZ~pcQAM16+j;Y+Z1B@Nn=fdR9_jjq2q?<5fbuF}ekv z@m3rVCs2gIyXaPYjgEK^`e8YRj`$pA#mv_t3!!^o5zAmTbZI+d4(yAr$P;Kg&xQD8 zbRx6Ra`E{D3J~}Ro!M@50KcJ2%j#FrG#S zlrFCle4e?dz&w#DyQtt`rN6{ZHS1=_O zPnncBw58GZ?m*kW3q4aE(E&ez`RG43ihxTt6`kpPbSpkYSLQ3U;;-l#_!BLE1udU7 zRWz_1Uudv3jBtSI8~Zx#D&nMFNzMREP9yg zqI=mK9pJs_M0%j@J%UAWG+O=*tcXjn2_8rjPfGlokD_Ul62D}Q!U|-}!;-iYUHS{? z0Is5EB2BvJFlItecNuhM&9EHy!o*oZ2QnS4KOddIl90YWPQa0GN0;(PbPq41*Dq`O z$dYJ7b3FGdP_q72K099Mms!#uGD|%R;0@it#G^;0cTnlUApe*-VDMN zI2E1obaV!w`t*wMiBpz!g+=ofVkdRX7X%J>O-=ucqc@BjZH z;E2*?j#i>5+CVe(Lvt6JKNy|S^XP9v^U!w^yH zaZKa=pGd$j+skN2%g_OQg`SBW=-!{iCioxPK%=aYZP7#83tfo;=vf$xwl@>)czMX* zgw{WZiJ$)`36v+{5?Zljwxq6c^KOxAJLp#p5p$aA~HYOZ_f7;*Ze|KSvw>HRNAGzj&GR zMgysU9@5t6+31hnhOy`eYHn~HI)DS{z+*QhwjdtMNWi7bjb5uV=#sWXXWAPb;DivL zjm~&Ix^>&p!}vQ|{~X#;zI;)BJ@ibq5Aj}Te@|jjfB%1pfDNud55?zbgImygPG_67oh{#hz{^Obb{xxg!eyNfoM-|MmubXE^#+> z=1-ynn2IjlJLo`Hq7AJ>JKBe?*eUcDWG@(fSMs9+t%wNJZTNL` z2J_KV{t?>o7WDM*3-Lqf0FR-E>Ob^Qr7slK&xTH@IC>TuU}@}z4s?7W?!PmAhXgzR z676Uwy3_~J1}>m8%vCs=aRqdMP0_>JG1wiQd0({r5cC>8kG4Mp-KsY+89y$}{kMSw zp}FQh(GDHJD0Idzper>M9q@vXzY*P{z38Dl9ny0rM`xl; zoPZ;(h0gr0U?=nt_Ci-;D7t5pLjKf{KO5bGMd&sC3~S&%^e|>B8V#&2`W?6nEjI`~ zl=1NdJY3V!rCNlJ_#<@5zC$Y<44%ab#4{8N14r}kLQi*ZbimJ}XJS5jyOyJ$`VHtr z4|6Bk9Ywb= zZMkSA^Pz{ZCfe@p=*qT4zdJq4#iJ2ELxT5t4!SqXLwq|rqa)~d;vzcGSox@YZge1J z(2g6SOWY1!*@5W5C!qCapewf+o%m;Q0`BoPbc6@c+wd!T+W$f;=B^M~4y{-pZ^l+w z8pogmS%h}H86C*aSRF5+TT!uMl->e8Yw;cg{4m7PC7+8{*nlmU|Liq4DThc^z$MG5V?g3O)TNf@jdJzJM9M{~4-9OPU8AaS3!l zx1n2e4|=-0p@(Mz+Th&ad~{0|p@(q|y5~F5!}>Ei&=crD|3OzOeRWpK`(K)XpVZsY z84N-Tj>ft;9lf4A(V2gbsqi@3@F}$XMRdlQYeZknDrkE>(C@@hbf9C;!X zEJkPWF?#C1L-r_k3|)zvZjP3&Bs!ql=!(=2@%CtkUC}c&FvKUJOFkDpq$|+FxAo@m z=l|m&BUR0)U=ef+s-Y{>6g}lbF&SS+@B3PGpg*Jc`8<01bJvRgC|4O95O0UB)GO$~ z=AyT4eJ$?4r}JwPT)Lg;(*A=k)g^SMX=_LEEa(aqL|3i`x-yN>ncW@I`=eX(7?#Az zXvZJmt+)rBV2*g5s9-5{iRz*aw+?niPxAmw96of3=c47`5BVF>4u3)i^bficNw-Ah z3!rDG0$Q#fdI;n95^yAg(L*vW6qt^7^d35ZPtXDE3-Q0umB>&xs#gr{uo`;mTcRu2 z0o}r0=$1{zq4*(k2I8@Dw?-d?X4rs?JFz)VM6cbR;5GErmc1=H-8ZAx^&zz3(O4bl zp=aTHbV3)Sg;}5!98fhUD1^pffez2bm>0A#OXx`cs!)% zsvjN3vgnzrkJfL7^{{h@zlO=gmtq_Gk8LO5UKDE({asE2^pFh3HWtK|nA9-3j;+zd z_7vK|tLOxlpj);s#J8b){v$fj)96;_zdbtSH8JiU)g@p9Ezn!g5$)g!^pMR!XZ{}g zDPE7>io@stj-fNYf?m^9jiPu3bU-!Gfiyw;>45X_p+?+)4@aiPNr}J3u7lNx_rR(+ z9sMcyWk~-IYZI^1B>GcwU#w32O{{@?ur+3AniT7f9npb*g5Ihf=jUWNABk?+ zXmqQd#ZnlbOu+m4A=>c<^b5EX{Y36Xe_sC_;=f=S;(wt_oA=IW0u|5|sE-chPPCma z=)k+9--}7;$}T|4$73rAIMVeYV=uZlM??G!I*_X&o~~sy;M~DvEKh!UbcP+!8FoVl z*gM1@M^|DDy7UtiAUHa$ljlOUzf;-UxoyPi@s%^9qjnTt-Cnn=ybV5_nFXjr2d*AmGu;3+hCPmss zd)X9S(l+Q!JE8;Vhj#cfx?&5_>$ML3UTg{RpU|`Q7dqoh=ov}dKH8$3?YaNuNGL#p zOWqW1_&)R#JOIrfhaQ^u(X+A+9q4X!V3)BoX6g`qA^V`WV~AL2{U0j=u5 z{deS_hXOm%f&74;))VNhNO@mU;y<;_iKh2O2l#aGHFQZ=qV4TN+xZRsl3qktDrd)N zB4yD5)r=Ex3+kZ-x}!55iO%dTbV*mDKO;7W^k2{q(>ZjBvvvyKcJ$QOL|LUzDS$3n8FUXDp-b5Uy|l9qlbGJ+VQ23pQEeg;v7B#HdF$wPywA$gJ1`=!GY+KjST58qGw|s+VLtZieI7~ z{ejj?(Jh)tMocE29o@=mn2G*lcN1`CT}{A8(XAMdHuwhG;OFSd96%4@d9-|%`=b>o zfUZn!bfERov(*mWf>CJsnRpk@$9Q7`=Lp#FEe}L{*beRBL9B{TpcR*f{7=vUe}f*@ z-_Wy=y?eA(rLY$9+UQC?g4TZ)Yv43=VqbUX{=3H~NN|tO-~*VlNA!ox2eAtA*U=8P zpffv+mcM`wFn!PH-q%G}u0J}VacKQFurBVznwa^)aA+TlM>FkAg4bjyI`bK52g}fr zZwTqz(5?6llkpn5#L2yq68{}gBeeeWn7F>^O0C37xE-Cy)nLwe?`X-(pi5ON*czQ_ zFLcC@qcdB9HnasD*k!cCbPq-Kld%HvT4=ck(fpUu>$wPR=VSD&#CH=&94f3&!g+M$ zHTy*OwHekSJ_wuOyXbX0h2EA-eWPE&lF_AZi{A5b=**X(hwp2wjDMh~KVQGZCp;dj zMZgBTp$$BaR$Pq9_!ZW|KhUKs+CS>JCOWe_&>8i>2KWTJMe9QT-Vpx_Ethsc^h2m9 zruY6=Bv6WsT38mlpE$H6vL|5WR^qc)JI-si|Kh?l!tFogF7DKRPXy8rJ_U=Xp+y&i&LFh`38O;6nP(4S24b4IKejz&373kh>MH~1vcoC}; z&p0GXua7p|25ql*@NslyUP33Z2HWFLSQ~4`heoG<5IUka(9^pBJxuFE{0H>@{*BHw zX;^fvil9qfA01#*G`}PI!)YWspl8t)n}tqj9$G%WmVisV9W8hmU5WE(1J}?BS%*jY zrO~aq6`Nr<^!6-3JKl;OvJ>bp9BD^H9py%EK^gQ+H9=N79=nTx9e2XS-k_i2F=z)1 z(GSQeY>HV&MqAV#E#Dnonc?UF#-amw3!U+&X#1Pd!+jvc|HT~M|E!~;LsAUws1iPa zt?_ba=e@P&sZ0$K9-dDFCZUASMC$^v~NOxHta{Y@;`LIc^{9qygVlU z_kUdoc<8zZ2cQj&M7L&ia4NPUJ}<=oMo)LDC!(2ULsz0QnqCjf;T<799KDWDqt|Z| z#ytcpL&j!w>2{%q>J-}Gd9=aQPev89qcf|CHrNpzaBuXi3__Rw*^oXNo%u|(D2bA@xXbFpVytxB)Yd_&_gv7y=HHr?REFiyZjRvF#0pd*}%&hSID;zqRME_7>tLuYmo9bl%>QAfGaJ+Fuk zuo?OV?Si)dFxuYmH~}k;LmQriR(KPg;fLrJe2$4FLl4(6bYNG}70LK?)NvWK;|5q7 zJE8TSK?m?Ex^?fN1CMVd;5|JY3Y@~0#ADAyOWF!OoE^}C_P}K9j~=dx=n}6+XSM@v z_Txa1>pcljy+Dp(~zhJo)q=%R#^;DHyDX4yYblu}w(tgk^~L$5c2C zJp-=>7ohc4qG#kww8KN_#QsEAIMuUJdLfKEvkC+(&=E`FV00!k(ZlpHy2QKDL;450 zgjdi*ntwtxqf+QCs(}umEqd7cVKTmmw!ai@XU_!gza1ST!4FS{=c2Pv3f;R#Xvg=W zE7S)q_bA%&badcvqIV@b`6h`ZpMYpU0*2cc*z}`aZzZ)muQf)?Ob`Txu zMYO}r6QiZdi|%c?U_EpT+Mpdhg4TOBq|XZRkFhf8+wl&(7UFlj82zRce~f^i%mw%u zZb5$$X*Ma^f>vn9UD1&bMwfUL*2O940Jfq7`UTyR6qBR!`O&>Dimp(Nklq@ZU_922 zKy@(v}RGwso{@({XJLqqy# zOzZuhLck7QMMt_EJv5up0c=I@`6;yFf6)fhO^G_lg%ydHM86C7q7xd0ejyj5Gv9~) z8h-{;;5khE-~YNuz`cu2jg~rhuq=8DZbJ`CD|Ctbp(`{2o#9+`;P0aY-H6uPhHmAL z=mdWW=~vKlnO^4pyO((hm{0}%;M5H^LT7p>TCM|nzaK#d@=}N|MeA)tS8OlZ;YIXN zXPXwaUjdVe*Fv}OzG>Y5Dg^qG;0#|!8~zAgvb|UqPovi;|McjZHbR%W8#>c5SRP+S zJ6?}=un*m`KhW!aA>`+HB^pS%SGfOnd?yJWzCP#xMh2&&Gh2zS#3xuEzeK;BX=g+Y z)j+qP9a^prmd0UtKh8o2bS0Q&W_0b7;{>XbQ4>9Meb7(lVDvOkL$BW)bSYP$*Kiy9 zTk@Wee+gZ&%&$fRE{$$kWwd;A^k>FhX!~u^iN!|}u%kHo^ZGe-1>Qj$*o+>|pU^Y% z54z;n(DGSdiyEqg&b%ht;q7R-79rjd?eGC~tNI`-7LQE}84J-0%g_$jqo;f~x^LuWP@z4srYhww}E!}1ThB^S{S^3I8_V|ldWR%m`ZERDl3ZpJJEF5x`1 zqZR0F_zJx?`_K;mMhBE~Zj_%BU72F&64%08upu_VC(v8*Ia+@Yx+TA%6Zv~C_rC~% z^lwBRmBlv18>5G41}08FdiYkL4Xz9Bz+~b_(Y;UgX4Fw;bYO);ygJ%WEx(8kAQRqb9K+nu) zXgmAk1f1E)kZ=(_L>b?X237{k5^sp6_YY1$XE+}{)gPlPumuy}1@wo^C3I`ApdDwJ z7nLi4Zf(3G0cYGC{iL=*XFd|0c^sY5M0BQ0(Y@P*o`nNw!zZvLrk)?oygXX34LZPK zXua|1z-J>9kH=OJXh_03^k=~}bO2QrL^G+4#=D@`=s|Sp`k}YvNo;}B(UtrO-Rt9M zM_18_tN!~|IG#5l{1UBq939Xl^l;~RFPdm!w0>EPCljbnpa!fZBbIl9 zbf2P!Y%ALF&*B62BkZjAe-*L@T8EFv>56#%p6`Y>PHL7VT&TdMn;Q2ecmja&Ez7+>QPWIft%X zj@8_MXIzSar@kKgA!>zo)D2y_$IvC7g_d85uF$t=LkH0Mr_e9rRdhi4K8j{q42{=7 z&(>||iZ=U*`|qi3NrFq)3yt?jM?Mx^>WLx!HT1{oO7u6L{pc6(N3_ADHBkp?&@+_{ z9dKUsa8^cFtOYvJE^D~|?#06-xHNIJ;w*HAZ=)4fq7^oy1KWqr{HKt97F~f0uR;O}Z%(HZYRXRsF?*pKLv{)5gS>9Z)F z4V_^jOq_0XAT7{C_W)Y2FFKJCSOcHK+W0BPD-yUsz=|a|L<6`LlZoFR;yuw{D*K{) z_ab^$=A#3B7yYCzM-S^dtc=^xfm{uy{XANkZ0Jf9_?-K10}V;=L(>9Xs{ZJV#-bh1 zK|dUyqaTcM$f`iXoFMHju(aePtp2&(G~g~%i~$JUXl10(VzdTqxZcR zTJSNn!SU!}nTziI5_EuT(Y@b-o|zxfng4>ea}_VdwUTbVA7Y7SEmJcRzCG;;}~w z^e5pZ^rzkxtc#_-iU!sL?YIwG@dE9OoH59mlu1LmjqL~y#m%cPwzE-d`dUkrDU%+Ru1ipoC<(KG^??P8* zKicjoO#J;{?Az!YoepidJX+v(^ow^ddOL=o9Zf^e#&UE<-=KT_YcS=OXaGggEoh2v z!9D28bw+R1KurAiKT`?V!D4iT+d}*(I^)z^qrJ9Z=S7+F+;nJ-5h-i$8YL3E_QqlfPd+EKx8OB& zX_sLQ+>Dj*GCHtwd!p|^J+xdmbgze_XKO6FQmQpLumbT*m^cG_ zqjFWzJ*|rlxGQ=lMxke5EP5EHq4nNJm;MuU%QlAmEf}}pF#>+MQtgYDumn1jdgzSX zpr`sFbWca&0-S<9u=e-Sz+XpKas^uNv*4bPe>}vKeu%a_&kx*x3zi|lk>3_!+c?1CQR5y2aW! zU1$TppoixyI*_aA!15i6@~fi1fHXjtvJKkNAhhAf(Ul#Cet2e~1N;QN&igQN|Br`+ zbU%g}p(C$~j_)B6)s^23QUg|NVbc0*>%5bYuh2y_|$D^=s&dV==lyAD~uG#L<30h`i(|U_lxM^S&cThEw~$PU_W{okD+@W z`z<=GS=*-_j2f8$*uR|yBZJdDj_$azZm(Z0cdn{VIn&^O9peu5B zh(CmOI1oKl@erSjF8TZDj5nfN`y+Z-FNgHpe?;ZtRS38RjnJj(fS&TPn2d|DIBrD; zdIp_Q+T&4!Ik6=1ir4_}MOSJXI&&U|_=|A=|0V}?P z4qy#BfIT7pC%O{p{)#Flqa9X3KhbxfE7%U*!k*}sy@W$?6?z8BoC-hvumSNF7;jGC zc>-R$U1-Pup?jR`bac9t(fis4ZMZ*H$I0loeIq)fBk11$jc(;-^!lba6V*$HmaBla zf9o0UzYRAh!KLYr6>&JabZ?_0{|Fu69`q1i3+DbiI#lJ+LslIf;BA;_50i-x$2Ry1 zx)pz56-;}U`|lyCeKsmE99t6q3cZfG|A`J;6STnx&>0Lvw`^>PPe;EO^U;B>Mz``X z`u+G1-J%rdqWam;TaX+l;Aw7z9KGzJm^68G4O2qSy4>5I>6!=rTHx zOy{GH3gbNDmC&=X3(H{aLim?cWeNBN>w^B2n-nrOVQtG{Ev#}e+VehGgZM0LjXSYB zCSQsM{tS9uXP~!Z0Xp-Q=-JwU9^UVf>&pEnV8NUIjS7}Tm$-Vc5hfGA7ro!Z(8Kc@ zx&jNZE^b55PKL`-yf(VW!_cjmkDi?k=t}Lw#DD*HjDRz`h%Q~lE74NbM=K0KPw_M8 zb(?@T@G`n$^U#^?M^FD5bj$ulw<_ts==Y2CX#Fba1nXkrfB$*kkB6;$fyv1 z1|9L_;A>c(_-6V7(yV1k<7$)s>oC-dl6Yi` z_%!eDl*vPSY0@4dydRfP_h!<*BfJ#z^ZI;4{vy&+Q7>MP4nHBG3K5?_DKwb)lN8uQ z_-i`8i@ZO`yBCL%cQ<*XsrMOqkA{IAC*7wqb#~&Tyyrt&pU`n@>i-q`v23#x{`?J3 zRx@ersZhz}mq`06bTA-PJd3$`FY#XEUB&x0gSpJ0W)t@5g+*xR-4I`bkCQ%#fs7>m z0O2oaw~&ATR+7Z`sQh9m{2Srnw!%|`hHs+6z35l+xkM^AggRw;Q&8s}-j?M59tN6$ zE0Kx3!_<3%^5c0|@pk1+CcPZxw^KgxIRBO;z7RS$aWezBn>3%)H2N`dpDcts@ZQQh zoW_01lJ_|8VahkA(T?OzC$9l{--J$HAnoVS#^<4*v*fR%PW&x0zY2|!7WAxzp^u+24{sszwx?$Q zN7C@`6!y7@YiM8x6<(pxlrV@?er0ZWx{&@a^|n(!Gv%^|`k&q~sFXK^cZYUtq8#B> zydx6rvHqE8=ttg6G~{!8SgOJlx|eXyPBH_@FETDq_NYXfsZKg67hRzBn>mqO_?2(`3sMc{$VI*1Am9c z{I2`F#9M-QppoztrTjYTccSbG!UgeV;sa1`m>NiH$D?XoZr@C z=R$Ztbt@3xPr1h~G&bf67Wcw~@AlIzIQ1 zJ_tAPmLh*Id86$A7cx#!aS4e(Pr@HFv9$nQl5Yw=s+K2K6{9PeY)+d|n@|UuKS<9*emBaup|591D??tq3xP>gc$g|{NO(S~8`}^DQICps zczs?aEkET4@V?1gf_h!4lY<6*T8BD@PZI7D;&mzG^OjO?HR=7MHu>NGk+_=l$u!b| z41ejYL!s+WNdiZBGm+meH1uVd;S9=GBJE?!PYrq2+eEt00XjKKz0;w+qWCN6waI^x zyf*y)5z9j45#D@czD4GF8p<4IGz;@m@DDCd%{!X1 zZ77$Q@FSRbNLxz0J7ot@_kK(!<7AwSqa?hKpU_chD%=$+6$qW2z1~RF6#oaPS#sWr zG%}Dnoe6iMem(N5;X|Zff3lIkjr_X!QAlh_nKu|rY2xvp$?(a=;pj)kb}AnUX*c0y zDvzgd`>5Fe{PSVxnZ(~C|KX5ck@Ob4J`2fz7AuDdn0AG7*TNuM5Kc{a zBKeIdJInn)OyEN@_}jC@^Db!@3H?B$4-$Tge4ioYzY;pFLim32z7KVx694(~{vi6DsGW!{U@rNyB9*|32X(bo3l` z_JtYlBi%nEEFk_Z9wdI0{A|?SM?3kc>+=ushByBH_Y8^ulISyyhMy0e<{+&M@y^7H z(-?o{7wd;NKK>cu9BFrlI)m{E-b19{hw16`?NA{(4D=n!XHU)km!yEt?$GES97ZQ^ zQt%tnzhU&ncz-6XBW0_R--|)5c2>k4^G5s``MajX^K|GWibenYiZVrc*OT`$?;$IC z{?8D2iHd#k4c>2Qcq!@U&}TdrBmV{R&QbAf=)}C|Xs{dus)W~{p_KC(McONr9l=|h zGXG$fu>7?sQ=a_zS7f|R2k+AGvCzmo;*BW$0ENazZN+XU?|sT-FpWCNp_5^xPoQj0 z(gu-#{kfO$T*|x_(rza|S7<*E<(u;IH!uA6KNL7l!Hje|odW!Q0{^GV~wYq}@S0ml-@yFt|r~=Mz6iyfD5W&Tk(l>ac~oBlO*9}nfWQ2+Y#8tGMO zizgoYI8^wFgcnKa&Rd-V58`R^Dujy9lV9zI#@o_x2FeYl+%uRqYB2T`;a?fdiBRuH z!lx)RhV*VBZ7^jAQNOCc|LvyHMHJdZq534=!dsL0ItrcQtwlwjQ&fJ4cM7k6!}SJb zeBPseqbL~LOWDjJeHa>ijP~vg`L~llgv7}>6%WO!ye7=52npE<@8W%y@D)0LEL1#? z;~X5F`+Uc{h;pZB=nmYE9eDc__V0dt22p=HE~c$%)b&|O{`IFD`SERJd`99*8eV}{ zLxI|4HX-e?&|zERv*_Rv%I_o0-^|2*BK$hgM3aG$q`Y4(F5Z zQ^&SQ{~QkUj$j~jC|mo6K9(m2$NoP`#p};i8fZ;MN8UR_V`<2Lhl)LJs9ZDTZ6a*} z4c|%`{?_e(o*snO@P5s^f_$H5w7HjZKj8!>^(F6p-v90-__tI&$-MD-F2p~jv&RUZ z3Gp$Me>pVTl(ha-dV$VgM*a>n_BIXgBK$0QcM<-Su;=V`-qF-uOPPJ7bte2j-=7Uc ze0oyh8Xcaag9cbNr2j|yXyPY%XApjuvKJ{ckjAQo!B{^(ai39?85+W`P^SrHwvqM` zgP2X5-;wvw4gJTekkN>Y(Nunm%!^bi&pVS!KGVWL4DTR4C*|KK%)c;;btm4E_yJr@ z`6uvo(o0#G=Z=V2G5mn{7v4^^x6$Y zI67NExCrULhS{GX-jKYdA-;*c6NCqb3CzbH)cb*UJ_>1f`1gM|hsb#vc#in>ryt?x zso?WBjisisLU@SR-y5$#cN3UF-QhQ+9S@lYL;VY3P{V0+EoHAi@h^x}qrvUYh}4$| z9}a~r)R9I9lGl`SmB|~$o0>)@lJ*j5cZLpn<7cFwC*Qx{uYE%s50JN;w3OuetP6Q3 z{quhnI{1@>XRr;K6=>Aw0c=ji!c;gKj$c$T) zUoBCJKMj-rHu-}|?}0uKhYr6dyp1;v@hqXQ#33s|Ls>(@#xNTz`sAbV_vEz(Ek6FT~FCdF^Gtq6QU!6}KN{1Bqy z*9fP=&3Gr3hLS%43x|gP#nB-=n=)<4FGu;m3HQNEcsFVH@m_y^CjC`9??pS|;s5?8 zjpSz#{V14@a3^y9rO*qZVoJh3pWo2X3pDUI@foBKqpr`7#5a=uWGFX-dgXbaBfn)- zB=!boCaqf-_^sFf{-#vzfz`8 zB9*~1u;_99c?yLJJ;~S;MsNBm(ihnw;d??SmB{bPJC;UQkazvLCp4Osw4XxR*Qno* z0tI>BcM{~4!U^PGp#H0ID&0@!wJ?DF#1~TN!O)nE4<#>&!afJEQ)s*c;d>~Xk9gIP z7L|(rxtshyNiQ4@>Q*}bf~;)VkT*MZ!VzaahH(9SM=pY(}V;Q5Sl&B)&!<@5jliNud7@GyxtGl1K9_mNqQ zv`M^4r2pUN5oZ?CZzX&aGh7lnJWAmTwDA$~tK?-M{0{GaUZ0($Pl$rChZFz)mB=q7 zZewIVLkQnN#XAZAN%%a2@Og#?{)vMB^UtNEoeu+9PuaSZ?Lh92ynRExyC~C?_I!3k z@Gm5}X_UX@?`4yC@1gVONqCY1S;(wQS|2<{+O<&Wd%|@{PZ9RBRTyv&8Xp?UtR_5% zcLDE}kRP&QRcWsy@8FRB7vcC_A@>4}=cH14I_OK<9!6h+f1A@4GID?*)< z~LE!g)|>F^kbXbyUiIJqHmA@6ZvUMA~G^S0w(Qg?ZKx&&B%*?@g3l ziX|ymoV={={|`j+kXV~H9f|EI^bKjh6MmgHM%-sMWz!PQL|!UhpPP7(({VG>A7Wrz zLb`cR(%u;2V+ao>{3-P(6Mu^LDrMiNUOWeZn|ZH4dnxEMi%g$qFhAah4^wd#`FDl^ z{So|>`d@_bT=Jg}b&myObX=Xf-6>azaM94;PX6}?iB1;r&sHR^pwJ{Lt>kS(cz9^^ zU*abzvygZR(my6#AmrJ=yVOlXx=(Hfke=`dAwE9%a+p{v2JkTN&6F);|3#?$9gQ^$ z1(P_LzY}gjdWq0U`H+|Bfq&Gs4h za2nnj@h~bI{*Z=F(9x%%vkIh*rf@eJ_3201_2e}nEf?{|g!}L|rJ>ZJ%o)(D3Zwi{uv|?`85TS&%0s;c`(hwv}=%C{vvF-VL3s4U?NkUMyol>f%+1#zG1RL(-V7GVI(DKnGzInoZ` z_2)MNAKeh2dqdlnDMUL@()I_W|Ly(%l@99jjv?{JrzY_qNdJ}!hv~EgjwG!vX&tD1 zADz5Hg|4LcC;cJPzMx!M%*r86qFj5z{)Y7%WuC!1snd+~wxpLKZJmGqyM@Sd5+B5Z zB;G{06%D-?W|5P)Pae`*leP(8BkeXC+(DfK_;sJEDSDe~u# z*4aPD58<6gq!fj}4izV23etTF2iH+K6$4y-Lx;=4;L_6QBGNCAf0Vk#sk4jte>apJ zNtt<}t*B*I=PnA5BO{55KGkWkcnBMRlDxOWpr(^oi@ar|r6c?s`aDYh5*pr4+Enrz z@qR$Zy+h}pQDz5exv?1LqI`DpR`~P31_>Fc_yo4Y4|#71qbzvCXkR4VX9Q`#&_D&e zo3zfPoxv~h6B_M;2YHu;y6G9@EZY8(I%BX2d7JSkoR*>u-*Fyk`GQ>+$<^=IQVFktp^Wls$cO?~j`H>l^UfwYyrS7*O27i-Fx;O(Cgt|1BWH|>@{pyujHW{-yP7a=diwm1|~n)E4g>y z0mJB_((0lwB&AAPS#QtC)D?OTdiY^-x{nw%q;IUr^{#1a!1eOU-Fprj-fKXmN|jbu znv!%pMS)7mtp@ezJD@Lxh7ak{z3;%}Uc-_{4C*_iZ?Bb;551Tom2IuO>E~CH(nRg9 zoOk$a{_I1q_aAy2x^mi;IcYLSg9>S@%cV>j{M7%)QcO($|LZE`PxJr(0%S-rqsS{s zFI-=Rlu0w*osslxSc=u9W+pYr_y1mtm#1ARyL#gCr0)M`L1wTZ9aq=;C@EF5{|Bz@ B+k5YkksY$4ArewT8I_D&WrRW^LY@ON)$;_ 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 diff --git a/loko/assets/locale/fr/LC_MESSAGES/django.po b/loko/assets/locale/fr/LC_MESSAGES/django.po index 4ee7d6d..1f1c883 100644 --- a/loko/assets/locale/fr/LC_MESSAGES/django.po +++ b/loko/assets/locale/fr/LC_MESSAGES/django.po @@ -8817,3 +8817,30 @@ msgstr "Documents de zones de gestion" msgid "Si coché, cet équipement est exclu de la zone même si sa géométrie intersecte le périmètre." msgstr "Si coché, cet équipement est exclu de la zone même si sa géométrie intersecte le périmètre." + +msgid "Filtres favoris" +msgstr "Filtres favoris" + +msgid "Favoris" +msgstr "Favoris" + +msgid "Mes filtres favoris" +msgstr "Mes filtres favoris" + +msgid "Enregistrer le filtre actuel..." +msgstr "Enregistrer le filtre actuel..." + +msgid "Enregistrer comme favori" +msgstr "Enregistrer comme favori" + +msgid "Nom du filtre favori" +msgstr "Nom du filtre favori" + +msgid "Ex. Mobilier urbain et voirie" +msgstr "Ex. Mobilier urbain et voirie" + +msgid "Donnez un nom clair pour retrouver facilement cette sélection de filtres." +msgstr "Donnez un nom clair pour retrouver facilement cette sélection de filtres." + +msgid "Critères enregistrés :" +msgstr "Critères enregistrés :" diff --git a/loko/assets/locale/fr/LC_MESSAGES/djangojs.mo b/loko/assets/locale/fr/LC_MESSAGES/djangojs.mo index abe73c39c131e2cd3337bb15a7a8a5be2f55f5b7..e94a3132abf9f3506667dc32fbd7e98a4927e062 100644 GIT binary patch literal 14169 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 a>3D4RP;vH9kz@MVL&e!c#s8OwivJ6xAX@kU delta 3697 zcmb`|iBncp7{~DgvWW@^i3XG?t3n|v?m}uJNhoQlA%>bt?n+SN_G*y1o4r8f66PpV z4rUEbX)Y7xluH{KOf}^)PGwWrOsP>**!OqeCMI08$2kl5FV}|2V%)vh~6GsOb(*ZYQN32GF+>bGM5W8TbJ^mB& zXMW>@TbMQsHpXQ-^4XpPQJ9ADs1x$B8_vTxEW>ns!;Y_FIOCuY&v|jE1*GHMI2G^3 z64ZSw@E$yi1MwjgW23n znaM>>ARjfc6{w66VPVpnWMWhR7QS0*A*H|~c$F$4AeOuP#h zAb)199amx`;{&LPe1w|F4|eR$MXvif(1VUrlZ#2X2orG!YC<2PAD&0%WWGhRXIhYZ znKtClgtEL0Oh8Sr5VaK>QP=H5o%gQwlP=_62QJ$aZ`u<>NQY7sgYnqMjwd6hm|3VB zFGppn!hT!<~_hLeA-;1&nGF^s!u@550ScE|3RfVyA| zvdv~3>b&Ww15lfvPQ3rSxN?#E301GVBI(VhupqCew_s5j$O)K<9A zpWio?bd;*ysJ*O1?e%-8B07s{_!a8=K=w%!?uN=tDyHLPJFY_Q`Ek^F=aHnDUy)rk z?RhqtyNN-UZak6>i#5wods~HB_!(+zx-xC8pf@T5eNk`5p{S=P6DbFihnipsYU|1{ z8xNvV{}(DVZKw$Z#*%-{tXHfjC7Gx_%eUjXsFk=-8L2`Z7*mVN%t_P=Por*p8JV+b zvEPS~9@R($YN9E2JPIj0GbN7vYbM1U&_vv*@mr`jvHQh)QS60=bc1ls1doBxnRe> z%t}QSiaI|Lm8p@a^Yc&(EJRJb9R1N%LC2TQE^LQ;(GP1;D>#VW*nk0e3U%S9NTHi1 z)cH41Z^nNx0D~w1EvPF-V=_{ICI{Q&V&poPDW#*mTZ5YUW@{}vsY4Z26OO?vs5fI$ zZ%q=4AZAHq#>_U=d8c@ahGluK=_hDm|x=2(}q@s!{2eraEsF|nP&O&p57@AG744(f4Vj2-xWvzm^IW+VFGPSk|< zp!WP7EW$JP`(acjNiZXjx-|3ccspu^$50u#Vr|8E#+_0;3+s;^8Rwu&Kb%KLKRh3` zcS}%vS&GWUCVPAzs#Xr7uB*4>Q}+9_=*97g#LI-{rs9;0TQr{Q5c7Am^iP4%Fr?O8*pp7a7^2h1=+Z4ohmc%Im9 zf1j?WTGMeXq4cUf=)tM@$@KMzP9g5RuDd-)thN1UTyOg$aTPI&m`;=uvx#|xGH7-Y zTZy^E2qM?r7!>AONKbWqyS++B@2)C)U>3eYtR_^Zg@l?aM6CxANKmy-i{-PDc$#QW z=-JpotRprNYAXpnE0eUsy>#XfF@)L@LiL?YOd!7VqOKuQ?l@L$`z!7^mQP;~ z>_bEcVkV(7&m=Yyg9sEyASWfKJfL26oaC)Bq8n){^J9>`Pl89%Vp68<@ z=;3^h*iA$cj}tz`7UD6&X{z-gqJnslcz_5ao+L^LwRmD`eM|5(FL!NRZhdp-f!_5+ ziPyc{F7^&3)}y?l#j6qgj& iZ%GYn=YG5YCHJAU{qFJshwE?jJmCHR-qL-eXYhY0+ diff --git a/loko/assets/locale/fr/LC_MESSAGES/djangojs.po b/loko/assets/locale/fr/LC_MESSAGES/djangojs.po index 79e39f8..cb107e9 100644 --- a/loko/assets/locale/fr/LC_MESSAGES/djangojs.po +++ b/loko/assets/locale/fr/LC_MESSAGES/djangojs.po @@ -749,3 +749,84 @@ msgstr "Consignes & points d'attention" msgid "Centrer sur la zone" msgstr "Centrer sur la zone" + +msgid "Favoris" +msgstr "Favoris" + +msgid "Aucun favori enregistré" +msgstr "Aucun favori enregistré" + +msgid "Mettre à jour avec les filtres actuels" +msgstr "Mettre à jour avec les filtres actuels" + +msgid "Supprimer" +msgstr "Supprimer" + +msgid "Filtre favori enregistré avec succès." +msgstr "Filtre favori enregistré avec succès." + +msgid "Erreur lors de la sauvegarde du favori." +msgstr "Erreur lors de la sauvegarde du favori." + +msgid "Erreur de communication avec le serveur." +msgstr "Erreur de communication avec le serveur." + +msgid "Voulez-vous vraiment supprimer le favori '%s' ?" +msgstr "Voulez-vous vraiment supprimer le favori '%s' ?" + +msgid "Filtre favori supprimé." +msgstr "Filtre favori supprimé." + +msgid "Erreur lors de la suppression du favori." +msgstr "Erreur lors de la suppression du favori." + +msgid "Mettre à jour le favori '%s' avec les filtres actuellement actifs ?" +msgstr "Mettre à jour le favori '%s' avec les filtres actuellement actifs ?" + +msgid "Favori '%s' mis à jour." +msgstr "Favori '%s' mis à jour." + +msgid "Erreur lors de la mise à jour du favori." +msgstr "Erreur lors de la mise à jour du favori." + +msgid "Filtre '%s' appliqué." +msgstr "Filtre '%s' appliqué." + +msgid "Aucun filtre sélectionné." +msgstr "Aucun filtre sélectionné." + +msgid "Thématique(s) :" +msgstr "Thématique(s) :" + +msgid "Type d'élément :" +msgstr "Type d'élément :" + +msgid "Assets" +msgstr "Assets" + +msgid "Localisations" +msgstr "Localisations" + +msgid "Catégorie(s) :" +msgstr "Catégorie(s) :" + +msgid "Modèle(s) :" +msgstr "Modèle(s) :" + +msgid "Statut(s) :" +msgstr "Statut(s) :" + +msgid "Validation" +msgstr "Validation" + +msgid "Sans géométrie :" +msgstr "Sans géométrie :" + +msgid "Exclus" +msgstr "Exclus" + +msgid "Filtres par défaut." +msgstr "Filtres par défaut." + +msgid "sélectionnée(s)" +msgstr "sélectionnée(s)" diff --git a/loko/assets/locale/nl/LC_MESSAGES/django.mo b/loko/assets/locale/nl/LC_MESSAGES/django.mo index 2d6a18393768b1b3e9bdad316e8b0af9d03d8626..e6267d117944903e189e57659f4d1ae4f405831e 100644 GIT binary patch delta 39117 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 aSvP)6Ql>oX-g+%5f0}jtS8E&J@_zu)w;+fB diff --git a/loko/assets/locale/nl/LC_MESSAGES/django.po b/loko/assets/locale/nl/LC_MESSAGES/django.po index 118829c..c5fcbdb 100644 --- a/loko/assets/locale/nl/LC_MESSAGES/django.po +++ b/loko/assets/locale/nl/LC_MESSAGES/django.po @@ -8765,3 +8765,30 @@ msgstr "Beheerszonedocumenten" msgid "Si coché, cet équipement est exclu de la zone même si sa géométrie intersecte le périmètre." msgstr "Indien aangevinkt, wordt dit asset uitgesloten van de zone, zelfs als de geometrie de perimeter doorsnijdt." + +msgid "Filtres favoris" +msgstr "Favoriete filters" + +msgid "Favoris" +msgstr "Favorieten" + +msgid "Mes filtres favoris" +msgstr "Mijn favoriete filters" + +msgid "Enregistrer le filtre actuel..." +msgstr "Huidige filter opslaan..." + +msgid "Enregistrer comme favori" +msgstr "Opslaan als favoriet" + +msgid "Nom du filtre favori" +msgstr "Naam van favoriet filter" + +msgid "Ex. Mobilier urbain et voirie" +msgstr "Bijv. Straatmeubilair en wegen" + +msgid "Donnez un nom clair pour retrouver facilement cette sélection de filtres." +msgstr "Geef een duidelijke naam om deze filterselectie gemakkelijk terug te vinden." + +msgid "Critères enregistrés :" +msgstr "Opgeslagen criteria:" diff --git a/loko/assets/locale/nl/LC_MESSAGES/djangojs.mo b/loko/assets/locale/nl/LC_MESSAGES/djangojs.mo index ed4ecd7b9c5d7366955b9abba8abe04af422b5ec..4fba208be060a425c50ea215e2eb170448252276 100644 GIT binary patch delta 5438 zcmZXW3vg7`8OKim2?zvC5JZApc_qXU41!=Pr1A)@fK(Hq6&2UyWZAIU4SRP3MsyV) zyb2;KT1tH*5~Ye=1)o(Xty*U_V|NhQ7_dLGu zJKwp<{-qz-?7PK%b{NXjs1*I<1Y^E}&ko>0**n;nnXnTsf*-*;IBkeA8nPA+gd1QX z+yTeJJK@RjMc4lpETa7$90dOf`x=uqUsGXC)B7Z2`oj`94UU4Rzv*2OZ9$IY7FxoXx^Dl&QtObsM>)~neUO0{Y%?ngU(eVYG4u_T)L)9#V@@P5i z2cz&r*al_r)sUar%;QveH%tn1HaUIB8!(nC0W#Q4V0%Fp$ysz z<>_wMe-P?+JnQ;Dg!(@G59-6z#|z(AKs+@KP?1>ccq^QorDG433GhuQPrrdml3}3Fk3^%XWX4xu#ykA zLbwttBKJUfv=0`-gOJlQ&qIC7-+?;gPoU2Jzfc=~?b<~gv~uKRsQ2Tcz9W@ThA$gO z{FQuZI<(PN7<>;PKeL~Q3_J`K!Xd;}?`JqJhRU60sCBM~T6h!3E?265KxhDy5Ep*%Y3-hT@pA0K5^(v29QW9)u;j|Ibs=z(cSf{1D2*PvMEMpfddHHW2D;XTY=J z5-1P1z!TtZH~>Bbl@kXXpMg5E7od*jW!L{UEM$N4H`noZC{I6znovl}Dk4Qt7MDU9 zIu3Hf%ycM&mO&YQ71X?SuDub;k?oGVq2?ceirk-I_9s-{rJ^$`<8sRKMNpPr1hqgT z)WR7!5Uz#tbR*P4JD|or1eGh#LJz*<-hbm*JULvq3@UOnCKG?1>0&x`W)|xHUgrkv zgyfIe50$Ndh11}-a4MX3X81vAf&9!)9{u5~un4{Zbu=G99pzCdgZ~5NX#Z;BuaFc~ zhnAfV^(($DfHcC0hN?%>~Xx(agF2k za3p$={ex1&Q;DLIK<5QDG8#tF5Z8Xl@kz(-`MYUfh<=VPNB5(pNTnb8HM$M`6rF=^ zK`O!gMN|d_&G0c5d;eY85)D`Ko=pE+tKi#7CtInU3Xt) zo!j564BKWS{26LQb6uYhcl9RN8~qYBxV}prg{RSVs!*;%15h7y6S@aojLt`Ek;)|b zZ>da2kD&3W2z8eescdtNvmEt_ZboOLt*9^Rj}D+6s27@ueusXGB4`@wF85NI(cO@j zThJ187djWIWYGSg7CvqSW$08?jYgoy(RyU^Hx0V1Aa|r_>7?dJdomUCY$9c&F+ZK^ z>NMwN8Z!y6ITlZ+tmk)i#%*IdmP{nNI`b8SzbGh*q`Nw!OtR(vM6V`)+DTs&l(x2J z60ydJ#(9x;+vvraYE$htld8%UmgIB0N(K(_nlfIvUsdkGlG!u;NT%IJBdI2P+#545 zm133`Po{j2H}Qz)XWH6Q*7vn|&l0)AB{yZ~t!a#Bd{Y-XQ8wN$^IBuR*L9EAl4NK1 zf&n(wYEz~z^eGq@X={teR%N<685MT_FchIHex|XpYp?(PaadK_mWs6=Tfz6*A}Oz_ ztFt+hNmu2s82U;r?X z6KSmxYxccbvnb~GY*kfNWfmoya&5!<4oEh2?Txz=OAmXypemB^y=Yfw68qDfrB`F> z(~)#0?GT);saND_GHHQ+EWqMVn}eHT2^Utypy##uk^{H@8q1#zftP<>U*B=+q9pn z8@;eHoM6*lvMp-;cqD2QX1=vy%CaV%Ryk{JswuyD^dV)e4HLHO;l#w6{H3QKEEqi} z*^{%jIhjd&t*l7C1zAhd7LQ#&{K{C%YMWZg((MtJ53{vhFo5lO^PRV* zPOCB1(~x$XS{-X?vZ?PalG{Hvmc2NZmIui+9@M$jz2LN&9<|y#-JQf%gX-g%STLB3 z#nWJDI%%V}E#e`Iy#E7E7H??) delta 3672 zcmYk-d2o$a7{~E*vyr7Ci6}vHvxp@Tf{4<@E~%7iVqcrqtx%F8(S{~3wG_3#6lpa> zYZ;?xZw+IZj%x8oM`yZNrb=f_x1pHYYNpfn`@8qVIFsl7ob#^F*>bP>4vlrL#D{G* zlm?BTy2V$EW(;74JDI9`& z?=)RLBX4&>i%%;5;9Sz9^Dw%i>J7NlNQ9{Eo0w*BfFlESKnJVN~vkdt&+c@;Y z1E>UVqNX5@1)%3LQTG*COReRJjK6NIwKr}-4beW#z$3PO1^F}AIp}^56R(kKgSx*5 zs)zkiiBCpN>1<>@n`#Wjg{TfWs17XG_=ixb=Y-~dJLAJB zZlf2&$tDFeP*YcgdaeXDb>mTq`>YP?`E9CbQ60cSJdQaS#>8t;^+NTiFY1NGs0T|> z&rQd4ti}#lk6Nr>Ai0^JP$PF2wI-s-f~v_tbL^^5;vr!4##C@nC{|oip1JwT&5C05gGHUMgt)-~#HzSqt z*WA`}LW^P}s=W&}0>|w6uTY6yME=ar9F%YlOz zT5GG*oZt*ovPX=QImZ5rFj=FC?Dv>&5u*?S3TpvbF$#)ommu>qR zD&ZT}f05@M)0}bB(4=7z_C}I7i&2^HL1nrhBk%<3{x4B4yo8#%>*&Skj=}3$)&Z#J z$Dl@LI%;a_FiHD=6BTWfgZ75A*opR4WSUGQjafY_stk8ByT37hHwe8gUk+8rl(L3UP3Lx8>qzoLGAMtCSD2j zMJ?JPs1KId^J7uZm7zv#4o2e=bhJp;QPG2&QSF`B1oxr`ONdQ`dcT@bd5x$D)Qow? zDhdgH!^{+7GEqQuCFT<|iAlsd;yHp&JEj*El@|&1R+(-mh7+rZp~MJcG4TPhjL?pm zN2t6?=!Z!~qoOiBNZ?p%>%;IZVm$G>J=aO|A3~$po)B7OjiraJuoQG_;3rgzNdG?j z5-PI^t&b(dTB5ONx8xJg5}I$7K|uoRW(@UEy>u*5XD^7S9;+|1^<-Rb>jUsjVjwY< zc!QWm%pg>@1u^B=pLpK3wN@I-EGoSTeLqm%uToF6CB_k9#5=?&qOrtM+2G}{hUiBm5HAr`gi3p2f`3=D$sRW{Zlr&0 z+)a;vb;4bbdm^!kdnmENt!dfSeb{nN#8BVd*}l2{@K$F%?vJf|xphgc{2wNr_k>rK zRaIB{_q073;?^Y3cEh~8+)Lii{0%9UA#P%NvENPq+T*XxIP7r;cUX_@=lG z>8$D*RlW-Uq|U26?ybyW?%J$&{v%oYJrSjP;XMDQ>@gwky>2tz`8hRiYWLl-3o0vo O^UNrpcUq;d!u$`NjbYCK diff --git a/loko/assets/locale/nl/LC_MESSAGES/djangojs.po b/loko/assets/locale/nl/LC_MESSAGES/djangojs.po index 82c08a3..a1bec78 100644 --- a/loko/assets/locale/nl/LC_MESSAGES/djangojs.po +++ b/loko/assets/locale/nl/LC_MESSAGES/djangojs.po @@ -746,3 +746,84 @@ msgstr "Instructies & aandachtspunten" msgid "Centrer sur la zone" msgstr "Centreren op zone" + +msgid "Favoris" +msgstr "Favorieten" + +msgid "Aucun favori enregistré" +msgstr "Geen favoriet opgeslagen" + +msgid "Mettre à jour avec les filtres actuels" +msgstr "Bijwerken met huidige filters" + +msgid "Supprimer" +msgstr "Verwijderen" + +msgid "Filtre favori enregistré avec succès." +msgstr "Favoriet filter succesvol opgeslagen." + +msgid "Erreur lors de la sauvegarde du favori." +msgstr "Fout bij het opslaan van favoriet." + +msgid "Erreur de communication avec le serveur." +msgstr "Communicatiefout met de server." + +msgid "Voulez-vous vraiment supprimer le favori '%s' ?" +msgstr "Weet u zeker dat u favoriet '%s' wilt verwijderen?" + +msgid "Filtre favori supprimé." +msgstr "Favoriet filter verwijderd." + +msgid "Erreur lors de la suppression du favori." +msgstr "Fout bij het verwijderen van favoriet." + +msgid "Mettre à jour le favori '%s' avec les filtres actuellement actifs ?" +msgstr "Favoriet '%s' bijwerken met momenteel actieve filters?" + +msgid "Favori '%s' mis à jour." +msgstr "Favoriet '%s' bijgewerkt." + +msgid "Erreur lors de la mise à jour du favori." +msgstr "Fout bij het bijwerken van favoriet." + +msgid "Filtre '%s' appliqué." +msgstr "Filter '%s' toegepast." + +msgid "Aucun filtre sélectionné." +msgstr "Geen filter geselecteerd." + +msgid "Thématique(s) :" +msgstr "Thema('s):" + +msgid "Type d'élément :" +msgstr "Elementtype:" + +msgid "Assets" +msgstr "Assets" + +msgid "Localisations" +msgstr "Locaties" + +msgid "Catégorie(s) :" +msgstr "Categorie(ën):" + +msgid "Modèle(s) :" +msgstr "Model(len):" + +msgid "Statut(s) :" +msgstr "Status(sen):" + +msgid "Validation" +msgstr "Validatie" + +msgid "Sans géométrie :" +msgstr "Zonder geometrie:" + +msgid "Exclus" +msgstr "Uitgesloten" + +msgid "Filtres par défaut." +msgstr "Standaardfilters." + +msgid "sélectionnée(s)" +msgstr "geselecteerd" diff --git a/loko/assets/static/assets/unified_index.js b/loko/assets/static/assets/unified_index.js index 55c7c25..cf42478 100644 --- a/loko/assets/static/assets/unified_index.js +++ b/loko/assets/static/assets/unified_index.js @@ -1346,6 +1346,7 @@ $(document).ready(function () { refreshData(); updateFilterBadge(); schedulePreferencesSave(); + checkActiveFavoriteMatch(); const modal = bootstrap.Modal.getInstance(document.getElementById('filterModal')); if (modal) modal.hide(); }); @@ -1373,6 +1374,7 @@ $(document).ready(function () { refreshData(); updateFilterBadge(); schedulePreferencesSave(); + checkActiveFavoriteMatch(); const modal = bootstrap.Modal.getInstance(document.getElementById('filterModal')); if (modal) modal.hide(); }); @@ -1438,6 +1440,7 @@ $(document).ready(function () { renderModelFilters(); renderConditionalFilters(); updateFilterBadge(); + initFavoriteFilters(); if (activeThematics.size > 0) { refreshData(); @@ -4615,3 +4618,457 @@ function initTotalsOverlay() { } document.addEventListener('DOMContentLoaded', initTotalsOverlay); + +// ==================== Favorite Filters Management ==================== + +function showToast(message, type = 'success') { + const toastEl = document.getElementById('app-toast'); + const toastBody = document.getElementById('app-toast-body'); + if (!toastEl || !toastBody) return; + + toastEl.className = 'toast align-items-center text-white border-0'; + toastEl.classList.add(`bg-${type}`); + toastBody.textContent = message; + + const toast = new bootstrap.Toast(toastEl); + toast.show(); +} + +function initFavoriteFilters() { + renderFavoriteFiltersUI(); + checkActiveFavoriteMatch(); + + // Open save modal button + const btnOpenSave = document.getElementById('btn-open-save-favorite-modal'); + if (btnOpenSave) { + btnOpenSave.addEventListener('click', function(e) { + e.preventDefault(); + openSaveFavoriteModal(); + }); + } + + // Confirm save button + const btnConfirmSave = document.getElementById('btn-confirm-save-favorite'); + if (btnConfirmSave) { + btnConfirmSave.addEventListener('click', function() { + confirmSaveFavorite(); + }); + } + + // Submit on Enter in save favorite modal + const saveNameInput = document.getElementById('save-favorite-name'); + if (saveNameInput) { + saveNameInput.addEventListener('keydown', function(e) { + if (e.key === 'Enter') { + e.preventDefault(); + confirmSaveFavorite(); + } + }); + } +} + +function renderFavoriteFiltersUI() { + const countBadge = document.getElementById('favorite-filters-count'); + const itemsContainer = document.getElementById('favorite-filters-items'); + + if (countBadge) { + countBadge.textContent = (typeof userFavoriteFilters !== 'undefined' && Array.isArray(userFavoriteFilters)) ? userFavoriteFilters.length : 0; + } + + if (itemsContainer) { + if (!userFavoriteFilters || !userFavoriteFilters.length) { + itemsContainer.innerHTML = ` +
  • + ${gettext('Aucun favori enregistré')} +
  • + `; + } else { + let html = ''; + userFavoriteFilters.forEach(fav => { + html += ` + + `; + }); + itemsContainer.innerHTML = html; + } + } +} + +function getCurrentFilterValues() { + const statusFilters = Array.from( + document.querySelectorAll('[name="filter-status"]:checked') + ).map(cb => cb.value).sort(); + const validationStatusFilters = Array.from( + document.querySelectorAll('[name="filter-validation-status"]:checked') + ).map(cb => cb.value).sort(); + const includeNoGeomCheckbox = document.getElementById('include-no-geom'); + const includeNoGeom = includeNoGeomCheckbox ? includeNoGeomCheckbox.checked : true; + + return { + thematics: Array.from(activeThematics || []).sort(), + type_filter: getActiveTypeFilters().sort(), + include_no_geom: includeNoGeom, + status_filters: statusFilters, + validation_status_filters: validationStatusFilters, + categories: Array.from(activeCategories || []).sort(), + models: Array.from(activeModels || []).sort(), + conditional_filters: activeConditionalFilters || {} + }; +} + +function areFilterObjectsEqual(f1, f2) { + if (!f1 || !f2) return false; + const arrayKeys = ['thematics', 'type_filter', 'status_filters', 'validation_status_filters', 'categories', 'models']; + for (const key of arrayKeys) { + const arr1 = Array.isArray(f1[key]) ? f1[key].map(String).sort() : []; + const arr2 = Array.isArray(f2[key]) ? f2[key].map(String).sort() : []; + if (arr1.length !== arr2.length) return false; + for (let i = 0; i < arr1.length; i++) { + if (arr1[i] !== arr2[i]) return false; + } + } + const noGeom1 = f1.include_no_geom !== false; + const noGeom2 = f2.include_no_geom !== false; + if (noGeom1 !== noGeom2) return false; + + const cf1 = f1.conditional_filters || {}; + const cf2 = f2.conditional_filters || {}; + if (JSON.stringify(cf1) !== JSON.stringify(cf2)) return false; + + return true; +} + +function checkActiveFavoriteMatch() { + const currentFilters = getCurrentFilterValues(); + let matchedFav = null; + + if (typeof userFavoriteFilters !== 'undefined' && Array.isArray(userFavoriteFilters)) { + for (const fav of userFavoriteFilters) { + if (areFilterObjectsEqual(fav.filters, currentFilters)) { + matchedFav = fav; + break; + } + } + } + + const activeLabel = document.getElementById('active-favorite-label'); + + // Reset all star icons and active classes + document.querySelectorAll('.dropdown-item-favorite').forEach(el => el.classList.remove('active')); + document.querySelectorAll('.favorite-star-icon').forEach(icon => { + icon.className = 'bi bi-star favorite-star-icon text-muted'; + }); + + if (matchedFav) { + if (activeLabel) { + activeLabel.textContent = matchedFav.name; + } + const activeItem = document.getElementById(`fav-item-${matchedFav.id}`); + if (activeItem) { + activeItem.classList.add('active'); + } + const activeStar = document.getElementById(`fav-star-${matchedFav.id}`); + if (activeStar) { + activeStar.className = 'bi bi-star-fill favorite-star-icon text-warning'; + } + } else { + if (activeLabel) { + activeLabel.textContent = gettext('Favoris'); + } + } +} + +function generateFilterSummary(filters) { + if (!filters || Object.keys(filters).length === 0) { + return `${gettext('Aucun filtre sélectionné.')}`; + } + const badges = []; + + if (filters.thematics && filters.thematics.length) { + const names = filters.thematics.map(code => { + return (THEMATIC_CONFIG && THEMATIC_CONFIG[code] && THEMATIC_CONFIG[code].name) || code; + }); + badges.push(`${gettext('Thématique(s)')} : ${names.join(', ')}`); + } + + if (filters.type_filter && filters.type_filter.length) { + const typeLabels = { + 'assets': gettext('Assets'), + 'locations': gettext('Localisations'), + 'management_zones': gettext('Zones de gestion') + }; + const names = filters.type_filter.map(t => typeLabels[t] || t); + badges.push(`${gettext("Type d'élément")} : ${names.join(', ')}`); + } + + if (filters.categories && filters.categories.length) { + badges.push(`${gettext('Catégorie(s)')} : ${filters.categories.length} ${gettext('sélectionnée(s)')}`); + } + + if (filters.models && filters.models.length) { + badges.push(`${gettext('Modèle(s)')} : ${filters.models.length} ${gettext('sélectionné(s)')}`); + } + + if (filters.status_filters && filters.status_filters.length) { + badges.push(`${gettext('Statut(s)')} : ${filters.status_filters.join(', ')}`); + } + + if (filters.validation_status_filters && filters.validation_status_filters.length) { + badges.push(`${gettext('Validation')} : ${filters.validation_status_filters.join(', ')}`); + } + + if (filters.include_no_geom === false) { + badges.push(`${gettext('Sans géométrie')} : ${gettext('Exclus')}`); + } + + if (badges.length === 0) { + return `${gettext('Filtres par défaut.')}`; + } + + return badges.map(b => `
    ${b}
    `).join(''); +} + +function openSaveFavoriteModal(existingId = null) { + const currentFilters = getCurrentFilterValues(); + const modalEl = document.getElementById('saveFavoriteModal'); + if (!modalEl) return; + + const idInput = document.getElementById('save-favorite-id'); + const nameInput = document.getElementById('save-favorite-name'); + const summaryEl = document.getElementById('save-favorite-summary'); + + if (existingId) { + const existing = userFavoriteFilters.find(f => f.id === existingId); + if (existing) { + idInput.value = existing.id; + nameInput.value = existing.name; + } + } else { + idInput.value = ''; + nameInput.value = ''; + } + + if (summaryEl) { + summaryEl.innerHTML = generateFilterSummary(currentFilters); + } + + nameInput.classList.remove('is-invalid'); + const modal = bootstrap.Modal.getOrCreateInstance(modalEl); + modal.show(); + + setTimeout(() => { + nameInput.focus(); + }, 400); +} + +async function confirmSaveFavorite() { + const nameInput = document.getElementById('save-favorite-name'); + const idInput = document.getElementById('save-favorite-id'); + const name = nameInput.value.trim(); + if (!name) { + nameInput.classList.add('is-invalid'); + return; + } + nameInput.classList.remove('is-invalid'); + + const favoriteId = idInput.value || null; + const filters = getCurrentFilterValues(); + + try { + const response = await fetch(saveFavoriteUrl, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'X-CSRFToken': getCsrfToken() + }, + body: JSON.stringify({ + id: favoriteId, + name: name, + filters: filters + }) + }); + + const data = await response.json(); + if (data.success) { + userFavoriteFilters = data.favorites; + renderFavoriteFiltersUI(); + checkActiveFavoriteMatch(); + + const modalEl = document.getElementById('saveFavoriteModal'); + const modal = bootstrap.Modal.getInstance(modalEl); + if (modal) modal.hide(); + + showToast(gettext('Filtre favori enregistré avec succès.'), 'success'); + } else { + alert(data.error || gettext('Erreur lors de la sauvegarde du favori.')); + } + } catch (err) { + alert(gettext('Erreur de communication avec le serveur.')); + } +} + +async function deleteFavoriteFilter(favoriteId, event) { + if (event) event.stopPropagation(); + const fav = userFavoriteFilters.find(f => f.id === favoriteId); + if (!fav) return; + + const confirmMsg = gettext("Voulez-vous vraiment supprimer le favori '%s' ?").replace('%s', fav.name); + if (!confirm(confirmMsg)) return; + + try { + const response = await fetch(deleteFavoriteUrl, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'X-CSRFToken': getCsrfToken() + }, + body: JSON.stringify({ id: favoriteId }) + }); + + const data = await response.json(); + if (data.success) { + userFavoriteFilters = data.favorites; + renderFavoriteFiltersUI(); + checkActiveFavoriteMatch(); + showToast(gettext('Filtre favori supprimé.'), 'info'); + } else { + alert(data.error || gettext('Erreur lors de la suppression du favori.')); + } + } catch (err) { + alert(gettext('Erreur de communication avec le serveur.')); + } +} + +async function updateFavoriteWithCurrentFilters(favoriteId, event) { + if (event) event.stopPropagation(); + const fav = userFavoriteFilters.find(f => f.id === favoriteId); + if (!fav) return; + + const confirmMsg = gettext("Mettre à jour le favori '%s' avec les filtres actuellement actifs ?").replace('%s', fav.name); + if (!confirm(confirmMsg)) return; + + const currentFilters = getCurrentFilterValues(); + + try { + const response = await fetch(saveFavoriteUrl, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'X-CSRFToken': getCsrfToken() + }, + body: JSON.stringify({ + id: favoriteId, + name: fav.name, + filters: currentFilters + }) + }); + + const data = await response.json(); + if (data.success) { + userFavoriteFilters = data.favorites; + renderFavoriteFiltersUI(); + checkActiveFavoriteMatch(); + showToast(gettext("Favori '%s' mis à jour.").replace('%s', fav.name), 'success'); + } else { + alert(data.error || gettext('Erreur lors de la mise à jour du favori.')); + } + } catch (err) { + alert(gettext('Erreur de communication avec le serveur.')); + } +} + +function applyFavoriteFilter(favoriteId) { + if (!favoriteId) return; + const fav = userFavoriteFilters.find(f => f.id === favoriteId); + if (!fav) return; + + const filters = fav.filters || {}; + + // 1. Thematics + activeThematics.clear(); + const favThematics = Array.isArray(filters.thematics) ? filters.thematics : []; + favThematics.forEach(t => { + if (t in THEMATIC_CONFIG) activeThematics.add(t); + }); + document.querySelectorAll('.thematic-checkbox').forEach(cb => { + cb.checked = activeThematics.has(cb.value); + }); + + // 2. Types + const cbA = document.getElementById('type-cb-assets'); + const cbL = document.getElementById('type-cb-locations'); + const cbZ = document.getElementById('type-cb-management-zones'); + const favTypes = Array.isArray(filters.type_filter) ? filters.type_filter : ['assets', 'locations', 'management_zones']; + if (cbA) cbA.checked = favTypes.includes('assets'); + if (cbL) cbL.checked = favTypes.includes('locations'); + if (cbZ) cbZ.checked = favTypes.includes('management_zones'); + + // 3. Include no geom + const includeNoGeomCheckbox = document.getElementById('include-no-geom'); + if (includeNoGeomCheckbox) { + includeNoGeomCheckbox.checked = filters.include_no_geom !== false; + } + + // 4. Status + const favStatus = Array.isArray(filters.status_filters) ? filters.status_filters : []; + document.querySelectorAll('[name="filter-status"]').forEach(cb => { + cb.checked = favStatus.includes(cb.value); + }); + + // 5. Validation status + const favValidation = Array.isArray(filters.validation_status_filters) ? filters.validation_status_filters : []; + document.querySelectorAll('[name="filter-validation-status"]').forEach(cb => { + cb.checked = favValidation.includes(cb.value); + }); + + // 6. Categories + activeCategories = new Set(Array.isArray(filters.categories) ? filters.categories : []); + + // 7. Models + activeModels = new Set(Array.isArray(filters.models) ? filters.models : []); + + // 8. Conditional filters + activeConditionalFilters = (filters.conditional_filters && typeof filters.conditional_filters === 'object') + ? JSON.parse(JSON.stringify(filters.conditional_filters)) + : {}; + + // 9. Re-render filters UI + renderCategoryFilters(); + renderModelFilters(); + renderConditionalFilters(); + updateFilterBadge(); + + // 10. Save current active preferences + savePreferences(); + + // 11. Reload data + if (activeThematics.size > 0) { + refreshData(); + } else { + showEmptyState(); + } + + // 12. Update active favorite display + checkActiveFavoriteMatch(); + + showToast(gettext("Filtre '%s' appliqué.").replace('%s', fav.name), 'info'); +} + +// Make functions globally available for inline onclicks +window.applyFavoriteFilter = applyFavoriteFilter; +window.deleteFavoriteFilter = deleteFavoriteFilter; +window.updateFavoriteWithCurrentFilters = updateFavoriteWithCurrentFilters; +window.openSaveFavoriteModal = openSaveFavoriteModal; diff --git a/loko/assets/templates/assets/unified_index.html b/loko/assets/templates/assets/unified_index.html index 1547545..3909810 100644 --- a/loko/assets/templates/assets/unified_index.html +++ b/loko/assets/templates/assets/unified_index.html @@ -398,12 +398,36 @@ height: 1.25rem; padding: 0 4px !important; line-height: 1.25rem; + z-index: 5 !important; } #filter-badge:not(.d-none) { display: inline-flex !important; align-items: center; justify-content: center; } + + .dropdown-item-favorite { + transition: background-color 0.15s ease; + border-radius: 4px; + margin: 2px 4px; + } + .dropdown-item-favorite:hover { + background-color: #f1f5f9; + } + .dropdown-item-favorite.active { + background-color: #e7f1ff; + } + .dropdown-item-favorite.active .fav-name { + color: #0c5cc9; + font-weight: 600 !important; + } + .favorite-actions button { + opacity: 0.6; + transition: opacity 0.15s; + } + .dropdown-item-favorite:hover .favorite-actions button { + opacity: 1; + } #map .maplibregl-popup-close-button { font-size: 1.35rem; line-height: 1; @@ -949,6 +973,42 @@ +{# ─── Modal pour enregistrer un filtre favori ─────────────────────────────── #} + + {# ─── Add chooser modal ────────────────────────────────────────────────────── #}