diff --git a/Entity/SingleTask.php b/Entity/SingleTask.php index 45dcda54c..10101f6cb 100644 --- a/Entity/SingleTask.php +++ b/Entity/SingleTask.php @@ -28,10 +28,16 @@ class SingleTask extends AbstractTask * * @ORM\Column(name="start_date", type="date", nullable=true) * @Assert\Date() + * * @Assert\Expression( - * "value === null or value < this.getEndDate()", + * "value === null or this.getEndDate() === null or value < this.getEndDate()", * message="The start date must be before the end date" * ) + * + * @Assert\Expression( + * "value === null or this.getWarningDate() === null or this.getWarningDate() > this.getStartDate()", + * message="The start date must be before warning date" + * ) */ private $startDate; @@ -45,8 +51,16 @@ class SingleTask extends AbstractTask /** * @var \DateInterval + * and this.getEndDate() === null * * @ORM\Column(name="warning_interval", type="dateinterval", nullable=true) + * + * @Assert\Expression( + * "!(value != null and this.getEndDate() == null)", + * message="An end date is required if a warning interval is set" + * ) + * + * */ private $warningInterval; @@ -65,7 +79,8 @@ class SingleTask extends AbstractTask * @var \Doctrine\Common\Collections\Collection * @ORM\OneToMany( * targetEntity="\Chill\TaskBundle\Entity\Task\SingleTaskPlaceEvent", - * mappedBy="task" + * mappedBy="task", + * cascade={ "remove" } * ) */ private $taskPlaceEvents; diff --git a/Resources/translations/validators.fr.yml b/Resources/translations/validators.fr.yml index daf6ffe54..6bffe29ac 100644 --- a/Resources/translations/validators.fr.yml +++ b/Resources/translations/validators.fr.yml @@ -1,2 +1,4 @@ -The start date must be before the end date: La date de début doit être avant la date de fin +The start date must be before the end date: La date de début doit être avant la date d'échéance This form contains errors: Le formulaire contient des erreurs +The start date must be before warning date: La date de début doit être avant le délai d'avertissement +An end date is required if a warning interval is set: Une date d'échéance est requise lorsqu'un délai de rappel est fixé