Commit 0caf91b6 authored by tguillon's avatar tguillon

Ajout : mise en place de nouveau droit

Modification : si l'on change le DPO il est necessaire de choisir un nouveau profil pour l'ancien DPO
parent 91346357
......@@ -24,7 +24,9 @@ INSERT INTO liste_droits (libelle, value, created, modified) VALUES
('Abroger une norme', 22, NOW(), NOW()),
('Gestion des sous-traitants', 23, NOW(), NOW()),
('Gestion des co-responsables', 24, NOW(), NOW()),
('Gestion de la maitenance', 25, NOW(), NOW());
('Gestion de la maitenance', 25, NOW(), NOW()),
('Gestion des modèles', 26, NOW(), NOW()),
('Gestion des formulaires', 27, NOW(), NOW());
-- On crée un nouveau role "DPO" pour les organisations qui ne l'on pas
INSERT INTO roles(organisation_id, libelle, created, modified)
......
......@@ -38,7 +38,7 @@ class FormulairesController extends AppController {
* @version V1.0.0
*/
public function index() {
if (true !== $this->Droits->authorized([ListeDroit::CREER_UTILISATEUR, ListeDroit::MODIFIER_UTILISATEUR, ListeDroit::SUPPRIMER_UTILISATEUR, ListeDroit::CREER_ORGANISATION, ListeDroit::MODIFIER_ORGANISATION, ListeDroit::CREER_PROFIL, ListeDroit::MODIFIER_PROFIL, ListeDroit::SUPPRIMER_PROFIL])) {
if (true !== $this->Droits->authorized([ListeDroit::GESTION_FORMULAIRE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
......@@ -94,6 +94,10 @@ class FormulairesController extends AppController {
* @version V1.0.0
*/
public function dupliquer() {
if (true !== $this->Droits->authorized([ListeDroit::GESTION_FORMULAIRE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
if ($this->request->is('post') || $this->request->is('put')) {
$success = true;
$this->Formulaire->begin();
......@@ -174,6 +178,10 @@ class FormulairesController extends AppController {
* @author Théo GUILLON <theo.guillon@libriciel.coop>
*/
public function dupliquerOrganisation() {
if (true !== $this->Droits->authorized([ListeDroit::GESTION_FORMULAIRE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
if ($this->request->is('post') || $this->request->is('put')) {
$success = true;
$this->Formulaire->begin();
......@@ -244,6 +252,10 @@ class FormulairesController extends AppController {
* @version V1.0.0
*/
public function delete($id) {
if (true !== $this->Droits->authorized([ListeDroit::GESTION_FORMULAIRE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
if ($id != null) {
$success = true;
$this->Formulaire->begin();
......@@ -269,6 +281,10 @@ class FormulairesController extends AppController {
* @version V1.0.0
*/
public function addFirst() {
if (true !== $this->Droits->authorized([ListeDroit::GESTION_FORMULAIRE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
if ($this->request->is('POST')) {
$success = true;
$this->Formulaire->begin();
......@@ -309,6 +325,10 @@ class FormulairesController extends AppController {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
if (true !== $this->Droits->authorized([ListeDroit::GESTION_FORMULAIRE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
if ($this->request->is('POST')) {
$success = true;
$this->Formulaire->begin();
......@@ -429,6 +449,10 @@ class FormulairesController extends AppController {
* @version V1.0.0
*/
public function toggle($id, $state = null) {
if (true !== $this->Droits->authorized([ListeDroit::GESTION_FORMULAIRE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
$success = true;
$this->Formulaire->begin();
......@@ -460,6 +484,10 @@ class FormulairesController extends AppController {
* @version V1.0.0
*/
public function edit($id = null) {
if (true !== $this->Droits->authorized([ListeDroit::GESTION_FORMULAIRE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
if ($this->request->is('post') || $this->request->is('put')) {
$success = true;
$this->Formulaire->begin();
......@@ -599,6 +627,10 @@ class FormulairesController extends AppController {
* @access public
*/
public function show($id) {
if (true !== $this->Droits->authorized([ListeDroit::GESTION_FORMULAIRE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
if ($id != null) {
$formulaire = $this->Formulaire->find('first', [
'conditions' => [
......
......@@ -36,7 +36,7 @@ class ModeleExtraitRegistresController extends AppController {
* @version V1.0.0
*/
public function add() {
if (true !== $this->Droits->authorized([ListeDroit::CREER_UTILISATEUR, ListeDroit::MODIFIER_UTILISATEUR, ListeDroit::SUPPRIMER_UTILISATEUR, ListeDroit::CREER_ORGANISATION, ListeDroit::MODIFIER_ORGANISATION, ListeDroit::CREER_PROFIL, ListeDroit::MODIFIER_PROFIL, ListeDroit::SUPPRIMER_PROFIL])) {
if (true !== $this->Droits->authorized([ListeDroit::GESTION_MODELE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
......@@ -71,6 +71,10 @@ class ModeleExtraitRegistresController extends AppController {
* @version V1.0.0
*/
public function download($file, $nameFile) {
if (true !== $this->Droits->authorized([ListeDroit::GESTION_MODELE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
$this->response->file(CHEMIN_MODELES_EXTRAIT . $file, [
'download' => true,
'name' => $nameFile
......@@ -87,6 +91,10 @@ class ModeleExtraitRegistresController extends AppController {
* qui est enregistré dans app/webroot/files/models
*/
public function delete($file) {
if (true !== $this->Droits->authorized([ListeDroit::GESTION_MODELE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
$modeles = $this->ModeleExtraitRegistre->find('all', [
'conditions' => [
'fichier' => $file
......@@ -111,10 +119,10 @@ class ModeleExtraitRegistresController extends AppController {
}
public function index() {
if (true !== $this->Droits->authorized([ListeDroit::CREER_UTILISATEUR, ListeDroit::MODIFIER_UTILISATEUR, ListeDroit::SUPPRIMER_UTILISATEUR, ListeDroit::CREER_ORGANISATION, ListeDroit::MODIFIER_ORGANISATION, ListeDroit::CREER_PROFIL, ListeDroit::MODIFIER_PROFIL, ListeDroit::SUPPRIMER_PROFIL])) {
if (true !== $this->Droits->authorized([ListeDroit::GESTION_MODELE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
// Superadmin non autorisé
if ($this->Droits->isSu() == true) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
......
......@@ -36,7 +36,7 @@ class ModelePresentationsController extends AppController {
* @version V1.0.0
*/
public function add() {
if (true !== $this->Droits->authorized([ListeDroit::CREER_UTILISATEUR, ListeDroit::MODIFIER_UTILISATEUR, ListeDroit::SUPPRIMER_UTILISATEUR, ListeDroit::CREER_ORGANISATION, ListeDroit::MODIFIER_ORGANISATION, ListeDroit::CREER_PROFIL, ListeDroit::MODIFIER_PROFIL, ListeDroit::SUPPRIMER_PROFIL])) {
if (true !== $this->Droits->authorized([ListeDroit::GESTION_MODELE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
......@@ -71,6 +71,10 @@ class ModelePresentationsController extends AppController {
* @version V1.0.0
*/
public function download($file, $nameFile) {
if (true !== $this->Droits->authorized([ListeDroit::GESTION_MODELE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
$this->response->file(CHEMIN_MODELES_PRESENTATIONS . $file, [
'download' => true,
'name' => $nameFile
......@@ -87,6 +91,10 @@ class ModelePresentationsController extends AppController {
* qui est enregistré dans app/webroot/files/models
*/
public function delete($file) {
if (true !== $this->Droits->authorized([ListeDroit::GESTION_MODELE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
$modeles = $this->ModelePresentation->find('all', [
'conditions' => [
'fichier' => $file
......@@ -111,7 +119,7 @@ class ModelePresentationsController extends AppController {
}
public function index() {
if (true !== $this->Droits->authorized([ListeDroit::CREER_UTILISATEUR, ListeDroit::MODIFIER_UTILISATEUR, ListeDroit::SUPPRIMER_UTILISATEUR, ListeDroit::CREER_ORGANISATION, ListeDroit::MODIFIER_ORGANISATION, ListeDroit::CREER_PROFIL, ListeDroit::MODIFIER_PROFIL, ListeDroit::SUPPRIMER_PROFIL])) {
if (true !== $this->Droits->authorized([ListeDroit::GESTION_MODELE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
......@@ -149,6 +157,10 @@ class ModelePresentationsController extends AppController {
*/
public function infoVariable()
{
if (true !== $this->Droits->authorized([ListeDroit::GESTION_MODELE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
if ($this->Session->read('Organisation.dpo') === null) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
......
......@@ -41,11 +41,12 @@ class ModelesController extends AppController {
* @created 18/06/2015
* @version V1.0.0
*/
public function index() {
if (true !== $this->Droits->authorized([ListeDroit::CREER_UTILISATEUR, ListeDroit::MODIFIER_UTILISATEUR, ListeDroit::SUPPRIMER_UTILISATEUR, ListeDroit::CREER_ORGANISATION, ListeDroit::MODIFIER_ORGANISATION, ListeDroit::CREER_PROFIL, ListeDroit::MODIFIER_PROFIL, ListeDroit::SUPPRIMER_PROFIL])) {
public function index()
{
if (true !== $this->Droits->authorized([ListeDroit::GESTION_MODELE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
// Superadmin non autorisé
if (true == ($this->Droits->authorized($this->Droits->isSu()))) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
......@@ -85,8 +86,9 @@ class ModelesController extends AppController {
* @created 18/06/2015
* @version V1.0.0
*/
public function add() {
if (true !== $this->Droits->authorized([ListeDroit::CREER_UTILISATEUR, ListeDroit::MODIFIER_UTILISATEUR, ListeDroit::SUPPRIMER_UTILISATEUR, ListeDroit::CREER_ORGANISATION, ListeDroit::MODIFIER_ORGANISATION, ListeDroit::CREER_PROFIL, ListeDroit::MODIFIER_PROFIL, ListeDroit::SUPPRIMER_PROFIL])) {
public function add()
{
if (true !== $this->Droits->authorized([ListeDroit::GESTION_MODELE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
......@@ -118,7 +120,12 @@ class ModelesController extends AppController {
* @created 18/06/2015
* @version V1.0.0
*/
public function download($file, $nameFile) {
public function download($file, $nameFile)
{
if (true !== $this->Droits->authorized([ListeDroit::GESTION_MODELE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
$this->response->file(CHEMIN_MODELES . $file, [
'download' => true,
'name' => $nameFile
......@@ -134,7 +141,12 @@ class ModelesController extends AppController {
* @param type $file --> c'est le nom du model (en générale 15614325.odt)
* qui est enregistré dans app/webroot/files/models
*/
public function delete($file) {
public function delete($file)
{
if (true !== $this->Droits->authorized([ListeDroit::GESTION_MODELE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
$modeles = $this->Modele->find('all', [
'conditions' => [
'fichier' => $file
......@@ -164,7 +176,12 @@ class ModelesController extends AppController {
* @created 26/04/2016
* @version V1.0.2
*/
public function infoVariable($idFormulaire = null) {
public function infoVariable($idFormulaire = null)
{
if (true !== $this->Droits->authorized([ListeDroit::GESTION_MODELE])) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
if ($this->Session->read('Organisation.dpo') === null) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
......
......@@ -303,6 +303,15 @@ class OrganisationsController extends AppController
$this->redirect($this->Referers->get());
}
$dpoIdNow = $this->Organisation->find('first', [
'conditions' => [
'Organisation.id' => $id
],
'fields' => [
'dpo'
]
]);
$success = true;
$this->Organisation->begin();
......@@ -315,8 +324,14 @@ class OrganisationsController extends AppController
$success = false !== $this->Organisation->saveAddEditForm($data) && $success;
//$success = false !== $this->Organisation->save($this->request->data, $id) && $success;
if (false === empty($this->request->data('Organisation.dpo'))) {
$success = $this->_attributionRoleDPO($this->request->data('Organisation.dpo'), $id) && $success;
if (false === empty($data['Organisation']['dpo'])) {
$newRoleOldDPO = null;
if (!empty($dpoIdNow['Organisation']['dpo']) && $dpoIdNow['Organisation']['dpo'] != $data['Organisation']['dpo']) {
$newRoleOldDPO = $data['Organisation']['newRoleOldDPO'];
}
$success = $this->_attributionRoleDPO($this->request->data('Organisation.dpo'), $id, $newRoleOldDPO) && $success;
}
if ($success == true) {
......@@ -393,7 +408,18 @@ class OrganisationsController extends AppController
$array_users = null;
}
$this->set(compact('organisation', 'options', 'array_users'));
$roles = $this->Role->find('list', [
'conditions' => [
'organisation_id' => $id,
'libelle !=' => 'DPO'
],
'fields' => [
'id',
'libelle'
]
]);
$this->set(compact('organisation', 'options', 'array_users', 'roles'));
}
/**
......@@ -401,10 +427,10 @@ class OrganisationsController extends AppController
* @param $idOrganisation
* @return bool
*/
private function _attributionRoleDPO($idDPO, $idOrganisation)
private function _attributionRoleDPO($idDPO, $idOrganisation, $newRoleForOldDPO = null)
{
$success = true;
$droitsDPO = ListeDroit::LISTE_DROITS_DPO;
$droitsDPO = ListeDroit::LISTE_DROITS_DPO_MINIMUM;
$exists = [];
foreach ($droitsDPO as $value) {
......@@ -444,87 +470,92 @@ class OrganisationsController extends AppController
]
]);
// if ($organisationUserNewDPO_id['OrganisationUser']['id'] != $organisationUserOldDPO_id['OrganisationUser']['id']) {
if (!empty($organisationUserOldDPO_id['OrganisationUser']['id'])) {
// On supprime tout les droits de l'ancien DPO
$success = $this->Droit->deleteAll([
'organisation_user_id' => $organisationUserOldDPO_id['OrganisationUser']['id']
]);
if ($success == true) {
$droitsAdminsitrateur = ListeDroit::LISTE_DROITS_ADMINISTRATEUR;
$existsAdministrateur = [];
// On lui attribue de nouveau droits 'administrateur'
foreach ($droitsAdminsitrateur as $droitAdminsitrateur) {
$this->Droit->create([
'Droit' => [
'organisation_user_id' => $organisationUserOldDPO_id['OrganisationUser']['id'],
'liste_droit_id' => $droitAdminsitrateur
]
]);
$success = $success && false !== $this->Droit->save();
$existsAdministrateur[] = sprintf('EXISTS(SELECT * FROM role_droits INNER JOIN liste_droits ON ( role_droits.liste_droit_id = liste_droits.id ) WHERE liste_droits.value = %d AND role_droits.role_id = Role.id)', $droitAdminsitrateur);
}
$roleAdministrateur_id = $this->Role->find('first', [
'fields' => [
'Role.id'
],
'conditions' => [
'Role.organisation_id' => $idOrganisation,
$existsAdministrateur
]
]);
// Ancien DPO
if (!empty($organisationUserOldDPO_id['OrganisationUser']['id']) && !empty($newRoleForOldDPO)) {
// On supprime tout les droits de l'ancien DPO
$success = $this->Droit->deleteAll([
'organisation_user_id' => $organisationUserOldDPO_id['OrganisationUser']['id']
]);
// On supprime l'ancien role du nouveau DPO
$success = $success && $this->OrganisationUserRoles->deleteAll([
'organisation_user_id' => $organisationUserOldDPO_id['OrganisationUser']['id']
]);
if ($success == true) {
// Liste des droits du profils selectionner pour l'ancien DPO
$query = [
'conditions' => [
'RoleDroit.role_id' => $newRoleForOldDPO
]
];
$listeDroitsProfil = $this->RoleDroit->find('all', $query);
// On lui attribut un nouveau role "Administrateur' a l'ancien DPO
$this->OrganisationUserRoles->create([
'OrganisationUserRoles' => [
// On attribue les droits du profils selectionné pour l'ancien DPO
foreach ($listeDroitsProfil as $listeDroitProfil) {
$this->Droit->create([
'Droit' => [
'organisation_user_id' => $organisationUserOldDPO_id['OrganisationUser']['id'],
'role_id' => $roleAdministrateur_id['Role']['id']
'liste_droit_id' => $listeDroitProfil['RoleDroit']['liste_droit_id']
]
]);
$success = $success && false !== $this->OrganisationUserRoles->save();
$success = $success && false !== $this->Droit->save(null, ['atomic' => false]);
}
}
// }
// On supprime tout les droits du nouveau DPO
$success = $success && $this->Droit->deleteAll([
'organisation_user_id' => $organisationUserNewDPO_id['OrganisationUser']['id']
]);
// On supprime l'ancien role de l'ancien DPO
$success = $success && $this->OrganisationUserRoles->deleteAll([
'organisation_user_id' => $organisationUserOldDPO_id['OrganisationUser']['id']
]);
// On lui attribue de nouveau droits 'DPO'
foreach ($droitsDPO as $droitDPO) {
$this->Droit->create([
'Droit' => [
'organisation_user_id' => $organisationUserNewDPO_id['OrganisationUser']['id'],
'liste_droit_id' => $droitDPO
]
]);
$success = $success && false !== $this->Droit->save();
// On lui attribut un nouveau role selectionné à l'ancien DPO
$this->OrganisationUserRoles->create([
'OrganisationUserRoles' => [
'organisation_user_id' => $organisationUserOldDPO_id['OrganisationUser']['id'],
'role_id' => $newRoleForOldDPO
]
]);
$success = $success && false !== $this->OrganisationUserRoles->save(null, ['atomic' => false]);
}
}
// Nouveau DPO
if ($success == true) {
// On supprime l'ancien role du nouveau DPO
$success = $success && $this->OrganisationUserRoles->deleteAll([
// On supprime tout les droits du nouveau DPO
$success = $success && $this->Droit->deleteAll([
'organisation_user_id' => $organisationUserNewDPO_id['OrganisationUser']['id']
]);
// On lui attribut un nouveau role "DPO'
$this->OrganisationUserRoles->create([
'OrganisationUserRoles' => [
'organisation_user_id' => $organisationUserNewDPO_id['OrganisationUser']['id'],
'role_id' => $roleDPO_id['Role']['id']
// Liste des droits du profils DPO
$query = [
'conditions' => [
'RoleDroit.role_id' => $roleDPO_id['Role']['id']
]
]);
$success = $success && false !== $this->OrganisationUserRoles->save();
];
$listeDroitsDPO = $this->RoleDroit->find('all', $query);
// On attribue les droits du profils DPO au nouveau DPO
foreach($listeDroitsDPO as $droit) {
$record = [
'Droit' => [
'organisation_user_id' => $organisationUserNewDPO_id['OrganisationUser']['id'],
'liste_droit_id' => Hash::get($droit, 'RoleDroit.liste_droit_id')
]
];
$this->Droit->create($record);
$success = false !== $this->Droit->save(null, ['atomic' => false]) && $success;
}
if ($success == true) {
// On supprime l'ancien role du nouveau DPO
$success = $success && $this->OrganisationUserRoles->deleteAll([
'organisation_user_id' => $organisationUserNewDPO_id['OrganisationUser']['id']
]);
// On attribue le profil "DPO' au nouceau DPO
$this->OrganisationUserRoles->create([
'OrganisationUserRoles' => [
'organisation_user_id' => $organisationUserNewDPO_id['OrganisationUser']['id'],
'role_id' => $roleDPO_id['Role']['id']
]
]);
$success = $success && false !== $this->OrganisationUserRoles->save(null, ['atomic' => false]);
}
}
return $success;
......
......@@ -49,13 +49,15 @@ class ListeDroit extends AppModel {
const VISUALISER_NORME = 20; // Créer une norme
const MODIFIER_NORME = 21; // Modifier une norme
const ABROGER_NORME = 22; // Abroger une norme
const GESTION_SOUSTRAITANT = 23; // Abroger une norme
const GESTION_CORESPONSABLE = 24; // Abroger une norme
const GESTION_MAINTENACE = 25; // Abroger une norme
//const CREER_ARTICLE_FAQ = 23; // Créer un article dans la FAQ
//const MODIFIER_ARTICLE_FAQ = 24; // Modifier un article dans la FAQ
//const CONSULTER_ARTICLE_FAQ = 25; // Consulter un article dans la FAQ
//const SUPPRIMER_ARTICLE_FAQ = 26; // Supprimer un article dans la FAQ
const GESTION_SOUSTRAITANT = 23; // Gestion des soustraitants
const GESTION_CORESPONSABLE = 24; // Gestion des co-responsables
const GESTION_MAINTENACE = 25; // Gestion des connecteurs
const GESTION_MODELE = 26; // Gestion des modèles
const GESTION_FORMULAIRE = 27; // Gestion des formulaires
//const CREER_ARTICLE_FAQ = 28; // Créer un article dans la FAQ
//const MODIFIER_ARTICLE_FAQ = 29; // Modifier un article dans la FAQ
//const CONSULTER_ARTICLE_FAQ = 30; // Consulter un article dans la FAQ
//const SUPPRIMER_ARTICLE_FAQ = 31; // Supprimer un article dans la FAQ
const LISTE_DROITS_ADMINISTRATEUR = [
ListeDroit::REDIGER_TRAITEMENT,
......@@ -79,6 +81,8 @@ class ListeDroit extends AppModel {
ListeDroit::GESTION_SOUSTRAITANT,
ListeDroit::GESTION_CORESPONSABLE,
ListeDroit::GESTION_MAINTENACE,
ListeDroit::GESTION_MODELE,
ListeDroit::GESTION_FORMULAIRE,
// ListeDroit::CREER_ARTICLE_FAQ,
// ListeDroit::MODIFIER_ARTICLE_FAQ,
// ListeDroit::CONSULTER_ARTICLE_FAQ,
......@@ -132,6 +136,8 @@ class ListeDroit extends AppModel {
ListeDroit::GESTION_SOUSTRAITANT,
ListeDroit::GESTION_CORESPONSABLE,
ListeDroit::GESTION_MAINTENACE,
ListeDroit::GESTION_MODELE,
ListeDroit::GESTION_FORMULAIRE,
// ListeDroit::CREER_ARTICLE_FAQ,
// ListeDroit::MODIFIER_ARTICLE_FAQ,
// ListeDroit::CONSULTER_ARTICLE_FAQ,
......@@ -150,6 +156,8 @@ class ListeDroit extends AppModel {
ListeDroit::CREER_NORME,
ListeDroit::MODIFIER_NORME,
ListeDroit::ABROGER_NORME,
ListeDroit::GESTION_MODELE,
ListeDroit::GESTION_FORMULAIRE,
// ListeDroit::CREER_ARTICLE_FAQ,
// ListeDroit::MODIFIER_ARTICLE_FAQ,
// ListeDroit::CONSULTER_ARTICLE_FAQ,
......
......@@ -63,6 +63,8 @@
echo $this->fetch('script');
require_once APP . 'View' . DS . 'Pannel' . DS . 'notification.ctp';
// debug($this->Session->read('Droit.liste'));die;
?>
</head>
......@@ -187,7 +189,7 @@
]
],
__d('default', 'default.titreAdministration') => [
'disabled' => !(!$this->Session->read('Su') && $this->Autorisation->authorized(['5', '8', '9', '10', '12', '13', '14', '15', '16', '17', '18', '19', '21', '22', '23', '24', '25'], $this->Session->read('Droit.liste'))),
'disabled' => !(!$this->Session->read('Su') && $this->Autorisation->authorized(['8', '9', '10', '12', '13', '14', '15', '16', '17', '18', '19', '21', '22', '23', '24', '25', '26', '27'], $this->Session->read('Droit.liste'))),
__d('default', 'default.titreGenerale') => [
'disabled' => !($this->Autorisation->authorized(['12'], $this->Session->read('Droit.liste'))),
__d('default', 'default.sousTitreGeneraleEntite') => [
......@@ -206,8 +208,8 @@
]
]
],
__d('default', 'default.sousTitreFormulaire') => [
'disabled' => !(!$this->Session->read('Su') && $this->Autorisation->authorized(['5', '12'], $this->Session->read('Droit.liste'))),
__d('default', 'default.sousTitreFormulaire') => [
'disabled' => !(!$this->Session->read('Su') && $this->Autorisation->authorized(['27'], $this->Session->read('Droit.liste'))),
__d('default', 'default.sousTitreMesFormulaire') => [
'class' => 'fa-file-text-o',
'url' => [
......@@ -217,7 +219,7 @@
]
],
__d('default', 'default.titreModeles') => [
'disabled' => !(!$this->Session->read('Su') && $this->Autorisation->authorized(['5', '12'], $this->Session->read('Droit.liste'))),
'disabled' => !(!$this->Session->read('Su') && $this->Autorisation->authorized(['26'], $this->Session->read('Droit.liste'))),
__d('default', 'default.sousTitreModeleFormulaire') => [
'class' => 'icon-icone_modele_black',
'url' => [
......@@ -933,7 +935,7 @@
echo " / révision " . $revision;
}
}
?> <a href="https://www.libriciel.fr/" target="_blank"> <?php echo "/ &copy; Libriciel SCOP 2006-2018 " ?> </a>
?> <a href="https://www.libriciel.fr/" target="_blank"> <?php echo "/ &copy; Libriciel SCOP 2006-2019" ?> </a>
</div>
</div>
</div>
......
......@@ -246,6 +246,34 @@
]);
?>
</div>
<?php
// Menu déroulant droit
echo $this->WebcilForm->input('newRoleOldDPO', [
'id' => 'newRoleOldDPO',