Commit 55eb1bf4 authored by tguillon's avatar tguillon
Browse files

Ajout: des options donc la création et modification et visualisation d'un traitement

parent 19e55331
...@@ -78,31 +78,54 @@ INSERT INTO baselegales (libelle, description, created, modified) VALUES ...@@ -78,31 +78,54 @@ INSERT INTO baselegales (libelle, description, created, modified) VALUES
('L’intérêt public', 'Article 6 1. e) : Le traitement est nécessaire à l''exécution d''une mission d''intérêt public ou relevant de l''exercice de l''autorité publique dont est investi le responsable du traitement.', NOW(), NOW()), ('L’intérêt public', 'Article 6 1. e) : Le traitement est nécessaire à l''exécution d''une mission d''intérêt public ou relevant de l''exercice de l''autorité publique dont est investi le responsable du traitement.', NOW(), NOW()),
('Les intérêts légitimes', 'Article 6 1. f) : Le traitement est nécessaire aux fins des intérêts légitimes poursuivis par le responsable du traitement ou par un tiers, à moins que ne prévalent les intérêts ou les libertés et droits fondamentaux de la personne concernée qui exigent une protection des données à caractère personnel, notamment lorsque la personne concernée est un enfant.<br /><br />Le point f) du premier alinéa ne s''applique pas au traitement effectué par les autorités publiques dans l''exécution de leurs missions.', NOW(), NOW()); ('Les intérêts légitimes', 'Article 6 1. f) : Le traitement est nécessaire aux fins des intérêts légitimes poursuivis par le responsable du traitement ou par un tiers, à moins que ne prévalent les intérêts ou les libertés et droits fondamentaux de la personne concernée qui exigent une protection des données à caractère personnel, notamment lorsque la personne concernée est un enfant.<br /><br />Le point f) du premier alinéa ne s''applique pas au traitement effectué par les autorités publiques dans l''exécution de leurs missions.', NOW(), NOW());
--
-- ALTER TABLE fg_formulaires TO formulaires
--
ALTER TABLE fg_formulaires RENAME TO formulaires; ALTER TABLE fg_formulaires RENAME TO formulaires;
ALTER SEQUENCE fg_formulaires_id_seq RENAME TO formulaires_id_seq; ALTER SEQUENCE fg_formulaires_id_seq RENAME TO formulaires_id_seq;
ALTER TABLE formulaires
DROP CONSTRAINT fg_formulaires_organisations_id_fkey,
ADD CONSTRAINT formulaires_organisations_id_fkey FOREIGN KEY (organisations_id) REFERENCES organisations (id) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE formulaires ADD COLUMN usesousfinalite BOOLEAN DEFAULT FALSE; ALTER TABLE formulaires ADD COLUMN usesousfinalite BOOLEAN DEFAULT FALSE;
ALTER TABLE formulaires ADD COLUMN usebaselegale BOOLEAN DEFAULT FALSE; ALTER TABLE formulaires ADD COLUMN usebaselegale BOOLEAN DEFAULT FALSE;
ALTER TABLE formulaires ADD COLUMN usedecisionautomatisee BOOLEAN DEFAULT FALSE; ALTER TABLE formulaires ADD COLUMN usedecisionautomatisee BOOLEAN DEFAULT FALSE;
ALTER TABLE formulaires ADD COLUMN usetransferthorsue BOOLEAN DEFAULT FALSE; ALTER TABLE formulaires ADD COLUMN usetransferthorsue BOOLEAN DEFAULT FALSE;
ALTER TABLE formulaires ADD COLUMN usedonneessensible BOOLEAN DEFAULT FALSE; ALTER TABLE formulaires ADD COLUMN usedonneessensible BOOLEAN DEFAULT FALSE;
ALTER TABLE formulaires ADD COLUMN useallextensionfiles BOOLEAN DEFAULT FALSE; ALTER TABLE formulaires ADD COLUMN useallextensionfiles BOOLEAN DEFAULT FALSE;
ALTER TABLE formulaires ALTER COLUMN soustraitant DROP NOT NULL; ALTER TABLE formulaires ALTER COLUMN soustraitant DROP NOT NULL;
ALTER TABLE formulaires ALTER COLUMN active DROP NOT NULL; ALTER TABLE formulaires ALTER COLUMN active DROP NOT NULL;
ALTER TABLE formulaires ALTER COLUMN active SET DEFAULT FALSE; ALTER TABLE formulaires ALTER COLUMN active SET DEFAULT FALSE;
--
-- ALTER TABLE fg_champs TO champs
--
ALTER TABLE fg_champs RENAME TO champs; ALTER TABLE fg_champs RENAME TO champs;
ALTER SEQUENCE fg_champs_id_seq RENAME TO champs_id_seq; ALTER SEQUENCE fg_champs_id_seq RENAME TO champs_id_seq;
ALTER TABLE champs RENAME COLUMN formulaires_id TO formulaire_id; ALTER TABLE champs RENAME COLUMN formulaires_id TO formulaire_id;
ALTER TABLE champs ALTER TABLE champs
DROP CONSTRAINT fg_champs_formulaires_id_fkey, DROP CONSTRAINT fg_champs_formulaires_id_fkey,
ADD CONSTRAINT fg_champs_formulaire_id_fkey FOREIGN KEY (formulaire_id) REFERENCES formulaires (id) ON DELETE CASCADE ON UPDATE CASCADE; ADD CONSTRAINT champs_formulaire_id_fkey FOREIGN KEY (formulaire_id) REFERENCES formulaires (id) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE champs ADD COLUMN champ_coresponsable BOOLEAN DEFAULT FALSE; ALTER TABLE champs ADD COLUMN champ_coresponsable BOOLEAN DEFAULT FALSE;
ALTER TABLE champs ADD COLUMN champ_soustraitant BOOLEAN DEFAULT FALSE; ALTER TABLE champs ADD COLUMN champ_soustraitant BOOLEAN DEFAULT FALSE;
--
-- ALTER TABLE fiches
--
ALTER TABLE fiches ALTER TABLE fiches
DROP CONSTRAINT fiches_form_id_fkey, DROP CONSTRAINT fiches_form_id_fkey,
ADD CONSTRAINT fiches_form_id_fkey FOREIGN KEY (form_id) REFERENCES formulaires (id) ON DELETE CASCADE ON UPDATE CASCADE; ADD CONSTRAINT fiches_form_id_fkey FOREIGN KEY (form_id) REFERENCES formulaires (id) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE fiches ADD COLUMN soustraitance BOOL NOT NULL DEFAULT FALSE;
--
-- ALTER TABLE modeles
--
ALTER TABLE modeles ALTER TABLE modeles
DROP CONSTRAINT modeles_formulaires_id_fkey, DROP CONSTRAINT modeles_formulaires_id_fkey,
ADD CONSTRAINT modeles_formulaires_id_fkey FOREIGN KEY (formulaires_id) REFERENCES formulaires (id) ON DELETE CASCADE ON UPDATE CASCADE; ADD CONSTRAINT modeles_formulaires_id_fkey FOREIGN KEY (formulaires_id) REFERENCES formulaires (id) ON DELETE CASCADE ON UPDATE CASCADE;
......
This diff is collapsed.
This diff is collapsed.
...@@ -132,10 +132,10 @@ msgid "fiche.champTypedeclaration" ...@@ -132,10 +132,10 @@ msgid "fiche.champTypedeclaration"
msgstr "Type de déclaration" msgstr "Type de déclaration"
msgid "fiche.champTransfertHorsUe" msgid "fiche.champTransfertHorsUe"
msgstr "Transfert hors UE" msgstr "Les données du traitement, font l'objet d'un transfert hors l'UE ?"
msgid "fiche.champDonneesSensible" msgid "fiche.champDonneesSensible"
msgstr "Données sensibles" msgstr "Les données traitées sont qualifiées de 'données sensibles' ?"
msgid "fiche.champFinaliteprincipale" msgid "fiche.champFinaliteprincipale"
msgstr "Finalité principale" msgstr "Finalité principale"
...@@ -255,7 +255,7 @@ msgid "fiche.textInfoCoresponsable" ...@@ -255,7 +255,7 @@ msgid "fiche.textInfoCoresponsable"
msgstr "Co-responsabilité sur le traitement :" msgstr "Co-responsabilité sur le traitement :"
msgid "fiche.champCoresponsable" msgid "fiche.champCoresponsable"
msgstr "Co-responsable ?" msgstr "Le traitement fait l'objet d'une co-responsabilité ?"
msgid "fiche.champCoresponsable-x" msgid "fiche.champCoresponsable-x"
msgstr "Co-responsable ?" msgstr "Co-responsable ?"
...@@ -366,7 +366,7 @@ msgid "fiche.textInfoSousTraitanceComplementaire" ...@@ -366,7 +366,7 @@ msgid "fiche.textInfoSousTraitanceComplementaire"
msgstr "Information complémentaire concernant la sous-traitance(s) :" msgstr "Information complémentaire concernant la sous-traitance(s) :"
msgid "fiche.champSoustraitance" msgid "fiche.champSoustraitance"
msgstr "Sous-traitance ?" msgstr "Le traitement l'objet d'une sous-traitance ?"
############################################################################### ###############################################################################
...@@ -393,3 +393,25 @@ msgid "fiche.btnRevenir" ...@@ -393,3 +393,25 @@ msgid "fiche.btnRevenir"
msgstr " Retour" msgstr " Retour"
############################################################################### ###############################################################################
############################: View/Formulaire/add/edit.ctp ############################
msgid "fiche.champOrganismeDestinataireHorsUe"
msgstr "Organisme Destinataire 1"
msgid "fiche.champTypeGarantieHorsUe"
msgstr "Type De Garantie 1"
msgid "fiche.champPaysDestinataireHorsUe"
msgstr "Pays Destinataire 1"
msgid "fiche.champTypeDonneeSensible"
msgstr "Type De Donnée Sensible 1"
msgid "fiche.champDureeConservation"
msgstr "Description 1"
msgid "fiche.champDescriptionDonneSensible"
msgstr "Durée De Conservation 1"
###############################################################################
...@@ -234,9 +234,9 @@ msgid "formulaire.champUseallextensionfiles" ...@@ -234,9 +234,9 @@ msgid "formulaire.champUseallextensionfiles"
msgstr "Voulez-vous utiliser d'autre format (autre que '.odt' et '.pdf') pour les fichiers en annexe ?" msgstr "Voulez-vous utiliser d'autre format (autre que '.odt' et '.pdf') pour les fichiers en annexe ?"
msgid "formulaire.alertInfoUseAllExtention" msgid "formulaire.alertInfoUseAllExtention"
msgstr "ATTENTION : si vous autorisez l'utilisation de tous les formats de fichiers en annexe, seuls les formats '.odt' et '.pdf' pourront être utilisé lors de la génération documentaire." msgstr "ATTENTION : si vous autorisez l'utilisation de tous les formats de fichiers en annexe, seuls les formats '.odt' et '.pdf' pourront être intégré lors de la génération documentaire du registre."
msgid "formulaire.infoExtentionUtilisable" msgid "formulaire.infoExtentionUtilisable"
msgstr "Seuls les fichiers au format '.doc', '.docx', '.ppt', '.pptx', '.gif', '.jpeg', '.jpg', '.png', '.odp', '.ods', '.odt', '.pdf' seront acceptés" msgstr "Seuls les fichiers au format 'xls', '.doc', '.docx', '.ppt', '.pptx', '.gif', '.jpeg', '.jpg', '.png', '.odp', '.ods', '.odt', '.pdf' seront acceptés"
############################################################################### ###############################################################################
\ No newline at end of file
...@@ -203,4 +203,7 @@ msgstr "Afficher les traitements avec co-responsabilité" ...@@ -203,4 +203,7 @@ msgstr "Afficher les traitements avec co-responsabilité"
msgid "registre.textTableauCoresponsable" msgid "registre.textTableauCoresponsable"
msgstr "Co-responsable :" msgstr "Co-responsable :"
msgid "registre.textTableauSousTraitance"
msgstr "Sous-traitance :"
############################################################################### ###############################################################################
\ No newline at end of file
...@@ -37,7 +37,7 @@ class Champ extends AppModel { ...@@ -37,7 +37,7 @@ class Champ extends AppModel {
public $hasOne = [ public $hasOne = [
'Formulaire' => [ 'Formulaire' => [
'className' => 'Formulaire', 'className' => 'Formulaire',
'foreignKey' => 'formulaires_id' 'foreignKey' => 'id'
] ]
]; ];
......
...@@ -337,7 +337,7 @@ class Fiche extends AppModel { ...@@ -337,7 +337,7 @@ class Fiche extends AppModel {
], ],
'Champ' => [ 'Champ' => [
'className' => 'Champ', 'className' => 'Champ',
'foreignKey' => 'formulaires_id' 'foreignKey' => 'formulaire_id'
], ],
'Baselegale' => [ 'Baselegale' => [
'className' => 'Baselegale', 'className' => 'Baselegale',
...@@ -699,9 +699,9 @@ class Fiche extends AppModel { ...@@ -699,9 +699,9 @@ class Fiche extends AppModel {
]); ]);
$typeChamps = ['deroulant', 'checkboxes', 'multi-select']; $typeChamps = ['deroulant', 'checkboxes', 'multi-select'];
$champs = ClassRegistry::init('FgChamp')->find('all', [ $champs = ClassRegistry::init('Champ')->find('all', [
'conditions' => [ 'conditions' => [
'formulaires_id' => $idForm['Fiche']['form_id'], 'formulaire_id' => $idForm['Fiche']['form_id'],
'type' => $typeChamps, 'type' => $typeChamps,
], ],
]); ]);
......
...@@ -121,7 +121,7 @@ class Formulaire extends AppModel { ...@@ -121,7 +121,7 @@ class Formulaire extends AppModel {
public $hasMany = [ public $hasMany = [
'Champ' => [ 'Champ' => [
'className' => 'Champ', 'className' => 'Champ',
'foreignKey' => 'formulaires_id' 'foreignKey' => 'formulaire_id'
] ]
]; ];
......
...@@ -234,13 +234,24 @@ class WebdpoFiche extends AppModel { ...@@ -234,13 +234,24 @@ class WebdpoFiche extends AppModel {
foreach ($champs as $champ) { foreach ($champs as $champ) {
$details = json_decode(Hash::get($champ, 'Champ.details')); $details = json_decode(Hash::get($champ, 'Champ.details'));
if ($details->obligatoire == true) { if ($details->obligatoire == true) {
if (isset($this->validate[$details->name]) == false) { $exit = false;
$this->validate[$details->name] = [];
if ($champ['Champ']['champ_coresponsable'] === true && $data['Fiche']['coresponsable'] == false ||
$champ['Champ']['champ_soustraitant'] === true && $data['Fiche']['soustraitance'] == false
) {
$exit = true;
unset($data['Fiche'][$details->name]);
} }
if (in_array(Hash::get($champ, 'Champ.type'), ['checkboxes', 'multi-select'])) {
$this->validate[$details->name]['multiple'] = ['rule' => ['multiple', ['min' => 1]]]; if ($exit === false) {
} else { if (isset($this->validate[$details->name]) == false) {
$this->validate[$details->name]['notBlank'] = ['rule' => ['notBlank']]; $this->validate[$details->name] = [];
}
if (in_array(Hash::get($champ, 'Champ.type'), ['checkboxes', 'multi-select'])) {
$this->validate[$details->name]['multiple'] = ['rule' => ['multiple', ['min' => 1]]];
} else {
$this->validate[$details->name]['notBlank'] = ['rule' => ['notBlank']];
}
} }
} }
} }
...@@ -251,7 +262,7 @@ class WebdpoFiche extends AppModel { ...@@ -251,7 +262,7 @@ class WebdpoFiche extends AppModel {
$success = $Fiche->save(null, ['atomic' => false]); $success = $Fiche->save(null, ['atomic' => false]);
$this->data[$this->alias] = $data['Fiche']; $this->data[$this->alias] = $data['Fiche'];
$fieldsToKeep = ['id', 'coresponsable', 'soustraitantid', 'created', 'modified']; $fieldsToKeep = ['id', 'coresponsable', 'soustraitance', 'soustraitantid', 'created', 'modified'];
foreach (array_keys($Fiche->schema()) as $fieldName) { foreach (array_keys($Fiche->schema()) as $fieldName) {
if (in_array($fieldName, $fieldsToKeep, true) === false) { if (in_array($fieldName, $fieldsToKeep, true) === false) {
...@@ -306,12 +317,10 @@ class WebdpoFiche extends AppModel { ...@@ -306,12 +317,10 @@ class WebdpoFiche extends AppModel {
$this->data[$this->alias]['coresponsable'] = 'Oui'; $this->data[$this->alias]['coresponsable'] = 'Oui';
} }
if (!empty($data['Fiche']['soustraitant'])) { if ($data['Fiche']['soustraitance'] == '0') {
if ($data['Fiche']['soustraitant'] == '0') { $this->data[$this->alias]['soustraitance'] = 'Non';
$this->data[$this->alias]['soustraitant'] = 'Non'; } else {
} else { $this->data[$this->alias]['soustraitance'] = 'Oui';
$this->data[$this->alias]['soustraitant'] = 'Oui';
}
} }
$idsToDelete = array_keys($Fiche->Valeur->find('list', [ $idsToDelete = array_keys($Fiche->Valeur->find('list', [
...@@ -367,8 +376,20 @@ class WebdpoFiche extends AppModel { ...@@ -367,8 +376,20 @@ class WebdpoFiche extends AppModel {
$data[$alias]['faxstructure'] = null; $data[$alias]['faxstructure'] = null;
$data[$alias]['adressestructure'] = null; $data[$alias]['adressestructure'] = null;
$data[$alias]['emailstructure'] = null; $data[$alias]['emailstructure'] = null;
} }
if ($data[$alias]['donneesSensible'] == 'Non') {
if (isset($data[$alias]['donneessensibles'])) {
unset($data[$alias]['donneessensibles']);
}
}
if ($data[$alias]['transfertHorsUe'] == 'Non') {
if (isset($data[$alias]['horsue'])) {
unset($data[$alias]['horsue']);
}
}
return ($data); return ($data);
} }
......
<div class="modal fade" id="modalAdministrerEntite" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="myModalLabel">
<?php echo __d('pannel', 'pannel.popupAdministrerEntite'); ?>
</h4>
</div>
<div class="modal-body">
<div class="row form-group">
<?php
echo $this->Form->create('Organisation', [
'url' => [
'controller' => 'organisations',
'action' => 'change',
'null',
1,
'organisations',
'administrer'
]
]);
echo $this->WebcilForm->input('Organisation.organisationcible', [
'id' => 'organisationcible2',
'options' => $listeOrganisations,
'class' => 'usersDeroulant transformSelect form-control',
'required' => true,
'empty' => true,
'placeholder' => false,
'data-placeholder' => ' '
]);
?>
</div>
</div>
<div class="modal-footer">
<div class="btn-group">
<button type="button" class="btn btn-default-default" data-dismiss="modal">
<i class="fa fa-times-circle fa-lg"><!----></i>
<?php echo __d('default', 'default.btnAnnuler'); ?>
</button>
<?php
echo $this->Form->button("<i class='fa fa-wrench fa-lg'>&nbsp;</i>" . __d('organisation', 'organisation.btnAdministrerEntite'), [
'type' => 'submit',
'class' => 'btn btn-default-success',
'escape' => false
]);
?>
</div>
<?php
echo $this->Form->end();
?>
</div>
</div>
</div>
</div>
\ No newline at end of file
<div class="modal fade" id="modalChangeEntite" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="myModalLabel">
<?php echo __d('pannel', 'pannel.popupAdministrerEntite'); ?>
</h4>
</div>
<div class="modal-body">
<div class="row form-group">
<?php
echo $this->Form->create('Organisation', [
'url' => [
'controller' => 'organisations',
'action' => 'change'
]
]);
echo $this->WebcilForm->input('Organisation.organisationcible', [
'id' => 'organisationcible',
'options' => $listeMesOrganisation,
'class' => 'usersDeroulant transformSelect form-control',
'required' => true,
'empty' => true,
'placeholder' => false,
'data-placeholder' => ' '
]);
?>
</div>
</div>
<div class="modal-footer">
<div class="btn-group">
<button type="button" class="btn btn-default-default" data-dismiss="modal">
<i class="fa fa-times-circle fa-lg"><!----></i>
<?php echo __d('default', 'default.btnAnnuler'); ?>
</button>
<?php
echo $this->Form->button("<i class='fa fa-wrench fa-lg'>&nbsp;</i>" . __d('organisation', 'organisation.btnAdministrerEntite'), [
'type' => 'submit',
'class' => 'btn btn-default-success',
'escape' => false
]);
?>
</div>
<?php
echo $this->Form->end();
?>
</div>
</div>
</div>
</div>
\ No newline at end of file
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="myModalLabel">
<?php
echo __d('default', 'default.popupChoisirFormulaire');
?>
</h4>
</div>
<div class="modal-body">
<div id="formulaire_activite" class="tab-pane active">
<table class="table table-bordered">
<thead>
<tr>
<th class="col-md-3">
<?php
echo __d('default', 'default.popupTitreTableauNom');
?>
</th>
<th class="col-md-7">
<?php
echo __d('default', 'default.popupTitreTableauDescription');
?>
</th>
<th class="col-md-2">
<?php
echo __d('default', 'default.popupTitreTableauAction');
?>
</th>
</tr>
</thead>
<tbody>
<?php
foreach ($formulaires_actifs as $key => $value) {
echo '<tr>
<td>' . $value['Formulaire']['libelle'] . '</td>
<td>' . $value['Formulaire']['description'] . '</td>
<td>' . $this->Html->link(__d('default', 'default.popupBtnChoisir'), [
'controller' => 'fiches',
'action' => 'add',
$value['Formulaire']['id']
], ['class' => 'btn btn-default-default']) . '</td>
</tr>';
}
?>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default-default" data-dismiss="modal">
<i class="fa fa-times-circle fa-lg"><!----></i>
<?php echo(__d('default', 'default.btnAnnuler')); ?>
</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
...@@ -21,22 +21,10 @@ ...@@ -21,22 +21,10 @@
</div> </div>
</div> </div>
<script type="text/javascript"> <!--<script type="text/javascript">-->
<!---->
$(document).ready(function () { <!-- $(document).ready(function () {-->
//var incrementation_id = <?php //echo $incrementation_id ?>//; <!-- verificationExtension();-->
// <!-- });-->
//for (var i = 0; i < incrementation_id; i++) { <!---->
// $('#datetimepicker' + i).datetimepicker({ <!--</script>-->
// viewMode: 'year', \ No newline at end of file
// startView: "decade",
// format: 'dd/mm/yyyy',
// minView: 2,
// language: 'fr'
// });
//}
verificationExtension();
});
</script>
\ No newline at end of file
...@@ -10,9 +10,18 @@ ...@@ -10,9 +10,18 @@
</h4> </h4>
<br/> <br/>
<?php
if ($useAllExtensionFiles['Formulaire']['useallextensionfiles'] === false) {
$extentionsAccepter = __d('fiche', 'fiche.textTypeFichierAccepter');
} else {
$extentionsAccepter = __d('formulaire', 'formulaire.infoExtentionUtilisable');
}
?>
<!-- Texte format fichier accepté --> <!-- Texte format fichier accepté -->
<div class="alert alert-warning" role="alert"> <div class="alert alert-warning" role="alert">
<?php echo __d('fiche', 'fiche.textTypeFichierAccepter'); ?> <?php echo $extentionsAccepter; ?>
</div> </div>
<?php <?php
...@@ -136,6 +145,11 @@ ...@@ -136,6 +145,11 @@
</div> </div>
<!-- Fin onglet Annexe(s) --> <!-- Fin onglet Annexe(s) -->
<?php