https://dev.entrouvert.org/https://dev.entrouvert.org/favicon.ico?15861920342019-07-24T16:13:41ZRedmine Entr’ouvertw.c.s. - Development #34783: Nom des pièces jointes à une démarchehttps://dev.entrouvert.org/issues/34783?journal_id=1850712019-07-24T16:13:41ZMarie Kuntz
<ul><li><strong>Version cible</strong> mis à <i>Wishlist</i></li></ul> w.c.s. - Development #34783: Nom des pièces jointes à une démarchehttps://dev.entrouvert.org/issues/34783?journal_id=1850722019-07-24T16:13:52ZMarie Kuntz
<ul><li><strong>Priorité</strong> changé de <i>Normal</i> à <i>Bas</i></li></ul> w.c.s. - Development #34783: Nom des pièces jointes à une démarchehttps://dev.entrouvert.org/issues/34783?journal_id=1954032019-10-07T15:32:00ZNicolas Roche (absent jusqu'au 3 avril)
<ul><li><strong>Assigné à</strong> mis à <i>Nicolas Roche (absent jusqu'au 3 avril)</i></li></ul> w.c.s. - Development #34783: Nom des pièces jointes à une démarchehttps://dev.entrouvert.org/issues/34783?journal_id=1956882019-10-08T16:31:26ZNicolas Roche (absent jusqu'au 3 avril)
<ul><li><strong>Fichier</strong> <a href="/attachments/37980">0001-field-display-attachment-utf-8-filenames-34783.patch</a> <a class="icon-only icon-download" title="Télécharger" href="/attachments/download/37980/0001-field-display-attachment-utf-8-filenames-34783.patch">0001-field-display-attachment-utf-8-filenames-34783.patch</a> ajouté</li><li><strong>Statut</strong> changé de <i>Nouveau</i> à <i>Solution proposée</i></li><li><strong>Patch proposed</strong> changé de <i>Non</i> à <i>Oui</i></li></ul>Il y a 2 modifications :
<ul>
<li><em>wcs/root.py::RootDirectory::tmp_upload()</em><br />pour avoir le bon rendu à l'upload du fichier sur le formulaire</li>
<li><em>wcs/qommon/templates/qommon/forms/widgets/file.html</em><br />pour garder le bon rendu si on rafraîchit la page (F5)</li>
</ul> w.c.s. - Development #34783: Nom des pièces jointes à une démarchehttps://dev.entrouvert.org/issues/34783?journal_id=1956932019-10-08T16:38:05ZFrédéric Pétersfpeters@entrouvert.com
<ul></ul><p>On ne peut pas afficher orig_filename, qui est le nom fourni par le navigateur, qui peut se trouver être C:\foo\bar\upload_this.</p> w.c.s. - Development #34783: Nom des pièces jointes à une démarchehttps://dev.entrouvert.org/issues/34783?journal_id=1957482019-10-09T08:42:26ZNicolas Roche (absent jusqu'au 3 avril)
<ul><li><strong>Fichier</strong> <a href="/attachments/37996">0001-field-display-attachment-utf-8-filenames-34783.patch</a> <a class="icon-only icon-download" title="Télécharger" href="/attachments/download/37996/0001-field-display-attachment-utf-8-filenames-34783.patch">0001-field-display-attachment-utf-8-filenames-34783.patch</a> ajouté</li></ul><p>Oui, merci Fred je n'avais pas vu ça.</p>
<p>J'ai l'impression que l'on va récupérer ce même orig_filename depuis le dump json, plus loins sur la page de validation par exemple (quand on affiche le nom avec les accents).</p>
<p><em>wcs/qommon/sessions.py::add_tempfile()</em><br /><pre>
data = {
'orig_filename': upload.orig_filename, # <- ici
'base_filename': upload.base_filename,
'content_type': upload.content_type,
'charset': upload.charset,
'size': size,
'session': self.id,
'token': signer.sign(token),
'unsigned_token': token,
}
with open(filename + '.json', 'w') as fd:
json.dump(data, fd, indent=2)
</pre></p>
Pour prendre en compte la remarque ci-dessus, on peut :
<ul>
<li>soit juste normer <code>base_filename</code>, mais cette variable me semble déjà utilisée, par exemple pour l'export.</li>
<li>soit conserver le premier patch puis normer <code>orig_filename</code>, ce que je propose ici.</li>
</ul> w.c.s. - Development #34783: Nom des pièces jointes à une démarchehttps://dev.entrouvert.org/issues/34783?journal_id=1957552019-10-09T09:00:44ZFrédéric Pétersfpeters@entrouvert.com
<ul></ul><p>De manière générale si tu te trouves à modifier plein de fichiers la direction n'est sans doute pas la bonne.</p>
<pre>
--- a/wcs/qommon/sessions.py
+++ b/wcs/qommon/sessions.py
@@ -282,7 +282,7 @@ class Session(QommonSession, CaptchaSession, StorableObject):
signer = self.get_signer()
data = {
'orig_filename': upload.orig_filename,
- 'base_filename': upload.base_filename,
+ 'base_filename': make_safe_but_keep_accents(upload.orig_filename),
'content_type': upload.content_type,
'charset': upload.charset,
'size': size,
</pre>
<p>(et je serais même à penser que os.path.basename(...) suffirait).</p> w.c.s. - Development #34783: Nom des pièces jointes à une démarchehttps://dev.entrouvert.org/issues/34783?journal_id=1960422019-10-10T07:44:39ZNicolas Roche (absent jusqu'au 3 avril)
<ul><li><strong>Fichier</strong> <a href="/attachments/38026">0001-fields-display-attachment-utf-8-filenames-34783.patch</a> <a class="icon-only icon-download" title="Télécharger" href="/attachments/download/38026/0001-fields-display-attachment-utf-8-filenames-34783.patch">0001-fields-display-attachment-utf-8-filenames-34783.patch</a> ajouté</li></ul><p>J'avoue, je suis parti en vrille.</p> w.c.s. - Development #34783: Nom des pièces jointes à une démarchehttps://dev.entrouvert.org/issues/34783?journal_id=2163712020-02-19T10:40:10ZNicolas Roche (absent jusqu'au 3 avril)
<ul><li><strong>Statut</strong> changé de <i>Solution proposée</i> à <i>Fermé</i></li></ul><p>Problème auto-magiquement résolu par le passage à python3.</p>