Commit 52eafec5 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Correction de l'unicité des codes et libelles des privilèges

parent 17fbf823
Loading
Loading
Loading
Loading
Loading

SQL/001_tables.sql

0 → 100644
+44 −0
Original line number Diff line number Diff line
-- categories de privilege
create table unicaen_privilege_categorie
(
    id        serial       not null
        constraint categorie_privilege_pkey primary key,
    code      varchar(150) not null,
    libelle   varchar(200) not null,
    ordre     integer default 0,
    namespace varchar(255)
);

create unique index categorie_privilege_code_uindex on unicaen_privilege_categorie (code);
create unique index categorie_privilege_id_uindex on unicaen_privilege_categorie (id);

--privileges
create table unicaen_privilege_privilege
(
    id           serial       not null
        constraint privilege_pkey primary key,
    categorie_id integer      not null
        constraint privilege_categorie_privilege_id_fk references unicaen_privilege_categorie,
    code         varchar(150) not null,
    libelle      varchar(200) not null,
    ordre        integer default 0
);

create index privilege_categorie_id_index on unicaen_privilege_privilege (categorie_id);
create unique index privilege_id_uindex on unicaen_privilege_privilege (id);
create unique index unicaen_privilege_privilege_code_uindex on unicaen_privilege_privilege (categorie_id, code);

-- linker
create table unicaen_privilege_privilege_role_linker
(
    role_id      integer not null
        constraint unicaen_privilege_privilege_role_linker_role_id_fk
            references unicaen_utilisateur_role
            on delete cascade,
    privilege_id integer not null
        constraint unicaen_privilege_privilege_role_linker_privilege_id_fk
            references unicaen_privilege_privilege
            on delete cascade,
    constraint unicaen_privilege_privilege_role_linker_pk
        primary key (role_id, privilege_id)
);
 No newline at end of file
+2 −0
Original line number Diff line number Diff line
@@ -116,6 +116,7 @@ class ConfigurationController extends AbstractActionController {
        $form = $this->getPrivilegeForm();
        $form->setAttribute('action', $this->url()->fromRoute('configuration-privilege/creer', ['categorie' => $categorie->getId()], [], true));
        $form->bind($privilege);
        $form->setCategorie($categorie);

        /** @var Request $request */
        $request = $this->getRequest();
@@ -142,6 +143,7 @@ class ConfigurationController extends AbstractActionController {
        $form = $this->getPrivilegeForm();
        $form->setAttribute('action', $this->url()->fromRoute('configuration-privilege/modifier', ['privilege' => $privilege->getId()], [], true));
        $form->bind($privilege);
        $form->setCategorie($privilege->getCategorie());
        $form->setOldLibelle($privilege->getLibelle());
        $form->setOldCode($privilege->getCode());

+1 −1
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@
    </many-to-one>

    <many-to-many field="role" target-entity="UnicaenUtilisateur\Entity\Db\Role" inversed-by="privilege" fetch="LAZY">
      <join-table name="unicaen_utilisateur_privilege_linker">
      <join-table name="unicaen_privilege_privilege_role_linker">
        <join-columns>
          <join-column name="privilege_id" referenced-column-name="id"/>
        </join-columns>
+0 −57
Original line number Diff line number Diff line
-------------------------------------------------------------------------------
-- PRIVILEGES - ----------------------------------------------------------------
-------------------------------------------------------------------------------

-- Table listant les catégories de privilèges
create table categorie_privilege
(
	id serial not null
		constraint categorie_privilege_pk
			primary key,
	code varchar(150) not null,
	libelle varchar(200) not null,
	ordre integer default 0
);

alter table categorie_privilege owner to ad_gaethan;

create unique index categorie_privilege_id_uindex
	on categorie_privilege (id);

-- Table listant les privilèges
create table privilege
(
	id serial not null
		constraint privilege_pk
			primary key,
	categorie_id integer not null
		constraint privilege_categorie_privilege_id_fk
			references categorie_privilege,
	code varchar(150),
	libelle varchar(200) not null,
	ordre integer default 0
);

alter table privilege owner to ad_gaethan;

create unique index privilege_id_uindex
	on privilege (id);

-- Table d'association entre les rôles et les privilèges
create table role_privilege
(
	role_id integer not null
		constraint role_privilege_user_role_id_fk
			references user_role
			on delete cascade,
	privilege_id integer not null
		constraint role_privilege_privilege_id_fk
			references privilege
			on delete cascade,
	constraint role_privilege_pk
		primary key (role_id, privilege_id)
);

alter table role_privilege owner to ad_gaethan;

Loading