From f0e20be3969cb70deb11607d57e0959776bd2165 Mon Sep 17 00:00:00 2001 From: Subivas Date: Tue, 2 Dec 2025 20:00:44 +0100 Subject: [PATCH] =?UTF-8?q?AJOUT=20:=20champs=20Mes=20Photos=20partag?= =?UTF-8?q?=C3=A9es=20dans=20la=20page=20mes-photos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PhotoController.java | 3 +++ .../repository/PartageRepository.java | 3 ++- .../repository/PhotoRepository.java | 2 ++ .../fotosharing/service/PhotoService.java | 2 ++ .../service/impl/PhotoServiceImpl.java | 10 ++++++++++ src/main/resources/templates/mes-photos.html | 16 ++++++++++++++++ .../controller/PhotoController.class | Bin 10508 -> 10662 bytes .../fotosharing/service/PhotoService.class | Bin 1443 -> 1497 bytes .../service/impl/PhotoServiceImpl.class | Bin 10417 -> 10605 bytes target/classes/templates/mes-photos.html | 16 ++++++++++++++++ 10 files changed, 51 insertions(+), 1 deletion(-) diff --git a/src/main/java/local/epul4a/fotosharing/controller/PhotoController.java b/src/main/java/local/epul4a/fotosharing/controller/PhotoController.java index 7ba5bf6..7df688e 100644 --- a/src/main/java/local/epul4a/fotosharing/controller/PhotoController.java +++ b/src/main/java/local/epul4a/fotosharing/controller/PhotoController.java @@ -97,6 +97,7 @@ public class PhotoController { @RequestParam(name = "pagePrivees", defaultValue = "0") int pagePrivees, @RequestParam(name = "pagePubliques", defaultValue = "0") int pagePubliques, @RequestParam(name = "pagePartagees", defaultValue = "0") int pagePartagees, + @RequestParam(name = "pageMesPartagees", defaultValue = "0") int pageMesPartagees, Model model, Authentication auth ) { @@ -105,11 +106,13 @@ public class PhotoController { model.addAttribute("photosPrivees", photoService.listPrivatePhotos(email, pagePrivees, 12)); model.addAttribute("photosPubliques", photoService.listPublicPhotos(email, pagePubliques, 12)); model.addAttribute("photosPartagees", photoService.listSharedWith(email, pagePartagees, 12)); + model.addAttribute("mesPhotosPartagees", photoService.listSharedPhotos(email, pageMesPartagees, 12)); // Ajouter les 3 index séparés model.addAttribute("pagePrivees", pagePrivees); model.addAttribute("pagePubliques", pagePubliques); model.addAttribute("pagePartagees", pagePartagees); + model.addAttribute("pageMesPartagees", pageMesPartagees); return "mes-photos"; } diff --git a/src/main/java/local/epul4a/fotosharing/repository/PartageRepository.java b/src/main/java/local/epul4a/fotosharing/repository/PartageRepository.java index 845a5a4..d23cc12 100644 --- a/src/main/java/local/epul4a/fotosharing/repository/PartageRepository.java +++ b/src/main/java/local/epul4a/fotosharing/repository/PartageRepository.java @@ -1,6 +1,8 @@ package local.epul4a.fotosharing.repository; import local.epul4a.fotosharing.model.Partage; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; @@ -11,5 +13,4 @@ public interface PartageRepository extends JpaRepository { // vérifier si un utilisateur a accès partagé boolean existsByPhoto_IdAndUtilisateur_Email(Long photoId, String email); List findByUtilisateur_Email(String email); - } diff --git a/src/main/java/local/epul4a/fotosharing/repository/PhotoRepository.java b/src/main/java/local/epul4a/fotosharing/repository/PhotoRepository.java index baa185e..9f782c7 100644 --- a/src/main/java/local/epul4a/fotosharing/repository/PhotoRepository.java +++ b/src/main/java/local/epul4a/fotosharing/repository/PhotoRepository.java @@ -23,4 +23,6 @@ public interface PhotoRepository extends JpaRepository { String email, Pageable pageable ); + + } \ No newline at end of file diff --git a/src/main/java/local/epul4a/fotosharing/service/PhotoService.java b/src/main/java/local/epul4a/fotosharing/service/PhotoService.java index 6d41696..0142705 100644 --- a/src/main/java/local/epul4a/fotosharing/service/PhotoService.java +++ b/src/main/java/local/epul4a/fotosharing/service/PhotoService.java @@ -20,6 +20,8 @@ public interface PhotoService { Page listPrivatePhotos(String email, int page, int size); Page listPublicPhotos(String email, int page, int size); Page listSharedWith(String email, int page, int size); + Page listSharedPhotos(String email, int page, int size); + diff --git a/src/main/java/local/epul4a/fotosharing/service/impl/PhotoServiceImpl.java b/src/main/java/local/epul4a/fotosharing/service/impl/PhotoServiceImpl.java index 789053d..96166f4 100644 --- a/src/main/java/local/epul4a/fotosharing/service/impl/PhotoServiceImpl.java +++ b/src/main/java/local/epul4a/fotosharing/service/impl/PhotoServiceImpl.java @@ -147,4 +147,14 @@ public class PhotoServiceImpl implements PhotoService { return new PageImpl<>(sublist, PageRequest.of(page, size), photos.size()); } + @Override + public Page listSharedPhotos(String email, int page, int size) { + Pageable pageable = PageRequest.of(page, size); + return photoRepository.findByProprietaire_EmailAndVisibilite( + email, + Photo.Visibilite.SHARED, + pageable + ); + } + } diff --git a/src/main/resources/templates/mes-photos.html b/src/main/resources/templates/mes-photos.html index cb83708..8610353 100644 --- a/src/main/resources/templates/mes-photos.html +++ b/src/main/resources/templates/mes-photos.html @@ -43,6 +43,22 @@ +

Mes photos partagées

+ +
+ + + +
+ +

Photos partagées avec moi

1M_mrK8wsZ`(gQEl$J< z@7(V@-|zSR?sxa0j^TB|^Y4wF0kBj)bu@UgaE;v)Pq%mX4fLhkyHW#PJL2(lA!_lo zg(Daelq3`Bfpy(osrWYcsQ``%3j6tBdn&PqPX}=VUo|me;TfECUMXx|KPD*B5A41( znb@^Eo(|x2)|5RXfHMrPp1OtS=dEW2L1q-|*D0w?zHZ?g_@>igEm?bxo9;$C9Rv6_ zGugU3m5TQcxQ6orb4OP)o=R}{dx9xUJCTZS9cWpQGe0lz=^z38(0R=&Eqnn#Ht`b+ zKgG|S3G2Sdi}|P<((zOwUdAgXUbXNG{L(pC)W7s~L7?AFnb3YMuynlGw)j9-A{oGM z1)==G$-W(l-a@>9-&=SCe{fb8xBLHO;m`PsGgRDKZ~=cc@iz-^I~R(V`Tt?zpZJ$^ zO{lK;zj(*Q|14a@yMktCsA#rxAhg~m5Y%!Nb|ylhq6v6|m=LcehWMO{lIFmKn3e>j zz`3KOwd!Rlw8X+%fsyXo6Sv{Rwd7PnmXyepUJ6Y9HUYu(%4CKi<#?U%I8DU3g8PZYr?Z|9<07g} z%zqd4rnH#YIYDmyCIY4`q1m;WcnG4vX>>l3OcT>u#@sxz`~%p(UL&(uL%G34*2LQi z`LL=7JzL0DfZoGl|0t>jEoRtff4Tky%&=KeVvXXUfl(~>ViWC;y7q{&KX%EUQ5%Qd zjY_rg_#}rXTzjdZHlCWaakSzjj_2ZzMkcRLRZd=gt<=aZ?Pv26tVfV(cOz4PyD$?w z(TpV4qKB(~?8PqJj}$(SG!9`v>r|tkF~ydo*;(q7u1P+7%?HZuXqacaOyE?}vRZf|&gSVw=(sDG83^M_Dz+ z?D0wRG0veVY-lMTW|S6x%>KEOwo)*i!wsW&$wQUL?AOAkYqo!-xG*#qiwFRC08_Ca z)A8vHD)1n`nFp{C4`UJUOYj-A;j`$(=dhjnO5qFGhc8Z2*kF#Z!Ao5L7}V4$g$-)z zRL2_BYBG3KkM0pZ#+-u}sVhID7UOkUi;S5g)-`odbgIP_!Fv%E>q$48+6GO2nZeZ!jOX?}Ekv$Z$2VjnDaoiWz{Avml7CHX9De&Z zN2n*&C=6YTu+cb*-x+8a!<*n=oUEwIw97%dJ^~X%2;osga7gpS4ywZCc&f?qR3n>+ zU-49<*}2_I$7vF!(QWNsHb0HF$g9zAVy;=Fm$&rWG{6uYasU~YtIZnOROe8wl2_Om z!5>HPmJ4bGfBzDK#PV-qA-+U<3d2ZNW*z*>jWZ zD0^{AGq#Exveo1m%j6i#XmS)|8O@lN!IN4~2BR*L+oh9iZ^2A{eeQr?izk#7PiDqN zRGGLinbGJZMwNE*AIXniuAL8{wnVnDPD(TD*^HFPZPH;jG>%HKcalWhKM_G>RNiM% zi03rQsOyqLY3ESdF3N0AQ96(Ey0WKyOjo@~^%PguYBc2I96i#d9aQVRlg?X#ReZJm t(oe%SJ#N=yw;u1(V^WX3vWEd?Ful!KC!g>a;6C2>`U~Wfa*ymo`2P&C2j2hy delta 2967 zcmZuzYjj*y75?_jow<|A&Fj)8on(?sUQJ0d34tc1L(^ihT4-(4mRf5xbx5b_w3C^1 zCJ89ZOkD`8OIi51YxzU50*fUJ1xan2HbqJWw2Du}7m8TlRZ$UqR4w3l&P^t%xMrPu z&)w(lefIaAZ|^&w-FD~J;M1?2It`#tZaxw`SsW@JjSnaKv&o4>A{WFXm@;w1!WVJW zDYsUxJ}xNHFO1)mN*)+b9oU6L+RCh&j|vfEoN!k_UMXR>Tr z@ymF{#NRCZ9sh8Sl-=sVznsqU_L2+m25|uwExd}?oIT|$0~eTyh(4fy$V3(9^;nKELbN7Bx*@XJO{(Bhm6xA;vN7u0cD=e$z8 z)>jOVSWc|2TS}Z%T~k>pWw{!DUL#T_<<8-{o_qzL7W+`lTN%e?990}O93nQFRS3?b z5dHwKT|32_M@o40Yg4zVxR$%D;?h%vDP@2~9E%4aIjQ8VN|wOT;a-3Nlkco`w$^WE zcK6jcB^?ca6%obv|ENMq|XF;c{in(Me4`YT6)eIceuQ zeWgR9@R8@+BKHzWOTz|@#O3)=A=g9FDP7Ff#stn1lZTWJ5Zx8bbp^BiGrH5wMX5vnW0;kdWMDm?XYXx)j$kqSnBvxu< z7SB^+9E8)!+cmPvJsX~~U!Ton$Tx#}LChaA?7Q2J!3_Cp%B>k3HZX$~UhJU#KGz;r z_WNh;dA0C>yHKkZ9$et?P|Znvq2PWjyzptdw(w-1oR?W6B>@bh2uUQ(fUv}SxwFOxWTwqo?kP` zs(6@-$2m^S>SXn-RxXwH8ck@Ak1Q&ET-%%Dz7)ut<_tORe(CcG_nD!Y-jlLcQSZFe zv^amti%lK&>8Q(4hka(AF8c{ZiC0&iO|1YoqXf6GO5V#deV?YFP1{=ws%w?&W*KPJ zXg&0(#^ds4##zS*s%l-!TWG0ZcR-OxuA7DX#wvcRhFa>;$Yc(L$a=Y6LwKUOrR}My zsQp!?9VL;d{WS`qqCH$5oWav`I*8h5)WJIyE!Fw&hWzfUd@s~KgYS6|Go$v8L#AuC zf1+R;8g?&}1wP0wbvu^e4tA+S{1$!)-S{wid0)j+xE^<503X2~d<7VVgO`07q{TAtpal5RSeMqA%@oKdFOmzo9z+Ab z1l!@)>M5I3Prmvh>P(zpNNH#RrB!S;^B=6YU#cC&?f+0)Bs*qBb0Zs|61hz}%=V5M zF}({k;(pwNlqO$!jDHPIYm^b!rGU~dptN0-I#0F_C3KbN8{5Y_^s$$y_TkD}T@BgE zt4H3c9r&e|0Xn}6SkKz_OOl3n>+3FkjqB@>z9#f_STYPy&GdF+n~eI4a2xLj{6&(L IF_}Q39<+ZM0G%8Vwg3PC delta 41 wcmcb~y_lQp)W2Q(7#J9A8Pqp&39?MqW6@&d*&N9d%*e&S$e;?8VPa4N0Q?CE$p8QV diff --git a/target/classes/local/epul4a/fotosharing/service/impl/PhotoServiceImpl.class b/target/classes/local/epul4a/fotosharing/service/impl/PhotoServiceImpl.class index bf6d63143215c92daba51f35be26a19fcb44cb40..68989cfac0e095b3f30dfadf95934208c0e0056f 100644 GIT binary patch delta 2228 zcmcIlTWnNS6y0m)c3!>hys&jT(-~%_1EoWSLR+A;P^2v_0=Bdw2t%p1Km|l;eSqQ= zi*J0u^+o*Q!*`4kF!hyaB#{_DHOBa%KmM4g@ryr$u5<1%t%{hCn9QBK?>T3$z4qGs zoO8PG*Nwg}FMjlih_vCw)4rx)wO0uf#yj^7jqdf)IcOq;u=Q3j-K`uS&!^3#QjYmycg2${+tIny>CwzDk$J}_z#M5}@?8{LHtn<}z!-8b2pQ|!X zH=efw@x`$!F~lLurB#3!B`xKlL#VyK4CtXtVBs~x}+jv9;>g-sdr$TZ7mJ|}>svRP;Q)$DX@iX$#ftOJU8g{BrN5)WY+ z2|)vufFBB=MPAW4HzZ>n(*Qj)07{DhrLeVEObD=?{;f0}Xd}=H`CKzOo{TS;2HK#3 zOwFpy1}gZhq)&Sx_z%fN6g-%U4k+HUDWpiU7&d8#Ww9!-3fD8rYR)T6d!&OSm!;HM zfS*V$B>d@A>0Qs#)tBo!ShIM=;;!_L@Fn*Aa7nBgjZMNfKS~LtaOqP?Q9X%BxZIB z-YJyTO(F1hk&At-?a@5!{cCE8Me=mPHtrJ;j#p3tu9IMjS%5gR&d95;iQ9Nx45xy0 zLZxRz4r@sJdFg+%mZW`2JT!QLwSgO2$V;$LtE&>iqIA)Ez^fUE7JM`AFa02 z+WKy>?fvpk6Rn!~VT;mKqaP;v;g6qwnfPf8>Q@s@v~ittr&F3>j31J@+rd+l}B z+56mIc3c?@e0%e=FGZvq_LV?uBoL4v;4|Pyp*z}@rx(PrQLT)YpFkQd_tOkmQ7Lx!xyVLMjwRkFEHD;HVFe8F(B|%>P{Bf;)_->>ta^ld}Qw<7oq9$b|Wmw?hRursy3v@H}3y z1H%{z;|)kt z4xrFptTgea9W)y~7a^uyY?}6n8BNE;BQEKZbppgGRgmv;K8YDrNR&f^&ZvYWtluS4 z%6CK{1*jAkO#4GKg{1wRnFv{&X(XITDXLIy|6x{D)NoYfCX5h5q=XMpixf37?Y89i z3@x@cW-a;;Nr3;qQK5V*s}3ueNLlsd=h9XKEw`BR0UBv}q*>lV6RiU2lykTT&El24 zGL3s_`Q*54$4aaczkDoZSdBGOi2H~W5?9GhS?7~({j1-F7J5C*mViSUb!1x4r-2hd ztL)ah{oSg`Ch75NVw+&mF4NSadE!yDkq|Uc0XR?qYvoG(c?gux8G`%X5>wjj_%$5|@2E>M>aKJ8C5J`IC+s%jf9IZLF?l)e_Kg zf=&>0lAz=N9dsi$X@xJ>Y-ZX1T9X`Byqt<}%kyeOFZ#6JZJMD=R!E3NxS7YVO3yF& zQ(Ap&b)`DkQ)bY}I`+UYk0gqzLFbnPIWb!s2*Ib8)2FY#ScXsY>MrEf-f7 zV>=!sN)CJ*m)*$MNk5Zpz(YF8$y9lEG48o8zj>C_pOf;KY8_aNZP67G%kM7csLq*~ zPOb_$rjxrF6V}N+I(d;>?Fx4i7$AWzhX4cZ)2WoMJ16TIBAkWAiT@#M_pPjmP^Cg9 z$*}4oO?Ij-qdAn*Epna}JSVksK^o+ubjT&?6B`z1#+;zM5}CXbnYYnfr zsRM)TjsoJfUl8{6FS6DXW0-}sZ(8E*lUtB zdGdb&Q-g*VE;~e9ol<9;_;e0xdIb6UciT@1}2kuz_ diff --git a/target/classes/templates/mes-photos.html b/target/classes/templates/mes-photos.html index cb83708..8610353 100644 --- a/target/classes/templates/mes-photos.html +++ b/target/classes/templates/mes-photos.html @@ -43,6 +43,22 @@
+

Mes photos partagées

+
+
+ + + +
+ +

Photos partagées avec moi