Commit 86fb9337 authored by tguillon's avatar tguillon
Browse files

Modification des écrans superadmin pour l'administration de l'entité et

l'administration de l'application
parent 2a6cfbfd
......@@ -515,13 +515,24 @@ class OrganisationsController extends AppController {
* @version V1.0.0
*/
public function change($id = null, $redirect = 0, $controller = null, $action = null) {
if ($id === 'null' ) {
$id = trim((string)Hash::get($this->request->data, 'Pannel.organisationcible'));
$id = $id === '' ? null : $id;
}
if ($id == null) {
$idArray = $this->OrganisationUser->find('first', ['conditions' => ['OrganisationUser.user_id' => $this->Auth->user('id')]]);
$idArray = $this->OrganisationUser->find('first', [
'conditions' => [
'OrganisationUser.user_id' => $this->Auth->user('id')
]
]);
if (!empty($idArray)) {
$id = $idArray['OrganisationUser']['organisation_id'];
} else {
if ($this->Droits->isSu()) {
$compte = $this->Organisation->find('count');
if ($compte == 0) {
$this->Session->setFlash(__d('organisation', 'organisation.flashwarningAucuneEntite'), 'flashwarning');
$this->redirect([
......@@ -541,7 +552,12 @@ class OrganisationsController extends AppController {
}
}
}
$change = $this->Organisation->find('first', ['conditions' => ['Organisation.id' => $id]]);
$change = $this->Organisation->find('first', [
'conditions' => [
'Organisation.id' => $id
]
]);
$this->Session->write('Organisation', $change['Organisation']);
$test = $this->Droit->find('all', [
......@@ -558,16 +574,24 @@ class OrganisationsController extends AppController {
]
]
]);
$result = [];
foreach ($test as $value) {
array_push($result, $value['ListeDroit']['value']);
}
if (empty($result) && !$this->Droits->isSu()) {
$this->Session->setFlash(__d('organisation', 'organisation.flasherrorAucunDroitEntite'), 'flasherror');
$this->redirect([
'controller' => 'pannel',
'action' => 'index'
]);
} elseif ($this->Droits->isSu() === true && $redirect == 0) {
$this->Session->write('Droit.liste', $result);
$this->redirect([
'controller' => 'pannel',
'action' => 'superadmin'
]);
} else {
if ($redirect != 1) {
$this->Session->write('Droit.liste', $result);
......@@ -577,6 +601,7 @@ class OrganisationsController extends AppController {
]);
} else {
$this->Session->write('Droit.liste', $result);
if ($controller != null && $action != null) {
$this->redirect([
'controller' => $controller,
......@@ -843,5 +868,16 @@ class OrganisationsController extends AppController {
// }
// debug($exemples);
}
/**
*
* @param type $id
*/
public function administrer() {
if ($this->Droits->isSu() !== true) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
$this->set('title', __d('default', 'default.titreAdministration') . ': ' . $this->Session->read('Organisation.raisonsociale'));
}
}
......@@ -49,6 +49,23 @@ class PannelController extends AppController {
'Banettes'
];
public function superadmin() {
if ($this->Droits->isSu() !== true) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}
$this->set('title', __d('default', 'default.titreAdministrationApplication'));
$organisations = $this->Organisation->find('all', [
'fields' => [
'id',
'raisonsociale'
]
]);
$listeOrganisations = Hash::combine($organisations, '{n}.Organisation.id', '{n}.Organisation.raisonsociale');
$this->set(compact('listeOrganisations'));
}
/**
* Accueil de la page, listing des fiches et de leurs catégories
*
......@@ -58,6 +75,11 @@ class PannelController extends AppController {
*/
public function index() {
$this->Session->delete('Auth.User.uuid');
if ($this->Droits->isSu() === true) {
return $this->superadmin();
}
$banettes = [];
$limit = 5;
......@@ -742,5 +764,5 @@ class PannelController extends AppController {
protected function _enumsNorme() {
return ($this->Norme->enums());
}
}
......@@ -174,6 +174,12 @@ msgstr "Formulaire d'activité"
msgid "default.ongletFormulaireSoustraitance"
msgstr "Formulaire de sous-traitance"
msgid "default.sousTitreGestionTousSousTraitants"
msgstr "Gestion de tous les sous-traitant"
msgid "default.sousTitreGestionTousResponsable"
msgstr "Gestion de tous les responsables"
###############################################################################
......
......@@ -93,6 +93,9 @@ msgstr "Nombre d'utilisateurs"
msgid "organisation.titreTableauActions"
msgstr "Actions"
msgid "organisation.btnAdministrerEntite"
msgstr "Administrer l'entité"
###############################################################################
......
......@@ -242,6 +242,18 @@ msgstr "Replacer le traitement en rédaction dans mon espace de travail"
###############################################################################
######################### View/Pannel/superadmin.ctp ##########################
msgid "pannel.popupAdministrerEntite"
msgstr "Sélectionnez l'entité que vous voulez administrer"
msgid "pannel.champOrganisationcible"
msgstr "Sélectionnez une entité"
###############################################################################
########################## View/Pannel/test.ctp ###########################
msgid "pannel.textEtatEnAttenteDemandeAvis"
......
......@@ -86,11 +86,17 @@
</button>
<?php
if ($this->Session->read('Su') === true) {
$logoAction = 'superadmin';
} else {
$logoAction = 'index';
}
echo $this->Html->image('web_DPO_white.png', [
'alt' => 'web-DPO',
'url' => [
'controller' => 'pannel',
'action' => 'index'
'action' => $logoAction
],
'class' => 'navbar-brand'
]);
......@@ -177,14 +183,14 @@
]
],
__d('default', 'default.titreRegistre') => [
'disabled' => !($this->Autorisation->authorized(['4'], $this->Session->read('Droit.liste'))),
'disabled' => !(!$this->Session->read('Su') && $this->Autorisation->authorized(['4'], $this->Session->read('Droit.liste'))),
'url' => [
'controller' => 'registres',
'action' => 'index'
]
],
__d('default', 'default.titreAdministration') => [
'disabled' => !($this->Autorisation->authorized(['11', '12'], $this->Session->read('Droit.liste'))),
'disabled' => !(!$this->Session->read('Su') && $this->Autorisation->authorized(['11', '12'], $this->Session->read('Droit.liste'))),
__d('default', 'default.titreGenerale') => [
'disabled' => !($this->Autorisation->authorized(['11', '12'], $this->Session->read('Droit.liste'))),
__d('default', 'default.sousTitreGeneraleEntite') => [
......@@ -358,6 +364,20 @@
'controller' => 'users',
'action' => 'admin_index',
]
],
__d('default', 'default.sousTitreGestionTousSousTraitants') => [
'class' => 'fa-list-alt',
'url' => [
'controller' => 'soustraitants',
'action' => 'index'
]
],
__d('default', 'default.sousTitreGestionTousResponsable') => [
'class' => 'fa-list-alt',
'url' => [
'controller' => 'responsables',
'action' => 'index'
]
]
]
];
......@@ -365,31 +385,45 @@
$menu = $this->WebdpoMenu->main($items);
echo $menu;
$userEntiteEnCours = sprintf("%s %s - %s", $prenom, $nom, $this->Session->read('Organisation.raisonsociale'));
$items = [
$userEntiteEnCours => [
__d('default', 'default.sousTitreEntite')
]
];
foreach ($organisations as $datas) {
$mesEntites[$datas['Organisation']['raisonsociale']] = [
'url' => [
'controller' => 'organisations',
'action' => 'change',
$datas['Organisation']['id']
if ($this->Session->read('Su') === false) {
$userEntiteEnCours = sprintf("%s %s - %s", $prenom, $nom, $this->Session->read('Organisation.raisonsociale'));
$items = [
$userEntiteEnCours => [
__d('default', 'default.sousTitreEntite')
]
];
}
if (!empty($mesEntites)) {
$items[$userEntiteEnCours] += $mesEntites;
foreach ($organisations as $datas) {
$mesEntites[$datas['Organisation']['raisonsociale']] = [
'url' => [
'controller' => 'organisations',
'action' => 'change',
$datas['Organisation']['id']
]
];
}
if (!empty($mesEntites)) {
$items[$userEntiteEnCours] += $mesEntites;
$items[$userEntiteEnCours] += [
'divider',
'divider'
];
}
} else {
if ($this->here === '/organisations/administrer') {
$userEntiteEnCours = sprintf("%s %s - %s", $prenom, $nom, $this->Session->read('Organisation.raisonsociale'));
} else {
$userEntiteEnCours = sprintf("%s %s ", $prenom, $nom);
}
$items = [
$userEntiteEnCours => []
];
}
$items[$userEntiteEnCours] += [
'divider',
'divider',
__d('default', 'default.sousTitreCompte'),
__d('default', 'default.sousTitreModifCompte') => [
'class' => 'fa-cogs',
......@@ -455,8 +489,12 @@
<div class="col-md-6 text-right">
<?php
if (file_exists(IMAGES . DS . 'logos/' . $this->Session->read('Organisation.id') . '.' . $this->Session->read('Organisation.logo'))) {
echo $this->Html->image('logos/' . $this->Session->read('Organisation.id') . '.' . $this->Session->read('Organisation.logo'), ['class' => 'logo-well']);
if ($this->Session->read('Su') === false || $this->here === '/organisations/administrer') {
if (file_exists(IMAGES . DS . 'logos/' . $this->Session->read('Organisation.id') . '.' . $this->Session->read('Organisation.logo'))) {
echo $this->Html->image('logos/' . $this->Session->read('Organisation.id') . '.' . $this->Session->read('Organisation.logo'), [
'class' => 'logo-well'
]);
}
}
?>
</div>
......
<div class="col-md-2">
<ul class="nav nav-pills nav-stacked">
<li class="active">
<a href="#onglet_generale" role="tab" data-toggle="tab">
<?php
echo __d('default', 'default.titreGenerale');
?>
</a>
</li>
<li>
<a href="#onglet_administrationUser" role="tab" data-toggle="tab">
<?php
echo __d('default', 'default.titreAdministrationUser');
?>
</a>
</li>
<li>
<a href="#onglet_normes" role="tab" data-toggle="tab">
<?php
echo __d('default', 'default.titreNormes');
?>
</a>
</li>
<li>
<a href="#onglet_sousTraitant" role="tab" data-toggle="tab">
<?php
echo __d('default', 'default.titreSousTraitant');
?>
</a>
</li>
<li>
<a href="#onglet_responsable" role="tab" data-toggle="tab">
<?php
echo __d('default', 'default.titreResponsable');
?>
</a>
</li>
<li>
<a href="#onglet_maintenance" role="tab" data-toggle="tab">
<?php
echo __d('default', 'default.titreMaintenance');
?>
</a>
</li>
</ul>
</div>
<div class="col-md-9">
<div class="tab-content">
<div id="onglet_generale" class="tab-pane active">
<div class="col-md-12">
<a type="button" class="btn btn-default-menu" href="/organisations/edit/<?php echo $this->Session->read('Organisation.id');?>">
<div class="fa fa-building-o fa-primary fa-2x"></div>
<div>
<?php
echo __d('default', 'default.sousTitreGeneraleEntite');
?>
</div>
</a>
<a type="button" class="btn btn-default-menu" href="/organisations/politiquepassword/">
<div class="fa fa-lock fa-primary fa-2x"></div>
<div>
<?php
echo __d('default', 'default.sousTitrePassword');
?>
</div>
</a>
</div>
</div>
<div id="onglet_administrationUser" class="tab-pane">
<div class="col-md-12">
<a type="button" class="btn btn-default-menu" href="/roles/index/">
<div class="fa fa-users fa-primary fa-2x"></div>
<div>
<?php
echo __d('default', 'default.sousTitreProfils');
?>
</div>
</a>
<a type="button" class="btn btn-default-menu" href="/services/index/">
<div class="fa fa-sitemap fa-primary fa-2x"></div>
<div>
<?php
echo __d('default', 'default.sousTitreServices');
?>
</div>
</a>
<a type="button" class="btn btn-default-menu" href="/users/index/">
<div class="fa fa-user fa-primary fa-2x"></div>
<div>
<?php
echo __d('default', 'default.sousTitreUser');
?>
</div>
</a>
</div>
</div>
<div id="onglet_normes" class="tab-pane">
<div class="col-md-12">
<a type="button" class="btn btn-default-menu" href="/normes/index/">
<div class="fa fa-certificate fa-primary fa-2x"></div>
<div>
<?php
echo __d('default', 'default.sousTitreLesNormes');
?>
</div>
</a>
</div>
</div>
<div id="onglet_sousTraitant" class="tab-pane">
<div class="col-md-12">
<a type="button" class="btn btn-default-menu" href="/soustraitants/index/">
<div class="fa fa-list-alt fa-primary fa-2x"></div>
<div>
<?php
echo __d('default', 'default.sousTitreLesSousTraitants');
?>
</div>
</a>
<a type="button" class="btn btn-default-menu" href="/soustraitants/entite/">
<div class="fa fa-link fa-primary fa-2x"></div>
<div>
<?php
echo __d('default', 'default.sousTitreMesSousTraitants');
?>
</div>
</a>
</div>
</div>
<div id="onglet_responsable" class="tab-pane">
<div class="col-md-12">
<a type="button" class="btn btn-default-menu" href="/responsables/index/">
<div class="fa fa-list-alt fa-primary fa-2x"></div>
<div>
<?php
echo __d('default', 'default.sousTitreListeResponsable');
?>
</div>
</a>
<a type="button" class="btn btn-default-menu" href="/responsables/entite/">
<div class="fa fa-link fa-primary fa-2x"></div>
<div>
<?php
echo __d('default', 'default.sousTitreMesResponsables');
?>
</div>
</a>
</div>
</div>
<div id="onglet_maintenance" class="tab-pane">
<div class="col-md-12">
<a type="button" class="btn btn-default-menu" href="/connecteurs/index/">
<div class="fa fa-plug fa-primary fa-2x"></div>
<div>
<?php
echo __d('default', 'default.sousTitreConnecteurs');
?>
</div>
</a>
<a type="button" class="btn btn-default-menu" href="/crons/index/">
<div class="fa fa-clock-o fa-primary fa-2x"></div>
<div>
<?php
echo __d('default', 'default.sousTitreTachesAutomatiques');
?>
</div>
</a>
</div>
</div>
</div>
</div>
\ No newline at end of file
<?php
echo $this->Html->script('organisations.js');
echo $this->Html->script('organisations.js');
?>
<table class="table ">
<thead>
<tr>
<!-- Entité -->
<th class="thleft col-md-2">
<?php echo __d('organisation', 'organisation.titreTableauEntite'); ?>
</th>
<!-- Organisation -->
<th class="thleft col-md-8">
<?php echo __d('organisation', 'organisation.titreTableauNbUtilisateur'); ?>
</th>
<table class="table ">
<thead>
<tr>
<!-- Entité -->
<th class="thleft col-md-2">
<?php
echo __d('organisation', 'organisation.titreTableauEntite');
?>
</th>
<!-- Actions -->
<th class="thleft col-md-2">
<?php echo __d('organisation', 'organisation.titreTableauActions'); ?>
</th>
</tr>
</thead>
<tbody>
<!-- Organisation -->
<th class="thleft col-md-8">
<?php
echo __d('organisation', 'organisation.titreTableauNbUtilisateur');
?>
</th>
<!-- Actions -->
<th class="thleft col-md-2">
<?php
echo __d('organisation', 'organisation.titreTableauActions');
?>
</th>
</tr>
</thead>
<tbody>
<?php
foreach ( $organisations as $donnees ) {
?>
<tr>
<td class="tdleft">
<?php echo $donnees[ 'Organisation' ][ 'raisonsociale' ]; ?>
</td>
<td class="tdleft">
<div class="col-md-6">
<?php echo $donnees[ 'Count' ]; ?>
</div>
</td>
<td class="tdleft">
<div class="btn-group">
<?php echo $this->Html->link('<span class="fa fa-eye fa-lg"></span>', array(
'controller' => 'organisations',
'action' => 'show',
$donnees[ 'Organisation' ][ 'id' ]
), array(
'class' => 'btn btn-default-default boutonShow btn-sm my-tooltip',
'title' => __d('organisation','organisation.commentaireVIsualiserEntite'),
'escapeTitle' => false
));
if ( $this->Autorisation->authorized(12, $droits) ) {
echo $this->Html->link('<span class="fa fa-pencil fa-lg"></span>', array(
'controller' => 'organisations',
'action' => 'edit',
$donnees[ 'Organisation' ][ 'id' ]
), array(
'class' => 'btn btn-default-default boutonEdit btn-sm my-tooltip',
'title' => 'Modifier cette organisation',
'escapeTitle' => false
));
}
foreach ($organisations as $donnees) {
?>
<tr>
<td class="tdleft">
<?php
echo $donnees['Organisation']['raisonsociale'];
?>
</td>
<td class="tdleft">
<div class="col-md-6">
<?php echo $donnees['Count']; ?>
</div>
</td>
if ($donnees[ 'Count' ] == 0) {
if ( $this->Autorisation->isSu() ) {
echo $this->Html->link('<span class="fa fa-trash fa-lg"></span>', array(