Commit 77017187 authored by tguillon's avatar tguillon
Browse files

Modification : ajout des valeurs concernant l'entité lors de l'insersion du traitement au registre

parent 7cf89e75
......@@ -25,10 +25,12 @@ Le format est basé sur le modèle [Keep a Changelog](http://keepachangelog.com/
- Mise en place de l'initialisation d'un traitement par le DPO
### Evolutions
- Affichage de l'onglet "Information de l'entité" lors de la visualisation d'un traitement au registre
### Corrections
### Suppressions
- Suppression de l'onglet "Information de l'entité" lors de la création, modification et visualisation d'un traitement
1.1.0 - 2019-12-03
......
......@@ -985,14 +985,18 @@ class EtatFichesController extends AppController
$success = true;
$this->EtatFiche->begin();
$this->Fiche->id = $id;
$success = $success && $this->Fiche->save([
'id' => $id,
'numero' => $numero,
'norme_id' => $norme
]) !== false;
$success = $success && $this->insertValueEntiteInFiche($organisation_id, $id);
if ($success == true) {
if ($success === true) {
$this->Fiche->id = $id;
$success = $success && $this->Fiche->save([
'id' => $id,
'numero' => $numero,
'norme_id' => $norme
]) !== false;
}
if ($success === true) {
$idEncoursValid = $this->EtatFiche->find('first', [
'conditions' => [
'EtatFiche.fiche_id' => $id,
......@@ -1014,7 +1018,7 @@ class EtatFichesController extends AppController
]
) !== false;
if ($success == true) {
if ($success === true) {
if (!empty($idEncoursValid)) {
$this->EtatFiche->create([
'EtatFiche' => [
......@@ -1027,7 +1031,7 @@ class EtatFichesController extends AppController
]);
$success = $success && false !== $this->EtatFiche->save(null, ['atomic' => false]);
if ($success == true) {
if ($success === true) {
$this->Notification->create([
'Notification' => [
'user_id' => $idEncoursValid['Fiche']['user_id'],
......@@ -1041,7 +1045,7 @@ class EtatFichesController extends AppController
$this->Notifications->sendEmail($idEncoursValid['Fiche']['user_id']);
}
if ($success == true) {
if ($success === true) {
$this->Historique->create([
'Historique' => [
'content' => $this->Auth->user('prenom') . ' ' . $this->Auth->user('nom') . ' valide le traitement et l\'insère au registre',
......@@ -1051,12 +1055,12 @@ class EtatFichesController extends AppController
$success = $success && false !== $this->Historique->save(null, ['atomic' => false]);
}
if ($success == true && $saveNumeroRegistre === true) {
if ($success === true && $saveNumeroRegistre === true) {
$this->Organisation->id = $organisation_id;
$success = $success && $this->Organisation->save([
'id' => $organisation_id,
'numeroregistre' => $numeroregistre
]) !== false;
'id' => $organisation_id,
'numeroregistre' => $numeroregistre
]) !== false;
}
}
}
......@@ -1066,13 +1070,6 @@ class EtatFichesController extends AppController
}
if ($success === true) {
// ICI
// $organisation_id
// $id
}
if ($success == true) {
$this->EtatFiche->commit();
$this->Session->setFlash(__d('etat_fiche', 'etat_fiche.flashsuccessTraitementEngregistreRegistre'), 'flashsuccess');
......@@ -1086,7 +1083,6 @@ class EtatFichesController extends AppController
'controller' => 'registres',
'action' => 'index'
]);
} else {
$this->EtatFiche->rollback();
$this->Session->setFlash($messageError, 'flasherror');
......@@ -1095,6 +1091,109 @@ class EtatFichesController extends AppController
}
}
protected function insertValueEntiteInFiche($organisation_id, $fiche_id)
{
$success = true;
$entite = $this->Organisation->find('first', [
'conditions' => [
'id' => $organisation_id
],
'fields' => [
'raisonsociale',
'telephone',
'fax',
'adresse',
'email',
'sigle',
'siret',
'ape',
'civiliteresponsable',
'nomresponsable',
'prenomresponsable',
'emailresponsable',
'telephoneresponsable',
'fonctionresponsable',
'dpo',
'numerodpo'
]
]);
$userDPO = $this->User->find('first', [
'conditions' => [
'id' => $entite['Organisation']['dpo']
],
'fields' => [
'nom_complet',
'email',
'telephonefixe',
'telephoneportable'
]
]);
unset($entite['Organisation']['dpo']);
$entite = Hash::extract($entite, 'Organisation');
$keyEntite = array_keys($entite);
foreach ($keyEntite as $val) {
if ($success === true) {
if (!empty($entite[$val])) {
$this->Valeur->create([
'fiche_id' => $fiche_id,
'valeur' => $entite[$val],
'champ_name'=> $val
]);
$success = $success && false !== $this->Valeur->save();
}
}
}
if ($success === true) {
$userDPO = Hash::extract($userDPO, 'User');
$keyUserDPO = array_keys($userDPO);
foreach ($keyUserDPO as $val) {
if ($success === true) {
if (!empty($userDPO[$val])) {
if ($val === 'nom_complet') {
$userDPO['dpo'] = $userDPO[$val];
unset($userDPO[$val]);
$val = 'dpo';
}
if ($val === 'email') {
$userDPO['emailDpo'] = $userDPO[$val];
unset($userDPO[$val]);
$val = 'emailDpo';
}
if ($val === 'telephoneportable') {
$userDPO['portableDpo'] = $userDPO[$val];
unset($userDPO[$val]);
$val = 'portableDpo';
}
if ($val === 'telephonefixe') {
$userDPO['fixDpo'] = $userDPO[$val];
unset($userDPO[$val]);
$val = 'fixDpo';
}
$this->Valeur->create([
'fiche_id' => $fiche_id,
'valeur' => $userDPO[$val],
'champ_name'=> $val
]);
$success = $success && false !== $this->Valeur->save();
}
}
}
}
return $success;
}
/**
* Envoie d'un traitement en cour d'initialisation en rédaction
*
......
......@@ -355,38 +355,6 @@ class FichesController extends AppController
$responsables = $this->_responsables();
if (empty($this->request->data)) {
$organisation = $this->Organisation->find('first', [
'conditions' => [
'id' => $this->Session->read('Organisation.id')
],
'fields' => [
'raisonsociale',
'telephone',
'fax',
'adresse',
'email',
'sigle',
'siret',
'ape',
'civiliteresponsable',
'nomresponsable',
'prenomresponsable',
'emailresponsable',
'telephoneresponsable',
'fonctionresponsable',
'dpo',
'numerodpo'
]
]);
$this->request->data['Fiche'] = Hash::extract($organisation, 'Organisation');
//On récupére le DPO de la collectivité
$userDPO = $this->_dpoOrganisation($organisation['Organisation']['dpo']);
$this->request->data['Fiche']['dpo'] = $userDPO['User']['civilite'] . ' ' . $userDPO['User']['prenom'] . ' ' . $userDPO['User']['nom'];
$this->request->data['Fiche']['fixDpo'] = $userDPO['User']['telephonefixe'];
$this->request->data['Fiche']['emailDpo'] = $userDPO['User']['email'];
$this->request->data['Fiche']['portableDpo'] = $userDPO['User']['telephoneportable'];
// User
$userLog = $this->User->find('first', [
'conditions' => [
......@@ -776,7 +744,7 @@ class FichesController extends AppController
* @edit 25/02/2019
* @version v1.0.2
*/
public function show($id)
public function show($id, $showRegistre = false)
{
if (!$id) {
$this->Session->setFlash(__d('default', 'default.flasherrorTraitementInexistant'), 'flasherror');
......@@ -849,7 +817,7 @@ class FichesController extends AppController
$responsables = $this->_responsables();
$this->set(compact('soustraitance', 'valeurs', 'champs', 'id', 'filesSave', 'responsables'));
$this->set(compact('soustraitance', 'valeurs', 'champs', 'id', 'filesSave', 'responsables', 'showRegistre'));
}
/**
......@@ -1078,41 +1046,6 @@ class FichesController extends AppController
}
}
/**
* On récupére le DPO de la collectivité
*
* @param int $idUserDPO : id de l'utilisateur DPO dans l'organisation
* @return array()
*
* @access public
*
* @author Théo GUILLON <theo.guillon@libriciel.coop>
* @created 17/05/2017
* @version V1.0.0
*
* @author Théo GUILLON <theo.guillon@libriciel.coop>
* @edit 25/02/2019
* @version V1.0.2
*/
protected function _dpoOrganisation($idUserDPO)
{
$userDPO = $this->User->find('first', [
'conditions' => [
'id' => $idUserDPO
],
'fields' => [
'civilite',
'nom',
'prenom',
'email',
'telephonefixe',
'telephoneportable'
]
]);
return ($userDPO);
}
/**
* Genere le traitement de registre
*
......
......@@ -424,25 +424,6 @@ class OrganisationsController extends AppController
$this->set(compact('organisation', 'options', 'array_users', 'roles'));
}
private function _dpoOrganisation($idUserDPO)
{
$userDPO = $this->User->find('first', [
'conditions' => [
'id' => $idUserDPO
],
'fields' => [
'civilite',
'nom',
'prenom',
'email',
'telephonefixe',
'telephoneportable'
]
]);
return ($userDPO);
}
/**
* @param $idDPO
* @param $idOrganisation
......
......@@ -48,6 +48,7 @@ echo $this->WebcilForm->create('Fiche', [
<ul class="nav nav-tabs nav-justified" role="tablist">
<li class="active">
<a href="#information_traitement" role="tab" data-toggle="tab">
<i class="fa fa-pencil fa-fw"><!----></i>
<?php
echo __d('fiche', 'fiche.ongletInformationTraitement');
?>
......@@ -59,6 +60,7 @@ echo $this->WebcilForm->create('Fiche', [
?>
<li>
<a href="#soustraitant" role="tab" data-toggle="tab">
<i class="fa fa-pencil fa-fw"><!----></i>
<?php
echo __d('fiche', 'fiche.ongletSousTraitant');
?>
......@@ -70,6 +72,7 @@ echo $this->WebcilForm->create('Fiche', [
<li>
<a href="#info_formulaire" role="tab" data-toggle="tab">
<i class="fa fa-pencil fa-fw"><!----></i>
<?php
echo __d('fiche', 'fiche.ongletFormulaire');
?>
......@@ -78,6 +81,7 @@ echo $this->WebcilForm->create('Fiche', [
<li>
<a href="#annexe" role="tab" data-toggle="tab">
<i class="fa fa-pencil fa-fw"><!----></i>
<?php
echo __d('fiche', 'fiche.ongletAnnexe');
?>
......@@ -89,6 +93,7 @@ echo $this->WebcilForm->create('Fiche', [
?>
<li id="liOngletCoresponsable" class="disabled">
<a id="aOngletCoresponsable" href="#ongletCoresponsable" role="" data-toggle="">
<i class="fa fa-pencil fa-fw"><!----></i>
<?php
echo __d('fiche', 'fiche.ongletCoresponsable');
?>
......@@ -97,14 +102,6 @@ echo $this->WebcilForm->create('Fiche', [
<?php
}
?>
<!-- <li>-->
<!-- <a href="#infos" role="tab" data-toggle="tab">-->
<?php
// echo __d('fiche', 'fiche.ongletInformationEntite');
?>
<!-- </a>-->
<!-- </li>-->
</ul>
<div class="tab-content">
......@@ -377,10 +374,6 @@ echo $this->WebcilForm->create('Fiche', [
// Onglet Co-responsable
echo $this->element('Fiches/ongletCoresponsable');
// Fin onglet Co-responsable
// Onglet Information sur l'entité
// echo $this->element('Fiches/ongletEntite');
// Fin onglet Information sur l'entité
?>
</div>
......
......@@ -48,6 +48,7 @@ echo $this->WebcilForm->create('Fiche', [
<ul class="nav nav-tabs nav-justified" role="tablist">
<li class="active">
<a href="#information_traitement" role="tab" data-toggle="tab">
<i class="fa fa-pencil fa-fw"><!----></i>
<?php
echo __d('fiche', 'fiche.ongletInformationTraitement');
?>
......@@ -59,6 +60,7 @@ echo $this->WebcilForm->create('Fiche', [
?>
<li>
<a href="#soustraitant" role="tab" data-toggle="tab">
<i class="fa fa-pencil fa-fw"><!----></i>
<?php
echo __d('fiche', 'fiche.ongletSousTraitant');
?>
......@@ -70,6 +72,7 @@ echo $this->WebcilForm->create('Fiche', [
<li>
<a href="#info_formulaire" role="tab" data-toggle="tab">
<i class="fa fa-pencil fa-fw"><!----></i>
<?php
echo __d('fiche', 'fiche.ongletFormulaire');
?>
......@@ -78,6 +81,7 @@ echo $this->WebcilForm->create('Fiche', [
<li>
<a href="#annexe" role="tab" data-toggle="tab">
<i class="fa fa-pencil fa-fw"><!----></i>
<?php
echo __d('fiche', 'fiche.ongletAnnexe');
?>
......@@ -89,6 +93,7 @@ echo $this->WebcilForm->create('Fiche', [
?>
<li id="liOngletCoresponsable" class="disabled">
<a id="aOngletCoresponsable" href="#ongletCoresponsable" role="" data-toggle="">
<i class="fa fa-pencil fa-fw"><!----></i>
<?php
echo __d('fiche', 'fiche.ongletCoresponsable');
?>
......@@ -97,14 +102,6 @@ echo $this->WebcilForm->create('Fiche', [
<?php
}
?>
<!-- <li>-->
<!-- <a href="#infos" role="tab" data-toggle="tab">-->
<?php
// echo __d('fiche', 'fiche.ongletInformationEntite');
?>
<!-- </a>-->
<!-- </li>-->
</ul>
<div class="tab-content">
......@@ -345,10 +342,6 @@ echo $this->WebcilForm->create('Fiche', [
// Onglet Co-responsable
echo $this->element('Fiches/ongletCoresponsable');
// Fin onglet Co-responsable
// Onglet Information sur l'entité
// echo $this->element('Fiches/ongletEntite');
// Fin onglet Information sur l'entité
?>
</div>
......
......@@ -16,6 +16,7 @@ echo $this->WebcilForm->create('Fiche', [
<ul class="nav nav-tabs nav-justified" role="tablist">
<li class="active">
<a href="#information_traitement" role="tab" data-toggle="tab">
<i class="fa fa-eye fa-fw"><!----></i>
<?php
echo __d('fiche', 'fiche.ongletInformationTraitement');
?>
......@@ -27,6 +28,7 @@ echo $this->WebcilForm->create('Fiche', [
?>
<li>
<a href="#soustraitant" role="tab" data-toggle="tab">
<i class="fa fa-eye fa-fw"><!----></i>
<?php
echo __d('fiche', 'fiche.ongletSousTraitant');
?>
......@@ -38,6 +40,7 @@ echo $this->WebcilForm->create('Fiche', [
<li>
<a href="#info_formulaire" role="tab" data-toggle="tab">
<i class="fa fa-eye fa-fw"><!----></i>
<?php
echo __d('fiche', 'fiche.ongletFormulaire');
?>
......@@ -46,6 +49,7 @@ echo $this->WebcilForm->create('Fiche', [
<li>
<a href="#annexe" role="tab" data-toggle="tab">
<i class="fa fa-eye fa-fw"><!----></i>
<?php
echo __d('fiche', 'fiche.ongletAnnexe');
?>
......@@ -57,6 +61,7 @@ echo $this->WebcilForm->create('Fiche', [
?>
<li id="liOngletCoresponsable" class="disabled">
<a id="aOngletCoresponsable" href="#ongletCoresponsable" role="" data-toggle="">
<i class="fa fa-eye fa-fw"><!----></i>
<?php
echo __d('fiche', 'fiche.ongletCoresponsable');
?>
......@@ -64,15 +69,20 @@ echo $this->WebcilForm->create('Fiche', [
</li>
<?php
}
?>
<!-- <li>-->
<!-- <a href="#infos" role="tab" data-toggle="tab">-->
<?php
// echo __d('fiche', 'fiche.ongletInformationEntite');
?>
<!-- </a>-->
<!-- </li>-->
if ($showRegistre == true) {
?>
<li>
<a href="#infos" role="tab" data-toggle="tab">
<i class="fa fa-eye fa-fw"><!----></i>
<?php
echo __d('fiche', 'fiche.ongletInformationEntite');
?>
</a>
</li>
<?php
}
?>
</ul>
<div class="tab-content">
......@@ -402,9 +412,11 @@ echo $this->WebcilForm->create('Fiche', [
echo $this->element('Fiches/ongletCoresponsable');
// Fin onglet Co-responsable
// Onglet Information sur l'entité
// echo $this->element('Fiches/ongletEntite');
// Fin onglet Information sur l'entité
if ($showRegistre == true) {
// Onglet Information sur l'entité
echo $this->element('Fiches/ongletEntite');
// Fin onglet Information sur l'entité
}
?>
</div>
......
......@@ -672,7 +672,8 @@
echo $this->Html->link($this->Html->tag('i','<!---->',['class' => 'fa fa-eye fa-lg']), [
'controller' => 'fiches',
'action' => 'show',
$value['Fiche']['id']
$value['Fiche']['id'],
true
], [
'class' => 'btn btn-default-default boutonShow btn-sm my-tooltip',
'title' => __d('registre', 'registre.commentaireVoirTraitement'),
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment