Commit d977132e authored by Théo GUILLON's avatar Théo GUILLON
Browse files

Modification : du champ transferthorsue par transfert_hors_ue

Modification : du champ donneesSensible par donnees_sensibles
Modification : des règles sur les champs complémentaires
Modification : des conditions appliquable sur les champs
Modification : des erreurs sur les champs transfert_hors_ue et donnees_sensibles
parent 7a948f46
......@@ -406,6 +406,13 @@ ALTER TABLE formulaires ADD COLUMN rt_externe BOOL DEFAULT FALSE;
ALTER TABLE fiches ADD COLUMN rt_externe BOOL NOT NULL DEFAULT FALSE;
ALTER TABLE fiches ADD COLUMN transfert_hors_ue BOOL DEFAULT FALSE;
UPDATE fiches SET transfert_hors_ue = true WHERE id IN (SELECT valeurs.fiche_id FROM valeurs WHERE valeurs.champ_name = 'transfertHorsUe' AND valeurs.valeur = 'Oui');
UPDATE fiches SET transfert_hors_ue = false WHERE id IN (SELECT valeurs.fiche_id FROM valeurs WHERE valeurs.champ_name = 'transfertHorsUe' AND valeurs.valeur = 'Non');
DELETE FROM valeurs WHERE champ_name = 'transfertHorsUe';
ALTER TABLE fiches ADD COLUMN donnees_sensibles BOOL DEFAULT FALSE;
UPDATE fiches SET donnees_sensibles = true WHERE id IN (SELECT valeurs.fiche_id FROM valeurs WHERE valeurs.champ_name = 'donneesSensible' AND valeurs.valeur = 'Oui');
UPDATE fiches SET donnees_sensibles = false WHERE id IN (SELECT valeurs.fiche_id FROM valeurs WHERE valeurs.champ_name = 'donneesSensible' AND valeurs.valeur = 'Non');
DELETE FROM valeurs WHERE champ_name = 'donneesSensible';
COMMIT;
......@@ -841,7 +841,9 @@ class FichesController extends AppController
'obligation_pia',
'realisation_pia',
'depot_pia',
'rt_externe'
'rt_externe',
'transfert_hors_ue',
'donnees_sensibles',
]
]);
......@@ -856,6 +858,9 @@ class FichesController extends AppController
$this->request->data['Fiche']['coresponsable'] = $fiche['Fiche']['coresponsable'];
$this->request->data['Fiche']['soustraitance'] = $fiche['Fiche']['soustraitance'];
$this->request->data['Fiche']['transfert_hors_ue'] = $fiche['Fiche']['transfert_hors_ue'];
$this->request->data['Fiche']['donnees_sensibles'] = $fiche['Fiche']['donnees_sensibles'];
$this->request->data['Fiche']['obligation_pia'] = $fiche['Fiche']['obligation_pia'];
$this->request->data['Fiche']['realisation_pia'] = $fiche['Fiche']['realisation_pia'];
$this->request->data['Fiche']['depot_pia'] = $fiche['Fiche']['depot_pia'];
......@@ -1613,8 +1618,8 @@ class FichesController extends AppController
'outilnom' => __d('fiche', 'fiche.champOutilnom'),
'numero_enregistrement' => "Numero d\'enregistrement au registre",
'norme' => "Norme",
'transfertHorsUe' => __d('fiche', 'fiche.champTransfertHorsUe'),
'donneesSensible' => __d('fiche', 'fiche.champDonneesSensible'),
'transfert_hors_ue' => __d('fiche', 'fiche.champTransfertHorsUe'),
'donnees_sensibles' => __d('fiche', 'fiche.champDonneessensiblesComplementaire'),
'finaliteprincipale' => __d('fiche', 'fiche.champFinaliteprincipale'),
'coresponsable' => __d('fiche', 'fiche.champCoresponsable'),
'soustraitant' => __d('fiche', 'fiche.champSoustraitant'),
......
......@@ -284,8 +284,8 @@ class ModelesController extends AppController {
'traitement' => [
'outilnom',
'finaliteprincipale',
'transfertHorsUe',
'donneesSensible',
'transfert_hors_ue',
'donnees_sensibles',
'coresponsable',
'soustraitant',
'numeroenregistrement',
......
......@@ -59,16 +59,6 @@ class WebdpoFiche extends AppModel {
'rule' => ['notBlank']
]
],
// 'transfertHorsUe' => [
// 'notBlank' => [
// 'rule' => ['notBlank']
// ]
// ],
// 'donneesSensible' => [
// 'notBlank' => [
// 'rule' => ['notBlank']
// ]
// ],
// ---------------------------------------------------------------------
// ------------------INFORMATION TRAITEMENT-----------------------------
'decisionAutomatisee' => [
......@@ -82,40 +72,6 @@ class WebdpoFiche extends AppModel {
]
],
// ---------------------------------------------------------------------
// ------------------INFORMATION COMPLEMENTAIRE HORS UE-----------------
'organismeDestinataireHorsUe' => [
'checkNotBlankIf' => [
'rule' => ['checkNotBlankIf', 'transfertHorsUe', true, ['Oui']]
]
],
'paysDestinataireHorsUe' => [
'checkNotBlankIf' => [
'rule' => ['checkNotBlankIf', 'transfertHorsUe', true, ['Oui']]
]
],
'typeGarantieHorsUe' => [
'checkNotBlankIf' => [
'rule' => ['checkNotBlankIf', 'transfertHorsUe', true, ['Oui']]
]
],
// ---------------------------------------------------------------------
// ------------------INFORMATION COMPLEMENTAIRE DONNEE SENSIBLE---------
'typeDonneeSensible' => [
'checkNotBlankIf' => [
'rule' => ['checkNotBlankIf', 'donneesSensible', true, ['Oui']]
]
],
'descriptionDonneeSensible' => [
'checkNotBlankIf' => [
'rule' => ['checkNotBlankIf', 'donneesSensible', true, ['Oui']]
]
],
'dureeConservationDonneeSensible' => [
'checkNotBlankIf' => [
'rule' => ['checkNotBlankIf', 'donneesSensible', true, ['Oui']]
]
],
// ---------------------------------------------------------------------
// ------------------------------- AIPD --------------------------------
// @info: usepia est un champ virtuel nécessaire venant du modèle Formulaire
'ressources_humaines' => [
......@@ -359,7 +315,10 @@ class WebdpoFiche extends AppModel {
$success = false !== $Fiche->save(null, ['atomic' => false]) && $success;
// Check Transfere hors UE
$data = $this->cleanAndCheckDataHorsUe($data);
// Check données sensibles
$data = $this->cleanAndCheckDataDonneesSensibles($data);
// RT
$data = $this->cleanAndCheckDataRT($data);
......@@ -534,18 +493,6 @@ class WebdpoFiche extends AppModel {
unset($data[$this->alias]['descriptionDecisionAutomatisee']);
}
// @TODO passer le champ en column dans fiches
// Suppression des valeurs associées aux transfère hors UE si cela n'a pas été indiquer dans les infos générale
if ($data[$this->alias]['transfertHorsUe'] === 'Non') {
unset($data[$this->alias]['horsue']);
}
// @TODO passer le champ en column dans fiches
// Suppression des valeurs associées aux données sensible si cela n'a pas été indiquer dans les infos générale
if ($data[$this->alias]['donneesSensible'] === 'Non') {
unset($data[$this->alias]['donneessensibles']);
}
// Suppression des sous-finalité vide avant enregistrement en BDD
if (isset($data[$this->alias]['sousFinalite']) === true) {
foreach ($data[$this->alias]['sousFinalite'] as $key => $sousFinalite) {
......@@ -737,6 +684,38 @@ class WebdpoFiche extends AppModel {
return ($data);
}
protected function cleanAndCheckDataHorsUe($data)
{
// Suppression des valeurs associées aux transfère hors UE si cela n'a pas été indiquer dans les infos générale
if ($data['Fiche']['transfert_hors_ue'] == false) {
unset($data[$this->alias]['horsue']);
return $data;
}
foreach (['organismeDestinataireHorsUe', 'paysDestinataireHorsUe', 'typeGarantieHorsUe'] as $fieldName) {
$this->validate[$fieldName]['notBlank'] = ['rule' => ['notBlank']];
}
return $data;
}
protected function cleanAndCheckDataDonneesSensibles($data)
{
// Suppression des valeurs associées aux données sensible si cela n'a pas été indiquer dans les infos générale
if ($data['Fiche']['donnees_sensibles'] == false) {
unset($data[$this->alias]['donneessensibles']);
return $data;
}
foreach (['typeDonneeSensible', 'descriptionDonneeSensible', 'dureeConservationDonneeSensible'] as $fieldName) {
$this->validate[$fieldName]['notBlank'] = ['rule' => ['notBlank']];
}
return $data;
}
public function beforeValidate($options = array()) {
// $this->data = $this->cleanupData($this->data);
return parent::beforeValidate($options);
......
......@@ -343,7 +343,7 @@ if ($this->request->params['action'] === 'show' ) {
// Partie concernant le transfere hors ue
var useHorsUE = <?php echo json_encode($useFieldsFormulaire['Formulaire']['usedecisionautomatisee']);?>;
if (useHorsUE == true) {
displayInfoSupHorsUE($('#transfertHorsUe').val());
displayInfoSupHorsUE($('#transfert_hors_ue').val());
var idHorsUE = <?php echo json_encode($i);?>;
addHorsUE(idHorsUE);
......@@ -352,7 +352,7 @@ if ($this->request->params['action'] === 'show' ) {
// Partie concernant les données sensibles
var useDonneesSensibles = <?php echo json_encode($useFieldsFormulaire['Formulaire']['usedonneessensible']);?>;
if (useDonneesSensibles == true) {
displayInfoSupDonneesSensibles($('#donneesSensible').val());
displayInfoSupDonneesSensibles($('#donnees_sensibles').val());
var idDonneesSensibles = <?php echo json_encode($nb);?>;
addDonneeSensible(idDonneesSensibles);
......
......@@ -259,21 +259,6 @@ if (in_array($this->request->params['action'], ['edit', 'show']) === true) {
'required' => true,
'placeholder' => false
],
// 'WebdpoFiche.transfertHorsUe' => [
// 'id' => 'transfertHorsUe',
// 'label' => [
// 'text' => __d('fiche', 'fiche.champTransfertHorsUe')
// ],
// 'options' => [
// 'Oui' => 'Oui',
// 'Non' => 'Non'
// ],
// 'class' => 'transformSelect form-control',
// 'required' => true,
// 'empty' => $empty,
// 'placeholder' => false,
// 'data-placeholder' => ' '
// ],
'transfert_hors_ue' => [
'id' => 'transfert_hors_ue',
'options' => [
......@@ -286,21 +271,6 @@ if (in_array($this->request->params['action'], ['edit', 'show']) === true) {
'data-placeholder' => ' ',
'default' => false
],
// 'WebdpoFiche.donneesSensible' => [
// 'id' => 'donneesSensible',
// 'label' => [
// 'text' => __d('fiche', 'fiche.champDonneesSensible')
// ],
// 'options' => [
// 'Oui' => 'Oui',
// 'Non' => 'Non'
// ],
// 'class' => 'transformSelect form-control',
// 'required' => true,
// 'empty' => $empty,
// 'placeholder' => false,
// 'data-placeholder' => ' '
// ],
'donnees_sensibles' => [
'id' => 'donnees_sensibles',
'options' => [
......
......@@ -89,14 +89,14 @@
'placeholder' => false,
'readonly' => true
],
'Fiche.transfertHorsUe' => [
'id' => 'transfertHorsUe',
'Fiche.transfert_hors_ue' => [
'id' => 'transfert_hors_ue',
'required' => true,
'placeholder' => false,
'readonly' => true
],
'Fiche.donneesSensible' => [
'id' => 'donneesSensible',
'Fiche.donnees_sensibles' => [
'id' => 'donnees_sensibles',
'required' => true,
'placeholder' => false,
'readonly' => true
......
......@@ -501,7 +501,7 @@ if (!empty($valeurPropreTraitement['traitement'])) {
<tr>
<td class="tdleft">
<?php
echo __d('fiche', 'fiche.champ' . ucfirst($traitement));
echo __m('fiche' . '.champ' . Inflector::camelize($traitement));
?>
</td>
......
......@@ -52,7 +52,6 @@ function displayDescriptionDecisionAutomatisee(val){
// -----------------------------------------------------------------------------
var addHorsUE = function(idHorsUE) {
// $('#transfertHorsUe').change(function () {
$('#transfert_hors_ue').change(function () {
var select = $(this).val();
......
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