Commit bf82c4b9 authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

Erreur plus précise lors de la suppression d'une activité

parent f7399ed6
Loading
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1030,6 +1030,13 @@ class ProjectGrantController extends AbstractOscarController implements UseNotif

            ////////////////////////////////////////////////////////////////////////////////////////////////////////////
            // Récupération des informations annexes
            foreach ($activity->getPersons() as $activityPerson){
                $this->getPersonService()->personActivityRemove($activityPerson);
            }

            foreach ($activity->getOrganizations() as $activityOrganization){
                $this->getActivityService()->activityOrganizationRemove($activityOrganization);
            }

            // On supprime les créneaux
            try {
@@ -1040,6 +1047,9 @@ class ProjectGrantController extends AbstractOscarController implements UseNotif
                );
            }

            // Suppression des notifications
            $this->getNotificationService()->deleteNotificationActivityById($activity->getId());

            // Suppression des documents
            $documents = $activity->getDocuments();
            if (count($documents)) {
+6 −2
Original line number Diff line number Diff line
@@ -50,8 +50,12 @@ class GearmanJobLauncherService implements UseOscarConfigurationService, UseLogg
     */
    protected function sendBackgroundTask(string $task, array $params, string $key): void
    {
        try {
            $this->getLoggerService()->debug(" > gearman : $task($key) " . json_encode($params));
            $this->getGearmanClient()->doBackground($task, json_encode($params), $key);
        } catch (\Exception $e){
            throw new \Exception(sprintf("Impossible de programmer une task gearman (%s)", $e->getMessage()));
        }
    }

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+32 −11
Original line number Diff line number Diff line
@@ -636,7 +636,9 @@ class NotificationService implements UseServiceContainer
            //ActivityDate = Jalon donc Milestone (ancienne nomenclature, terminologie métier)
            $idActivityDate = $contextNotification[1];
            try {
                $activityDate = $this->getEntityManager()->getRepository(ActivityDate::class)->findOneBy(["id"=>$idActivityDate]);
                $activityDate = $this->getEntityManager()->getRepository(ActivityDate::class)->findOneBy(
                    ["id" => $idActivityDate]
                );
            } catch (\Exception $e) {
                die("idActivityDate : $idActivityDate --- " . $na->getContext());
            }
@@ -719,6 +721,25 @@ class NotificationService implements UseServiceContainer
        $this->getEntityManager()->flush();
    }

    public function deleteNotificationActivityById(int $idActivity): void
    {
        try {
            $activity = $this->getPersonService()->getProjectGrantService()->getActivityById($idActivity);
        } catch (\Exception $exception) {
            throw new OscarException($exception->getMessage());
        }
        $this->deleteNotificationActivity($activity);
    }

    public function deleteNotificationActivity(Activity $activity): void
    {
        $notifications = $this->getNotificationRepository()->getNotificationsActivity($activity->getId());
        foreach ($notifications as $notification) {
            $this->getEntityManager()->remove($notification);
        }
        $this->getEntityManager()->flush();
    }


    /**
     * Marque les notifications comme lues
+0 −7
Original line number Diff line number Diff line
@@ -2515,13 +2515,6 @@ class ProjectGrantService implements UseGearmanJobLauncherService, UseOscarConfi
    }


    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Affectation ORGANISATION <> ACTIVITÉ

    public function deleteActivityPerson(ActivityPerson $activityPerson)
    {
    }

    public function organizationActivityEdit(
        ActivityOrganization $activityorganization,
        OrganizationRole $roleOrganization,