Skip to content

Commit 07ea5d3

Browse files
committed
Fixes #1722
1 parent 21c1c15 commit 07ea5d3

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

module/Application/public/assets/js/form.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff 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
});

module/Application/src/Application/Controller/EventsController.php

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff 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.";

module/Application/view/application/events/index.phtml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff 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
?>

0 commit comments

Comments
 (0)