Commit 3ba317fe authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

FIX : On peut maintenant supprimer les activités de recherche si elle n'ont...

FIX : On peut maintenant supprimer les activités de recherche si elle n'ont pas de date de début et de fin
parent e7847a92
Loading
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -1032,7 +1032,11 @@ class ProjectGrantController extends AbstractOscarController implements UseNotif
            // Récupération des informations annexes

            // On supprime les créneaux
            try {
                $this->getTimesheetService()->removeTimesheetActivity($activity);
            } catch (\Exception $e) {
                throw new OscarException("Impossible de supprimer les créneaux pour cette activité : " . $e->getMessage());
            }

            // Suppression des documents
            $documents = $activity->getDocuments();
+20 −7
Original line number Diff line number Diff line
@@ -3193,6 +3193,14 @@ class TimesheetService implements UseOscarUserContextService, UseOscarConfigurat
            $personsId[] = $d->getId();
        }


        if( count($personsId) > 0 ){
            // TODO Ajouter des messages d'alerte ici
            if( !$activity->getDateStart() || !$activity->getDateEnd() ){
                // L'activité n'ayant pas de date, pas de validation

            } else {
                try {
                    $validations = $this->getValidationPeriodRepository()->getValidationPeriodsForPersonsAtPeriodBounds(
                        $personsId,
                        $activity->getDateStartStr('Y-m'),
@@ -3202,6 +3210,11 @@ class TimesheetService implements UseOscarUserContextService, UseOscarConfigurat
                    foreach ($validations as $v) {
                        $this->getEntityManager()->remove($v);
                    }
                } catch (\Exception $e) {
                    $this->getLoggerService()->error("Impossible de supprimer les périodes de validation");
                }
            }
        }

        $this->getEntityManager()->flush();
    }