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

Ajout : régle de validation sur le modèle Champ

Suppression : du système de répétion d'un champ dans l'onglet coresponsable (bug à revoir)
Ajout : possibilité de rendre un champ case à coché obligatoire
parent 2540cb8d
......@@ -38,6 +38,7 @@ la création d'un traitement.
- Ajout des normes "Normes simplifiées" (NS-060)
- Ajout des normes "Référentiel santé" (RS)
- Ajout des normes "Métodomogies de référence" (MR)
- Ajout possibilité de rentre obligatoire un champ case à coché dans le formulaire
### Evolutions
- Affichage de l'onglet "Information de l'entité" lors de la visualisation d'un traitement au registre
......
......@@ -24,6 +24,43 @@ App::uses('AppModel', 'Model');
class Champ extends AppModel {
/**
* validate associations
*
* @var array
*
* @access public
* @created 27/03/2020
* @version V1.2.0
*/
public $validate = [
'formulaire_id' => [
'notBlank' => [
'rule' => ['notBlank']
]
],
'type' => [
'notBlank' => [
'rule' => ['notBlank']
]
],
'ligne' => [
'notBlank' => [
'rule' => ['notBlank']
]
],
'colonne' => [
'notBlank' => [
'rule' => ['notBlank']
]
],
'details' => [
'notBlank' => [
'rule' => ['notBlank']
]
]
];
/**
* hasOne associations
*
......
......@@ -99,11 +99,12 @@ foreach ($champs as $key => $value) {
// Cases à cocher
case 'checkboxes':
echo '<div class="draggable form-group col-md-6 checkboxes" style="top: '.$line.'px; '.$colonne.'" data-virtual-required="'.$champObligatoire.'">
<div class="input select">
<label class="col-md-4">
<span class="labeler">'.$details['label'].'</span>
</label>';
echo '<div class="draggable form-group col-md-6 checkboxes" style="top: '.$line.'px; '.$colonne.'" data-virtual-required="'.$champObligatoire.'">'
.'<div class="input select">'
.'<label class="col-md-4">'
.'<span class="labeler">'.$details['label'].'</span>'
. ($details['obligatoire'] ? '<span class="obligatoire"> *</span>' : '')
.'</label>';
echo '<div class="col-md-8 contentCheckbox">';
foreach ($details['options'] as $key => $val) {
$checked = "";
......
<div id="ongletComplementaireCoresponsable" class="tab-pane">
<br/>
<div class="alert alert-danger" role="alert">
<?php
echo "Cette onget sera actif uniquement lorsque le déclaration du traitement aura indiqué 'Oui' sur le champ 'Co-responsable ?' dans l'onget 'Information générale'";
......
......@@ -395,23 +395,23 @@ var createForm = function(typeCreateForm) {
'</div>';
}
if (!jQuery.inArray(typeCreateForm, ['coresponsable', 'soustraitant'])) {
if ($(idContainer).find('.ui-selected').attr('virtual-data-repeat') === 'fieldRepeat') {
fieldRepeat = '<div class="checkbox">' +
'<label>' +
'<input type="checkbox" id="checkboxFieldRepeat" class="fieldRepeat" checked="true">' +
'Répétition du champ X fois' +
'</label>' +
'</div>';
} else {
fieldRepeat = '<div class="checkbox">' +
'<label>' +
'<input type="checkbox" id="checkboxFieldRepeat" class="fieldRepeat">' +
'Répétition du champ X fois' +
'</label>' +
'</div>';
}
}
// if (!jQuery.inArray(typeCreateForm, ['coresponsable', 'soustraitant'])) {
// if ($(idContainer).find('.ui-selected').attr('virtual-data-repeat') === 'fieldRepeat') {
// fieldRepeat = '<div class="checkbox">' +
// '<label>' +
// '<input type="checkbox" id="checkboxFieldRepeat" class="fieldRepeat" checked="true">' +
// 'Répétition du champ X fois' +
// '</label>' +
// '</div>';
// } else {
// fieldRepeat = '<div class="checkbox">' +
// '<label>' +
// '<input type="checkbox" id="checkboxFieldRepeat" class="fieldRepeat">' +
// 'Répétition du champ X fois' +
// '</label>' +
// '</div>';
// }
// }
if ( (object.hasClass('small-text')) || (object.hasClass('long-text')) || (object.hasClass('date')) ) {
var attrNameNomDeVariable = null,
......@@ -481,7 +481,7 @@ var createForm = function(typeCreateForm) {
'</div>' +
'</div>' +
check +
fieldRepeat +
// fieldRepeat +
'</div>' +
btnGoupsTrashApplicable
);
......@@ -508,7 +508,7 @@ var createForm = function(typeCreateForm) {
idListeDesValeurs = 'option-checkbox';
classListeValeur = 'checkboxForm';
viewCheck = false;
// viewCheck = false;
} else if (object.hasClass('radios')) {
champId = 'name-radios-'+typeCreateForm;
......@@ -594,6 +594,7 @@ var createForm = function(typeCreateForm) {
'<div class="form-group">' +
'<label for="'+idListeDesValeurs+'">' +
'Liste des valeurs (1 par ligne)' +
'<span class="obligatoire"> *</span>' +
'</label>' +
'<textarea class="form-control '+classListeValeur+'" id="'+idListeDesValeurs+'">' + list + '</textarea>' +
'</div>' +
......@@ -708,18 +709,18 @@ var createForm = function(typeCreateForm) {
}
}
if ($(this).hasClass('fieldRepeat')) {
if ($(this).prop('checked')) {
// if ($(this).hasClass('fieldRepeat')) {
// if ($(this).prop('checked')) {
// $(idContainer).find('.ui-selected').find('label').html('<span class="labeler">' +
// $('.labelForm').val() + '</span><span class="obligatoire"> *</span>'
// );
$(idContainer).find('.ui-selected').attr('virtual-data-repeat', 'fieldRepeat');
} else {
// $(idContainer).find('.ui-selected').find('label').html('<span class="labeler">' + $('.labelForm').val() + '</span>');
$(idContainer).find('.ui-selected').attr('virtual-data-repeat', 'fieldNoRepeat');
}
}
//
// $(idContainer).find('.ui-selected').attr('virtual-data-repeat', 'fieldRepeat');
// } else {
// $(idContainer).find('.ui-selected').find('label').html('<span class="labeler">' + $('.labelForm').val() + '</span>');
// $(idContainer).find('.ui-selected').attr('virtual-data-repeat', 'fieldNoRepeat');
// }
// }
});
/*Concerne les champs "Cases à cocher, Choix unique, Menu déroulant"*/
......@@ -778,18 +779,18 @@ var createForm = function(typeCreateForm) {
}
}
if ($(this).hasClass('fieldRepeat')) {
if ($(this).prop('checked')) {
// $(idContainer).find('.ui-selected').find('label').html('<span class="labeler">' +
// $('.labelForm').val() + '</span><span class="obligatoire"> *</span>'
// );
$(idContainer).find('.ui-selected').attr('virtual-data-repeat', 'fieldRepeat');
} else {
// $(idContainer).find('.ui-selected').find('label').html('<span class="labeler">' + $('.labelForm').val() + '</span>');
$(idContainer).find('.ui-selected').attr('virtual-data-repeat', 'fieldNoRepeat');
}
}
// if ($(this).hasClass('fieldRepeat')) {
// if ($(this).prop('checked')) {
// // $(idContainer).find('.ui-selected').find('label').html('<span class="labeler">' +
// // $('.labelForm').val() + '</span><span class="obligatoire"> *</span>'
// // );
//
// $(idContainer).find('.ui-selected').attr('virtual-data-repeat', 'fieldRepeat');
// } else {
// // $(idContainer).find('.ui-selected').find('label').html('<span class="labeler">' + $('.labelForm').val() + '</span>');
// $(idContainer).find('.ui-selected').attr('virtual-data-repeat', 'fieldNoRepeat');
// }
// }
});
nomVariable = true;
......
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