Project

General

Profile

Bug #21731

AttachmentEvolutionPart: le filename n'est pas relatif au publisher.app_dir

Added by Thomas Noël about 7 years ago. Updated over 3 years ago.

Status:
Fermé
Priority:
Normal
Target version:
-
Start date:
08 February 2018
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

Description

Dans AttachmentEvolutionPart il y a cette partie :

    def __getstate__(self):
        odict = self.__dict__.copy()
        if not odict.has_key('fp'):
            return odict

        del odict['fp']
        dirname = os.path.join(get_publisher().app_dir, 'attachments')
        if not os.path.exists(dirname):
            os.mkdir(dirname)

        if not 'filename' in odict:
            filename = file_digest(self.fp)
            odict['filename'] = os.path.join(dirname, filename)
            self.filename = odict['filename']
            self.fp.seek(0)
            atomic_write(self.filename, self.fp)
        return odict

qui enregistre dans AttachmentEvolutionPart.filename le chemin absolu du fichier.

Et donc crash si on change l'emplacement du tenant, par exemple de /var/lib/wcs-au-quotidien vers /var/lib/wcs, ou plus simplement si on change le nom du site.

(note 1: pour l'instant ces situations ont été gérées à coup de liens symboliques)

(note 2: pas regardé si on fait pas de même par ailleurs, genre PicklableUpload)


Files


Related issues

Related to w.c.s. - Développement #60302: Comprendre pourquoi on stocke des chemins absolus de fichiers (et corriger si ça se produit encore)Fermé05 January 2022

Actions

Associated revisions

Revision e224522e (diff)
Added by Frédéric Péters over 3 years ago

misc: reference attachments using a relative path (#21731)

History

#3

Updated by Frédéric Péters over 3 years ago

  • Assignee set to Frédéric Péters
  • Planning set to No
#4

Updated by Frédéric Péters over 3 years ago

Voilà sans exécution de migration générale mais si on voulait il y aurait juste à provoquer un .store() sur tous les formdata (ce qu'on pourrait limiter à l'SQL et ça serait trivial).

#5

Updated by Serghei Mihai over 3 years ago

  • Status changed from Solution proposée to Solution validée
#6

Updated by Frédéric Péters over 3 years ago

  • Status changed from Solution validée to Résolu (à déployer)
commit e224522eccc66b15cc303c68b9660a1967d6e868
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Sun Oct 31 13:49:21 2021 +0100

    misc: reference attachments using a relative path (#21731)
#7

Updated by Frédéric Péters over 3 years ago

  • Status changed from Résolu (à déployer) to Solution déployée
#8

Updated by Emmanuel Cazenave about 3 years ago

  • Related to Développement #60302: Comprendre pourquoi on stocke des chemins absolus de fichiers (et corriger si ça se produit encore) added

Also available in: Atom PDF