Anomalie #743
ferméGalette v0.7.7dev. Apparition intempestive de la pj dans la copie d'un e-mailing en contenant une.
100%
Description
Lorsqu'on utilise comme modèle un e-mailing contenant une pièce jointe, celui-ci apparaît dans les pièces jointes déjà insérées. Bien entendu, la destruction de cette pièce jointe (qui n'en est pas une) provoque une page blanche avec l'erreur suivante :178.33.103.83 - 2013-10-31 20:39:04 - 4 - PHP Warning: copy(/homez.42/xxxxxxxx/membres/includes/../attachments/t0c8gv8yw48763hb51x1rgm6r8zdua/ExtraitNo135Opt.pdf): failed to open stream: Aucun fichier ou dossier de ce type in /homez.42/xxxxxxxx/membres/lib/Galette/IO/File.php on line 130
Si on ignore cette anomalie, il est tout de même possible de préparer le nouvel e-mailing et de l'enregistrer sans difficulté et sans ... ladite pj ;-)
Mis à jour par Johan Cwiklinski il y a presque 11 ans
Je ne sais pas trop quel est le bug ici à vrai dire... :p
J'avais prévu initialement que tout mail qui servirait de modèle récupèrerai l'ensemble des propriétés du modèles, incluant les pièces jointes. Du coup, que faire ? Conserver mon idée initiale, ou faire en sorte qu'un mailing à partir d'un modèle ne tienne pas compte des pièces jointes ?
Attention : cela vaut uniquement pour les mailings déjà envoyés. En 0.7.7, les mailings qui n'ont pas été envoyés et qui sont enregistrés dans l'historique ne donnent pas lieu à un nouveau mailing, et ils récupèreront donc dans tous les cas l'ensemble des propriétés (pièces-jointes inclues).
Mis à jour par Roland Telle il y a presque 11 ans
Johan Cwiklinski a écrit :
Je ne sais pas trop quel est le bug ici à vrai dire... :p
Un dessin vaut mieux qu'un long discours ;-)
Je veux utiliser comme modèle un courriel déjà diffusé avec une pièce jointe. Cette pièce jointe apparaît comme déjà jointe (flèche rouge) mais je n'en veux pas.
Donc je clique sur la croix rouge pour virer cette pièce jointe du courriel que je veux envoyer et paf ! j'ai l'anomalie décrite ci-dessus (= page blanche ...). Car en fait, cette pièce jointe ne l'est pas. Pour preuve, si je laisse cette pj quand j'envoie le nouveau courriel, celui-ci est diffusé ... sans pj !
J'avais prévu initialement que tout mail qui servirait de modèle récupèrerai l'ensemble des propriétés du modèles, incluant les pièces jointes. Du coup, que faire ? Conserver mon idée initiale, ou faire en sorte qu'un mailing à partir d'un modèle ne tienne pas compte des pièces jointes ?
Je ne discute pas du tout le principe de conserver les pièces jointes dans la copie du courriel déjà expédié !
Attention : cela vaut uniquement pour les mailings déjà envoyés. En 0.7.7, les mailings qui n'ont pas été envoyés et qui sont enregistrés dans l'historique ne donnent pas lieu à un nouveau mailing, et ils récupèreront donc dans tous les cas l'ensemble des propriétés (pièces-jointes inclues).
C'est clair et c'est parfait ;-)
Ai-je été plus clair ?
Mis à jour par Johan Cwiklinski il y a presque 11 ans
- Assigné à mis à Johan Cwiklinski
- Catégorie mis à Emails
Roland Telle a écrit :
Je ne discute pas du tout le principe de conserver les pièces jointes dans la copie du courriel déjà expédié !
Ha, ok, d'accord :)
Attention : cela vaut uniquement pour les mailings déjà envoyés. En 0.7.7, les mailings qui n'ont pas été envoyés et qui sont enregistrés dans l'historique ne donnent pas lieu à un nouveau mailing, et ils récupèreront donc dans tous les cas l'ensemble des propriétés (pièces-jointes inclues).
C'est clair et c'est parfait ;-)
Ai-je été plus clair ?
Oui, merci pour les précisions, je vais voir à corriger ça.
Mis à jour par Johan Cwiklinski il y a presque 11 ans
- % réalisé changé de 0 à 100
- Statut changé de Nouveau à Résolu
Appliqué par commit cd8b8547b5fbb4f5005595b3091c530ff475d0a0.
Mis à jour par Roland Telle il y a presque 11 ans
L'anomalie est en effet corrigée ; en revanche, le nom du fichier n'apparaît plus dans la consultation de l'e-mailing d'origine (après que ladite pj ait été détruite dans la copie d'e-mailing, je ne sais pas s'il y a un lien de cause à effet). La création de copies d'e-mailing ayant une pj mais qui ne sont ni sauvegardées, ni expédiées génère dans le répertoire attachments des sous-répertoires qui y restent sine die semble-t-il :
Mis à jour par Johan Cwiklinski il y a presque 11 ans
- % réalisé changé de 100 à 0
- Statut changé de Résolu à Nouveau
Roland Telle a écrit :
L'anomalie est en effet corrigée ; en revanche, le nom du fichier n'apparaît plus dans la consultation de l'e-mailing d'origine (après que ladite pj ait été détruite dans la copie d'e-mailing, je ne sais pas s'il y a un lien de cause à effet).
Hum... Il y a des chances que ce soit relaltif aux récentes modifications que j'ai apportées.
La création de copies d'e-mailing ayant une pj mais qui ne sont ni sauvegardées, ni expédiées génère dans le répertoire attachments des sous-répertoires qui y restent sine die semble-t-il :
Normalement, les dossiers temporaires sont supprimés maintenant, j'ai corrigé ce point il y a peu (en revanche, ceux qui existent déjà ne seront pas supprimés). Enfin, les dossiers tomporaires sont supprimés si on annule « proprement » le mailing (il n'est pas possible de faire autrement de toutes façons).
Mis à jour par Johan Cwiklinski il y a presque 11 ans
- % réalisé changé de 0 à 100
- Statut changé de Nouveau à Résolu
Mis à jour par Johan Cwiklinski il y a presque 11 ans
Johan Cwiklinski a écrit :
Roland Telle a écrit :
L'anomalie est en effet corrigée ; en revanche, le nom du fichier n'apparaît plus dans la consultation de l'e-mailing d'origine (après que ladite pj ait été détruite dans la copie d'e-mailing, je ne sais pas s'il y a un lien de cause à effet).
Hum... Il y a des chances que ce soit relaltif aux récentes modifications que j'ai apportées.
Corrigé dans 3eed586ee001b458839b35bf6feaf09d84bca8a9
Mis à jour par Roland Telle il y a presque 11 ans
Roland Telle a écrit :
Tout fonctionne parfaitement. Merci.
... hormis un effet collatéral non désiré : lors de la création d'un e-mailing, le nom du fichier joint apparaît deux fois :
Mis à jour par Johan Cwiklinski il y a presque 11 ans
Je pense que ça devrait corriger c problème, en ajoutant pas d'effets de bord :
diff --git a/galette/lib/Galette/Core/Mailing.php b/galette/lib/Galette/Core/Mailing.php
index 0e4a5d3..5dfb5fd 100644
--- a/galette/lib/Galette/Core/Mailing.php
+++ b/galette/lib/Galette/Core/Mailing.php
@@ -163,7 +163,9 @@ class Mailing extends GaletteMail
} else {
$this->_tmp_path = null;
$this->_id = $rs->mailing_id;
- $this->_loadAttachments();
+ if ( !$this->attachments ) {
+ $this->_loadAttachments();
+ }
$this->_history_id = $rs->mailing_id;
}
}
Pourrais-tu tester et me confirmer que c'est OK ?
Mis à jour par Roland Telle il y a presque 11 ans
Johan Cwiklinski a écrit :
Je pense que ça devrait corriger c problème, en ajoutant pas d'effets de bord : [...]
Pourrais-tu tester et me confirmer que c'est OK ?
C'est Ok ! Merci.
Mis à jour par Johan Cwiklinski il y a presque 11 ans
- Statut changé de Résolu à Fermé
Hop, corrigé, (47ffab6a8088204b86e994fee7c92cbd560deae6)