Projet

Général

Profil

Development #6134

Pouvoir spécifier les types mime autorisés pour un upload

Ajouté par Frédéric Péters il y a plus de 9 ans. Mis à jour il y a plus de 8 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
10 décembre 2014
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

En complément de la possibilité d'exprimer le type de fichier attendu (#5732), il faudrait pouvoir refuser un upload qui ne se conforme pas à l'attente. (attention à vérifier le type mime côté serveur, pas se contenter de regarder ce qui est renseigné par le client).

Pour étendre la liste actuelle (son, vidéo, image), il faut sans doute une page de paramétrage où l'admin du site peut définir sa série de (libellé, types mime) qui seront présentés par le champ.


Fichiers

Historique

#1

Mis à jour par Frédéric Péters il y a plus de 9 ans

L'ajout d'une gestion des types connus de wcs depuis l'admin puis la vérification dure de ce qui est uploadé (avec python-magic si disponible (le python-magic de Debian, qui ne ressemble pas à celui sur github…)).

#2

Mis à jour par Frédéric Péters il y a plus de 9 ans

  • Statut changé de Nouveau à En cours
#3

Mis à jour par Frédéric Péters il y a plus de 9 ans

Mise à jour du patch avec des tests pour l'interface d'admin.

#4

Mis à jour par Thomas Noël il y a plus de 9 ans

Frédéric Péters a écrit :

Mise à jour du patch avec des tests pour l'interface d'admin.

Sur le 0002, il manque sans doute un r += htmltext('</li>') entre les lignes 286 et 287 (quel scandale !).

J'aurai trouvé plus joli d'avoir le principe de mise à jour des formdef dans une méthode de classe sur FormDef, pour que ça soit dans formdef.py et pas au fond d'un _q_lookup dans admin/settings.py... (et parce qu'on en aura besoin lors d'import, sans doute ?)

#5

Mis à jour par Thomas Noël il y a plus de 9 ans

Sur 0003, peut-être qu'il faudrait construire le magic_object à chaque vérification, pour qu'une mise à jour des mimetypes sur le système soit bien prise en compte ? (mais bon, un restart de wcs, ça peut se comprendre aussi). Sinon ça me semble ok !

#6

Mis à jour par Frédéric Péters il y a plus de 9 ans

J'ai déplacé dans formdef.py mais gardé une fonction générale, passant sur tous les formdefs; il sera temps d'en extraire une méthode travaillant sur un unique formdef quand le besoin sera là. Pour le chargement systématique de magic_object, j'ai regardé, ça prend chez moi un petit millième de seconde, j'ai du coup modifié l'affaire pour que ça soit systématique.

#7

Mis à jour par Thomas Noël il y a plus de 9 ans

avec un certain retard : ack !

#8

Mis à jour par Frédéric Péters il y a plus de 9 ans

  • Statut changé de En cours à Résolu (à déployer)
commit 4a91c263ea1ed26e67f71849c411293f14e796a3
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Fri Dec 12 14:39:31 2014 +0100

    form: turn file type check into a hard check (#6134)

commit 476aa415d434dd4ef0ba4192ca00e7b58cb865d6
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Fri Dec 12 13:55:25 2014 +0100

    settings: add a file types section (#6134)
#9

Mis à jour par Thomas Noël il y a plus de 8 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF