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

Correction : changement du typage des annexes déjà présente

Correction : l'enregistrement d'une annexe avec un nom deja existant sur une annexe n'est pas possible
Correction : ajout de l'erreur sur le nom d'un annexe déjà présent
Correction : enregistrement du typage d'une annexe déposé
parent 638beb36
......@@ -166,7 +166,7 @@ class FichesController extends AppController
$selectType = '';
if (!empty($typages)) {
$selectType = '<div class="form-group"><label for="typage_tmp_'.$last_key_file.'" class="col-md-4 control-label"></label><div class="col-md-8"><select name="data[Fichier][typage_tmp_'.$last_key_file.']" id="typage_tmp_'.$last_key_file.'" class="form-control typeAnnexeSelected">'
$selectType = '<div class="form-group"><label for="typage_tmp_'.$last_key_file.'" class="col-md-4 control-label"></label><div class="col-md-8"><select name="data[Fichier_tmp][typage_tmp_'.$last_key_file.']" id="typage_tmp_'.$last_key_file.'" class="form-control typeAnnexeSelected">'
. '<option value="">Séléctionnez un type pour le fichier</option>';
foreach ($typages as $val => $typage) {
$selectType = $selectType . '<option value="' . $val . '">' . $typage . '</option>';
......@@ -901,7 +901,7 @@ class FichesController extends AppController
$useAllExtensionFiles['Formulaire']['useallextensionfiles'],
$this->Session->read('Auth.User.uuid'),
$this->Session->read('Auth.User.id'),
$data['Fichier']
$data['Fichier_tmp']
);
}
}
......@@ -914,9 +914,9 @@ class FichesController extends AppController
if (!empty($filesBDD)) {
foreach ($filesBDD as $key => $file) {
if (isset($data['Fichier']['typage_'.$key]) && !empty($data['Fichier']['typage_'.$key]) && $success === true) {
if ($file['Fichier']['typage_id'] !== $data['Fichier']['typage_'.$key]) {
$file['Fichier']['typage_id'] = $data['Fichier']['typage_' . $key];
if (isset($data['Fichier']['typage_'.$file['Fichier']['id']]) && $success === true) {
if ($file['Fichier']['typage_id'] !== $data['Fichier']['typage_'.$file['Fichier']['id']]) {
$file['Fichier']['typage_id'] = $data['Fichier']['typage_'.$file['Fichier']['id']];
$success = $success && $this->Fichier->save($file, ['atomic' => false]);
}
}
......@@ -924,7 +924,6 @@ class FichesController extends AppController
}
if ($success == true && $etatFiche['EtatFiche']['etat_id'] === EtatFiche::TRAITEMENT_INITIALISE_RECU) {
$success = $success && $this->EtatFiche->updateAll([
'actif' => false
], [
......@@ -944,6 +943,7 @@ class FichesController extends AppController
if ($success == true &&
empty($this->Fiche->validationErrors) &&
empty($this->Fichier->validationErrors) &&
empty($this->WebdpoFiche->validationErrors) &&
empty($this->WebdpoCoresponsable->validationErrors) &&
empty($this->WebdpoSoustraitance->validationErrors)
......@@ -954,7 +954,7 @@ class FichesController extends AppController
$this->redirect($this->Referers->get());
} else {
$this->Fiche->rollback();
$this->Session->setFlash(__d('fiche', 'Une erreur inattendue est survenue...'), 'flasherror');
$this->Session->setFlash(__d('fiche', 'fiche.flasherrorTraitementModifier'), 'flasherror');
}
}
......@@ -2042,9 +2042,6 @@ class FichesController extends AppController
}
}
// debug($valeurs);
// die;
foreach (array_keys($headers[$formId]) as $fieldname) {
$row[$fieldname] = Hash::get($valeurs, $fieldname);
}
......@@ -2063,9 +2060,6 @@ class FichesController extends AppController
$data[$traitement['Fiche']['form_id']][$traitement['Fiche']['id']]['coresponsable'] = $this->convertBoolToString($traitement['Fiche']['coresponsable']);
$data[$traitement['Fiche']['form_id']][$traitement['Fiche']['id']]['soustraitance'] = $this->convertBoolToString($traitement['Fiche']['soustraitance']);
// debug($headersTemplate);
// debug($data);die;
$nameFileCsv[$traitement['Fiche']['form_id']] = str_replace(' ', '_', $traitement['Formulaire']['libelle']);
}
......@@ -2344,10 +2338,10 @@ class FichesController extends AppController
]);
if (!empty($filesSave)) {
$typageFiles = Hash::extract($filesSave, '{n}.Fichier.typage_id');
foreach ($typageFiles as $key => $typageFile) {
$this->request->data['Fichier']['typage_'.$key] = $typageFile;
foreach ($filesSave as $key => $file) {
if (!isset($this->request->data['Fichier']['typage_'.$file['Fichier']['id']])) {
$this->request->data['Fichier']['typage_' . $file['Fichier']['id']] = $file['Fichier']['typage_id'];
}
}
}
......
......@@ -53,6 +53,9 @@ msgstr "Vous n'avez pas le droit de supprimer ce traitement. Il faut être le cr
msgid "fiche.flashsuccessTraitementModifier"
msgstr "Le traitement a été modifié"
msgid "fiche.flasherrorTraitementModifier"
msgstr "Une erreur est survenue lors de la modification du traitement."
msgid "fiche.flashsuccessTraitementEnregistrer"
msgstr "Le traitement a été enregistré"
......
......@@ -42,6 +42,9 @@ msgstr "Le numéro de SIRET ne doit pas dépasser 14 caractères"
msgid "validation.valeurDejaUtilisee"
msgstr "Valeur déjà utilisée"
msgid "validation.valeurNomFichierDejaUtilisee"
msgstr "Vous ne pouvez pas déposer deux fichier avec le même nom"
msgid "validation.selectionnerOrganisation"
msgstr "Vous devez sélectionner une organisation"
......
......@@ -38,15 +38,9 @@ class Fichier extends AppModel {
'nom' => [
'isUniqueMultiple' => [
'rule' => ['isUniqueMultiple', ['nom', 'fiche_id']],
'message' => 'validation.valeurDejaUtilisee'
'message' => 'validation.valeurNomFichierDejaUtilisee'
]
],
'fiche_id' => [
'isUniqueMultiple' => [
'rule' => ['isUniqueMultiple', ['nom', 'fiche_id']],
'message' => 'validation.valeurDejaUtilisee'
]
]
];
/**
......@@ -149,8 +143,9 @@ class Fichier extends AppModel {
* transaction (par défaut: false) ?
* @return boolean
*/
public function transfereSave($idFiche, $useAllExtensionFiles, $uuidDossier, $idUser, $typages = [], $transaction = false) {
if (!empty($uuidDossier)){
public function transfereSave($idFiche, $useAllExtensionFiles, $uuidDossier, $idUser, $typages = [], $transaction = false)
{
if (!empty($uuidDossier)) {
$files = array_diff(scandir(CHEMIN_PIECE_JOINT_TMP . $idUser . DS . $uuidDossier), array('..', '.'));
$dir = CHEMIN_PIECE_JOINT_TMP . $idUser . DS . $uuidDossier;
......@@ -160,12 +155,13 @@ class Fichier extends AppModel {
if (isset($files) && !empty($files)) {
$success = true;
if ($transaction == true) {
$this->begin();
}
// On verifie si le dossier file existe. Si c'est pas le cas on le cree
create_arborescence_files();
$success = $success && create_arborescence_files();
if ($useAllExtensionFiles == true) {
$accepted = Configure::read('allFileAnnexeAcceptedTypes');
......@@ -190,9 +186,6 @@ class Fichier extends AppModel {
if (!empty($typages)) {
if (array_key_exists('typage_tmp_'.$key, $typages) === true) {
$typeFile = $typages['typage_tmp_'.$key];
} elseif (array_key_exists('typage_'.$key, $typages) === true) {
debug("SOS");die;
$typeFile = $typages['typage_'.$key];
}
}
......@@ -209,7 +202,7 @@ class Fichier extends AppModel {
}
if ($success == true) {
if($transaction == true) {
if ($transaction == true) {
$this->commit();
}
......
......@@ -66,7 +66,7 @@
<td class="col-md-4 tdleft">
<?php
if (!empty($typages)) {
echo $this->WebcilForm->input('Fichier.typage_tmp_' . $key, [
echo $this->WebcilForm->input('Fichier_tmp.typage_tmp_' . $key, [
'id' => 'typage_tmp_' . $key,
'label' => [
'text' => ''
......@@ -136,8 +136,8 @@
<td class="col-md-4 tdleft">
<?php
if (!empty($typages)) {
echo $this->WebcilForm->input('Fichier.typage_' . $key, [
'id' => 'typage_' . $key,
echo $this->WebcilForm->input('Fichier.typage_' . $val['Fichier']['id'], [
'id' => 'typage_' . $val['Fichier']['id'],
'label' => [
'text' => ''
],
......
......@@ -8,6 +8,7 @@ echo $this->Html->css('/js/smalot-bootstrap-datetimepicker/css/bootstrap-datetim
if (isset($this->validationErrors['WebdpoFiche']) && !empty($this->validationErrors['WebdpoFiche']) ||
isset($this->validationErrors['Fiche']) && !empty($this->validationErrors['Fiche']) ||
isset($this->validationErrors['Fichier']) && !empty($this->validationErrors['Fichier']) ||
isset($this->validationErrors['WebdpoCoresponsable']) && !empty($this->validationErrors['WebdpoCoresponsable']) ||
isset($this->validationErrors['WebdpoSoustraitance']) && !empty($this->validationErrors['WebdpoSoustraitance'])
) {
......@@ -64,6 +65,18 @@ if (isset($this->validationErrors['WebdpoFiche']) && !empty($this->validationErr
}
}
if (isset($this->validationErrors['Fichier']) && !empty($this->validationErrors['Fichier'])) {
$champ = null;
foreach ($this->validationErrors['Fichier'] as $key => $errorChamps) {
foreach ($errorChamps as $error) {
echo '<li>' . $error . /*' : ' . $error .*/
'</li>';
}
$champ = null;
}
}
if (isset($this->validationErrors['WebdpoCoresponsable']) && !empty($this->validationErrors['WebdpoCoresponsable'])) {
$champ = null;
foreach ($this->validationErrors['WebdpoCoresponsable'] as $coresponsable_id => $errorChamps) {
......
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