Commit aa98e30b authored by Jean-Baptiste Oellers's avatar Jean-Baptiste Oellers
Browse files

Ajout recherche de la personne en BDD et erreur si introuvable

parent 5ae6d69a
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -2,15 +2,24 @@

namespace Oscar\Service;

use Oscar\Entity\Person;
use Oscar\Exception\OscarException;
use Oscar\Provider\Privileges;
use Oscar\Traits\UseEntityManager;
use Oscar\Traits\UseEntityManagerTrait;
use Oscar\Traits\UseOscarUserContextService;
use Oscar\Traits\UseOscarUserContextServiceTrait;

class PersonDeleteService implements UseOscarUserContextService
class PersonDeleteService implements UseOscarUserContextService, UseEntityManager
{
    use UseOscarUserContextServiceTrait;
    use UseOscarUserContextServiceTrait, UseEntityManagerTrait;

    function delete() {
    function delete(int $person_id) {
        $this->getOscarUserContextService()->check(Privileges::PERSON_EDIT);

        $person = $this->getEntityManager()->getRepository(Person::class)->find($person_id);
        if ($person === NULL) {
            throw new OscarException("La personne avec l'identifiant $person_id n'est pas présente dans la base de données.");
        }
    }
}
+2 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@

namespace Oscar\Service;

use Doctrine\ORM\EntityManager;
use Interop\Container\ContainerInterface;
use Laminas\ServiceManager\Factory\FactoryInterface;

@@ -11,6 +12,7 @@ class PersonDeleteServiceFactory implements FactoryInterface
    {
        $s = new PersonDeleteService();
        $s->setOscarUserContextService($container->get(OscarUserContext::class));
        $s->setEntityManager($container->get(EntityManager::class));
        return $s;
    }
}