File tree Expand file tree Collapse file tree 3 files changed +19
-3
lines changed
src/Application/Controller Expand file tree Collapse file tree 3 files changed +19
-3
lines changed Original file line number Diff line number Diff line change @@ -871,7 +871,7 @@ var form = function(url, tabid){
871871 } ) ;
872872
873873 $ ( "#event" ) . on ( 'click' , '.delete-file' , function ( ) {
874- $ ( "button#delete-file-href" ) . attr ( 'href' , $ ( this ) . data ( "href" ) ) ;
874+ $ ( "button#delete-file-href" ) . attr ( 'href' , $ ( this ) . data ( "href" ) + '&exclude=' + $ ( "input[name=exclude]" ) . val ( ) ) ;
875875 $ ( "#file_name" ) . html ( $ ( this ) . data ( 'name' ) ) ;
876876 $ ( "#delete-file-href" ) . data ( 'id' , $ ( this ) . data ( 'id' ) ) ;
877877 } ) ;
Original file line number Diff line number Diff line change @@ -1507,14 +1507,29 @@ public function deletefileAction()
15071507
15081508 $ fileid = $ this ->params ()->fromQuery ('id ' , null );
15091509 $ eventid = $ this ->params ()->fromQuery ('eventid ' , null );
1510+ $ exclude = $ this ->params ()->fromQuery ('exclude ' , false );
1511+ $ exclude = $ exclude == "true " ;
15101512 $ messages = array ();
15111513
15121514 if ($ fileid ) {
15131515 $ file = $ objectManager ->getRepository ('Application\Entity\File ' )->find ($ fileid );
15141516 if ($ eventid && $ file ) {
15151517 $ event = $ objectManager ->getRepository ('Application\Entity\Event ' )->find ($ eventid );
15161518 if ($ event ) {
1517- $ file ->removeEvent ($ event );
1519+ if ($ event ->getRecurrence () && !$ exclude ) {
1520+ //suppression du fichier à tous les évènements de la récurrence
1521+ //sauf ceux antérieurs à la date actuelle
1522+ $ recurrentEvents = $ event ->getRecurrence ()->getEvents ();
1523+ $ now = new \DateTime ('now ' );
1524+ $ now ->setTimezone (new \DateTimeZone ('UTC ' ));
1525+ foreach ($ recurrentEvents as $ e ) {
1526+ if (!$ e ->isPast ($ now )) {
1527+ $ file ->removeEvent ($ e );
1528+ }
1529+ }
1530+ } else { //suppression du fichier uniquement pour l'évènement indiqué
1531+ $ file ->removeEvent ($ event );
1532+ }
15181533 $ objectManager ->persist ($ file );
15191534 } else {
15201535 $ messages ['error ' ][] = "Impossible d'enlever le fichier de l'évènement. " ;
Original file line number Diff line number Diff line change @@ -53,7 +53,8 @@ echo $this->modalwindow("confirm-delete-file",
5353 "<h4>Confirmer la suppression du fichier ?</h4> " ,
5454 "" ,
5555 null ,
56- "<p>Voulez-vous vraiment supprimer le fichier <em><span id= \"file_name \"></span></em> ?</p> " ,
56+ "<p>Voulez-vous vraiment supprimer le fichier <em><span id= \"file_name \"></span></em> ?</p> "
57+ . "La suppression du fichier sera immédiate et définitive. " ,
5758 "<button class= \"btn btn-danger \" id= \"delete-file-href \">Confirmer</button>
5859 <button class= \"btn \" href= \"# \" data-dismiss= \"modal \" aria-hidden= \"true \">Annuler</button> " );
5960?>
You can’t perform that action at this time.
0 commit comments