Loading data/sql/schema_oracle.sql +1 −1 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ CREATE TABLE UNICAEN_PRIVILEGE ( LIBELLE VARCHAR2(200 CHAR) NOT NULL, ORDRE INT DEFAULT 0, CONSTRAINT PK_UNICAEN_PRIVILEGE PRIMARY KEY (ID), CONSTRAINT UN_UNICAEN_PRIVILEGE_CODE UNIQUE (CODE), CONSTRAINT UN_UNICAEN_PRIVILEGE_CODE UNIQUE (CATEGORIE_ID, CODE), CONSTRAINT FK_UNICAEN_PRIVILEGE_CATEGORIE FOREIGN KEY (CATEGORIE_ID) REFERENCES UNICAEN_PRIVILEGE_CATEGORIE (ID) DEFERRABLE INITIALLY IMMEDIATE ); Loading data/sql/schema_postgresql.sql +1 −1 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ CREATE TABLE UNICAEN_PRIVILEGE ( CONSTRAINT FK_UNICAEN_PRIVILEGE_CATEGORIE FOREIGN KEY (CATEGORIE_ID) REFERENCES UNICAEN_PRIVILEGE_CATEGORIE (ID) DEFERRABLE INITIALLY IMMEDIATE ); CREATE UNIQUE INDEX UN_UNICAEN_PRIVILEGE_CODE ON UNICAEN_PRIVILEGE(CODE); CREATE UNIQUE INDEX UN_UNICAEN_PRIVILEGE_CODE ON UNICAEN_PRIVILEGE(CATEGORIE_ID, CODE); CREATE INDEX IX_UNICAEN_PRIVILEGE_CATEGORIE ON UNICAEN_PRIVILEGE(CATEGORIE_ID); Loading src/UnicaenPrivilege/Entity/Db/Mapping/UnicaenPrivilege.Entity.Db.Privilege.dcm.xml +1 −1 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ </indexes> <unique-constraints> <unique-constraint name="un_unicaen_privilege_code" columns="CODE"/> <unique-constraint name="un_unicaen_privilege_code" columns="CATEGORIE_ID,CODE"/> </unique-constraints> <id name="id" type="integer" column="ID"> Loading src/UnicaenPrivilege/Service/Categorie/CategorieService.php +6 −86 Original line number Diff line number Diff line Loading @@ -10,63 +10,21 @@ use UnicaenApp\Exception\RuntimeException; use UnicaenApp\Service\EntityManagerAwareTrait; use UnicaenPrivilege\Entity\Db\CategorieInterface; use UnicaenPrivilege\Entity\Db\PrivilegeInterface; use UnicaenPrivilege\Service\CommonService; use Zend\Mvc\Controller\AbstractActionController; class CategorieService class CategorieService extends CommonService { use EntityManagerAwareTrait; /** * @var string */ private $categorieEntityClass; /** * @param string $categorieEntityClass */ public function setCategorieEntityClass($categorieEntityClass) public function setEntityClass($categorieEntityClass) { if (! class_exists($categorieEntityClass) || ! in_array(CategorieInterface::class, class_implements($categorieEntityClass))) { throw new InvalidArgumentException("L'entité associée aux catégories de privilège doit implémenter " . CategorieInterface::class); } $this->categorieEntityClass = $categorieEntityClass; } /** * @return string */ public function getEntityClass() { return $this->categorieEntityClass; } /** * Retourne une nouvelle instance de l'entité courante * * @return CategorieInterface */ public function getEntityInstance() { return new $this->categorieEntityClass; } /** * @return EntityRepository */ public function getRepo() { return $this->getEntityManager()->getRepository($this->categorieEntityClass); } /** * @param $id * * @return null|CategorieInterface */ public function find($id) { return $this->getRepo()->find($id); $this->entityClass = $categorieEntityClass; } /** Loading @@ -93,7 +51,7 @@ class CategorieService /** * @param string $code * @return CategorieInterface * @return CategorieInterface|null */ public function findByCode(string $code) { Loading @@ -102,7 +60,7 @@ class CategorieService /** * @param string $libelle * @return CategorieInterface * @return CategorieInterface|null */ public function findByLibelle(string $libelle) { Loading Loading @@ -179,42 +137,4 @@ class CategorieService return $result; } /** * Retourne une liste d'entités sous forme d'un tableau associatif dont les clés * sont les id des entités et les valeurs correspondent au champ choisi * * @param array $entities liste des entités * @param string $key attribut utilisé comme clé * @param string $value attribut utilisé pour les valeurs * @param string $entityClass classe de l'entité * @return array */ public function getListForSelect($entities, $key = 'id', $value = 'libelle', $entityClass = null) { $entityClass = $entityClass ?: $this->getEntityClass(); foreach ($entities as $entity) { if ($entity instanceof $entityClass && method_exists($entity, $kgetter = 'get' . ucfirst($key)) && method_exists($entity, $vgetter = 'get' . ucfirst($value))) { $result[$entity->$kgetter()] = $entity->$vgetter(); } } return (array)$result; } /** * @return float|int|mixed|string * @throws NonUniqueResultException * @throws \Doctrine\ORM\NoResultException */ public function getMaxOrdre() { $qb = $this->getRepo()->createQueryBuilder('c'); $qb->select($qb->expr()->max('c.ordre')); return $qb->getQuery()->getSingleScalarResult(); } } No newline at end of file src/UnicaenPrivilege/Service/Categorie/CategorieServiceFactory.php +1 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ class CategorieServiceFactory $service = new CategorieService(); $service->setEntityManager($entityManager); $service->setCategorieEntityClass($mapping['targetEntity']); $service->setEntityClass($mapping['targetEntity']); return $service; } Loading Loading
data/sql/schema_oracle.sql +1 −1 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ CREATE TABLE UNICAEN_PRIVILEGE ( LIBELLE VARCHAR2(200 CHAR) NOT NULL, ORDRE INT DEFAULT 0, CONSTRAINT PK_UNICAEN_PRIVILEGE PRIMARY KEY (ID), CONSTRAINT UN_UNICAEN_PRIVILEGE_CODE UNIQUE (CODE), CONSTRAINT UN_UNICAEN_PRIVILEGE_CODE UNIQUE (CATEGORIE_ID, CODE), CONSTRAINT FK_UNICAEN_PRIVILEGE_CATEGORIE FOREIGN KEY (CATEGORIE_ID) REFERENCES UNICAEN_PRIVILEGE_CATEGORIE (ID) DEFERRABLE INITIALLY IMMEDIATE ); Loading
data/sql/schema_postgresql.sql +1 −1 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ CREATE TABLE UNICAEN_PRIVILEGE ( CONSTRAINT FK_UNICAEN_PRIVILEGE_CATEGORIE FOREIGN KEY (CATEGORIE_ID) REFERENCES UNICAEN_PRIVILEGE_CATEGORIE (ID) DEFERRABLE INITIALLY IMMEDIATE ); CREATE UNIQUE INDEX UN_UNICAEN_PRIVILEGE_CODE ON UNICAEN_PRIVILEGE(CODE); CREATE UNIQUE INDEX UN_UNICAEN_PRIVILEGE_CODE ON UNICAEN_PRIVILEGE(CATEGORIE_ID, CODE); CREATE INDEX IX_UNICAEN_PRIVILEGE_CATEGORIE ON UNICAEN_PRIVILEGE(CATEGORIE_ID); Loading
src/UnicaenPrivilege/Entity/Db/Mapping/UnicaenPrivilege.Entity.Db.Privilege.dcm.xml +1 −1 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ </indexes> <unique-constraints> <unique-constraint name="un_unicaen_privilege_code" columns="CODE"/> <unique-constraint name="un_unicaen_privilege_code" columns="CATEGORIE_ID,CODE"/> </unique-constraints> <id name="id" type="integer" column="ID"> Loading
src/UnicaenPrivilege/Service/Categorie/CategorieService.php +6 −86 Original line number Diff line number Diff line Loading @@ -10,63 +10,21 @@ use UnicaenApp\Exception\RuntimeException; use UnicaenApp\Service\EntityManagerAwareTrait; use UnicaenPrivilege\Entity\Db\CategorieInterface; use UnicaenPrivilege\Entity\Db\PrivilegeInterface; use UnicaenPrivilege\Service\CommonService; use Zend\Mvc\Controller\AbstractActionController; class CategorieService class CategorieService extends CommonService { use EntityManagerAwareTrait; /** * @var string */ private $categorieEntityClass; /** * @param string $categorieEntityClass */ public function setCategorieEntityClass($categorieEntityClass) public function setEntityClass($categorieEntityClass) { if (! class_exists($categorieEntityClass) || ! in_array(CategorieInterface::class, class_implements($categorieEntityClass))) { throw new InvalidArgumentException("L'entité associée aux catégories de privilège doit implémenter " . CategorieInterface::class); } $this->categorieEntityClass = $categorieEntityClass; } /** * @return string */ public function getEntityClass() { return $this->categorieEntityClass; } /** * Retourne une nouvelle instance de l'entité courante * * @return CategorieInterface */ public function getEntityInstance() { return new $this->categorieEntityClass; } /** * @return EntityRepository */ public function getRepo() { return $this->getEntityManager()->getRepository($this->categorieEntityClass); } /** * @param $id * * @return null|CategorieInterface */ public function find($id) { return $this->getRepo()->find($id); $this->entityClass = $categorieEntityClass; } /** Loading @@ -93,7 +51,7 @@ class CategorieService /** * @param string $code * @return CategorieInterface * @return CategorieInterface|null */ public function findByCode(string $code) { Loading @@ -102,7 +60,7 @@ class CategorieService /** * @param string $libelle * @return CategorieInterface * @return CategorieInterface|null */ public function findByLibelle(string $libelle) { Loading Loading @@ -179,42 +137,4 @@ class CategorieService return $result; } /** * Retourne une liste d'entités sous forme d'un tableau associatif dont les clés * sont les id des entités et les valeurs correspondent au champ choisi * * @param array $entities liste des entités * @param string $key attribut utilisé comme clé * @param string $value attribut utilisé pour les valeurs * @param string $entityClass classe de l'entité * @return array */ public function getListForSelect($entities, $key = 'id', $value = 'libelle', $entityClass = null) { $entityClass = $entityClass ?: $this->getEntityClass(); foreach ($entities as $entity) { if ($entity instanceof $entityClass && method_exists($entity, $kgetter = 'get' . ucfirst($key)) && method_exists($entity, $vgetter = 'get' . ucfirst($value))) { $result[$entity->$kgetter()] = $entity->$vgetter(); } } return (array)$result; } /** * @return float|int|mixed|string * @throws NonUniqueResultException * @throws \Doctrine\ORM\NoResultException */ public function getMaxOrdre() { $qb = $this->getRepo()->createQueryBuilder('c'); $qb->select($qb->expr()->max('c.ordre')); return $qb->getQuery()->getSingleScalarResult(); } } No newline at end of file
src/UnicaenPrivilege/Service/Categorie/CategorieServiceFactory.php +1 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ class CategorieServiceFactory $service = new CategorieService(); $service->setEntityManager($entityManager); $service->setCategorieEntityClass($mapping['targetEntity']); $service->setEntityClass($mapping['targetEntity']); return $service; } Loading