From 818eb8628b5513b115556cba94fe3ca3d45c1bf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20L=C3=A9cluse?= <laurent.lecluse@unicaen.fr> Date: Fri, 29 Nov 2019 15:13:32 +0100 Subject: [PATCH] =?UTF-8?q?Nouveau=20champ=20pour=20savoir=20s'il=20faut?= =?UTF-8?q?=20rendre=20le=20r=C3=B4le=20accessible=20ou=20non=20de=20l'ext?= =?UTF-8?q?=C3=A9rieur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/schema.sqlite.sql | 1 + data/schema_mysql.sql | 1 + data/schema_oracle.sql | 3 +- data/schema_postgresql.sql | 1 + src/UnicaenAuth/Entity/Db/AbstractRole.php | 32 ++++++++++++++++++++++ 5 files changed, 37 insertions(+), 1 deletion(-) diff --git a/data/schema.sqlite.sql b/data/schema.sqlite.sql index 0b95d01..d903a9e 100644 --- a/data/schema.sqlite.sql +++ b/data/schema.sqlite.sql @@ -18,6 +18,7 @@ CREATE TABLE IF NOT EXISTS user_role ( is_default TINYINT(1) NOT NULL DEFAULT 0, parent_id INTEGER NULL DEFAULT NULL, ldap_filter varchar(255) DEFAULT NULL, + accessible_exterieur TINYINT(1) NOT NULL DEFAULT 1, FOREIGN KEY (parent_id) REFERENCES user_role (id) ON DELETE SET NULL ); diff --git a/data/schema_mysql.sql b/data/schema_mysql.sql index c75b45c..e4f0890 100644 --- a/data/schema_mysql.sql +++ b/data/schema_mysql.sql @@ -20,6 +20,7 @@ CREATE TABLE IF NOT EXISTS user_role ( is_default TINYINT(1) NOT NULL DEFAULT 0, parent_id INT(11) NULL DEFAULT NULL, ldap_filter varchar(255) CHARACTER SET utf8 DEFAULT NULL, + accessible_exterieur TINYINT(1) NOT NULL DEFAULT 1, PRIMARY KEY (id), UNIQUE INDEX unique_role (role_id ASC), INDEX idx_parent_id (parent_id ASC), diff --git a/data/schema_oracle.sql b/data/schema_oracle.sql index 0d3b7ad..c1ff9a3 100644 --- a/data/schema_oracle.sql +++ b/data/schema_oracle.sql @@ -18,9 +18,10 @@ create unique index USER_PASSWORD_RESET_TOKEN_UN on "USER" (PASSWORD_RESET_TOKEN CREATE TABLE USER_ROLE ( "ID" NUMBER(*,0) NOT NULL ENABLE, "ROLE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, - "IS_DEFAULT" NUMBER(38,0) NOT NULL ENABLE, + "IS_DEFAULT" NUMBER(1) NOT NULL ENABLE, "PARENT_ID" NUMBER(*,0), "LDAP_FILTER" VARCHAR2(255) DEFAULT NULL, + "ACCESSIBLE_EXTERIEUR" NUMBER(1) DEFAULT 1 NOT NULL ENABLE, CONSTRAINT "USER_ROLE_PK" PRIMARY KEY ("ID"), CONSTRAINT "USER_ROLE_ROLE_UN" UNIQUE ("ROLE_ID"), CONSTRAINT "USER_ROLE_USER_ROLE_FK" FOREIGN KEY ("PARENT_ID") REFERENCES USER_ROLE ("ID") ENABLE diff --git a/data/schema_postgresql.sql b/data/schema_postgresql.sql index dbe59dc..8e88b34 100644 --- a/data/schema_postgresql.sql +++ b/data/schema_postgresql.sql @@ -18,6 +18,7 @@ CREATE TABLE user_role ( is_default SMALLINT NOT NULL DEFAULT 0, parent_id BIGINT DEFAULT NULL, ldap_filter varchar(255) DEFAULT NULL, + accessible_exterieur SMALLINT NOT NULL DEFAULT 1, FOREIGN KEY (parent_id) REFERENCES user_role (id) ON DELETE SET NULL ); CREATE UNIQUE INDEX user_role_roleid_unique ON user_role (role_id); diff --git a/src/UnicaenAuth/Entity/Db/AbstractRole.php b/src/UnicaenAuth/Entity/Db/AbstractRole.php index 55f838a..1df2dba 100644 --- a/src/UnicaenAuth/Entity/Db/AbstractRole.php +++ b/src/UnicaenAuth/Entity/Db/AbstractRole.php @@ -44,6 +44,12 @@ abstract class AbstractRole implements RoleInterface */ protected $ldapFilter; + /** + * @var boolean + * @ORM\Column(name="accessible_exterieur", type="boolean", nullable=false) + */ + protected $accessibleExterieur = true; + /** * @var \Doctrine\Common\Collections\Collection * @ORM\ManyToMany(targetEntity="UnicaenAuth\Entity\Db\User") @@ -178,6 +184,32 @@ abstract class AbstractRole implements RoleInterface return $this; } + + + /** + * @return bool + */ + public function getAccessibleExterieur(): bool + { + return $this->accessibleExterieur; + } + + + + /** + * @param bool $accessibleExterieur + * + * @return self + */ + public function setAccessibleExterieur($accessibleExterieur): self + { + $this->accessibleExterieur = (bool)$accessibleExterieur; + + return $this; + } + + + /** * Get users. * -- GitLab