Skip to content

Commit

Permalink
Corrige l'upload des documents : conserve l'extension de fichier (#132)
Browse files Browse the repository at this point in the history
  • Loading branch information
polosson committed May 5, 2021
1 parent 0587c8b commit d2db189
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 3 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ Ce projet adhère au principe du [Semantic Versioning](https://semver.org/spec/v
- Améliore les données affichées dans les PDF (fiches de sortie, devis et factures), en y ajoutant la référence
(numéro client) du bénéficiaire (voir #122) et les numéros de téléphone des techniciens et des bénéficiaires.
- Corrige l'affichage des numéros légaux de l'entreprise (SIRET, etc.) sur les devis et factures.
- Corrige le nom des fichiers uploadés comme documents du matériel pour qu'il conserve son extension (#132).

## 0.12.0 (2021-03-29)

Expand Down
5 changes: 4 additions & 1 deletion server/src/App/Config/functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,10 @@ function moveUploadedFile($directory, UploadedFileInterface $uploadedFile)
{
$name = $uploadedFile->getClientFilename();

$slugify = new Cocur\Slugify\Slugify(['lowercase' => false]);
$slugify = new Cocur\Slugify\Slugify([
'regexp' => '/([^A-Za-z0-9\.]|-)+/',
'lowercase' => false,
]);
$nameSecure = $slugify->slugify($name);

if (!is_dir($directory)) {
Expand Down
4 changes: 2 additions & 2 deletions server/tests/other/FunctionsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -115,10 +115,10 @@ public function testMoveUploadedFile(): void
$destinationFolder = DATA_FOLDER . DS . 'materials' . DS . 'tests';

// - Déplace le fichier de test d'upload dans
$file = new UploadedFile($sourceFile, 'Uploaded File for Tests', 'application/pdf', 13269);
$file = new UploadedFile($sourceFile, 'Uploaded File for Tests.pdf', 'application/pdf', 13269);
// - Déplace le fichier de test d'upload dans le dossier d'un matériel
$filename = moveUploadedFile($destinationFolder, $file);
$this->assertEquals('Uploaded-File-for-Tests', $filename);
$this->assertEquals('Uploaded-File-for-Tests.pdf', $filename);
$destinationFile = $destinationFolder . DS . $filename;
$this->assertTrue(file_exists($destinationFile));
// - Remet le fichier dans son dossier d'origine
Expand Down

0 comments on commit d2db189

Please sign in to comment.