Bug #66341
Import base_adresse: en cas d'ajout de codes postaux, l'import ne se fait pas
0%
Description
Suite au patch #65843 l'import ne se fait que quand le fichier de la ban est récent. Or, lorsqu'on ajoute des codes postaux, l'import devrait être systématique.
Fichiers
Demandes liées
Historique
Mis à jour par Pierre Ducroquet il y a presque 2 ans
- Fichier 0001-base_adresse-fix-import-skipped-too-eagerly-66341.patch 0001-base_adresse-fix-import-skipped-too-eagerly-66341.patch ajouté
- Tracker changé de Support à Bug
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Thomas Noël il y a presque 2 ans
Mais dans "zipcode" en réalité on peut poser des préfixes, par exemple "91" va charger toutes les rues de toutes les villes du 91.
Et dans ce cas, filter(zipcode=zipcode).exists() sera toujours faux, car 91 n'est pas un code postal.
Selon moi on peut difficilement se baser sur ce qui existe dans self.streetmodel_set
Ce qu'on pourrait éventuellement revoir, c'est au niveau de BaseAdresse.save : si self.zipcode a été changé, alors on lancerait un job update_streets_data_force, lequel serait une fonction appelant self.update_streets_data(force=True)
Mis à jour par Valentin Deniaud il y a presque 2 ans
- Lié à Bug #66342: base adresse, le cron qui met à jour les rues ne tourne plus ? ajouté
Mis à jour par Pierre Ducroquet il y a presque 2 ans
- Fichier 0001-base_adresse-fix-import-skipped-too-eagerly-66341.patch 0001-base_adresse-fix-import-skipped-too-eagerly-66341.patch ajouté
Ci-joint, un patch qui devrait faire la job, comme on dit
Mis à jour par Emmanuel Cazenave il y a presque 2 ans
Ça manque de test unitaire (je dis ça sans mesurer la complexité à reproduire le bug dans un test).
Mis à jour par Thomas Noël il y a presque 2 ans
Emmanuel Cazenave a écrit :
Ça manque de test unitaire (je dis ça sans mesurer la complexité à reproduire le bug dans un test).
Ouaip, il faut ajouter des tests...
Sur le
if self.get_zipcodes() != BaseAdresse.objects.get(id=self.pk).get_zipcodes():
il faut plutôt comparer des set() de chaque membre.
Mis à jour par Thomas Noël il y a presque 2 ans
- Statut changé de Solution proposée à Rejeté
Annulé suite à #66342 (revert général des optimisations qui provoquaient quelques regressions)