http://redmine.ulysses.fr/http://redmine.ulysses.fr/themes/PurpleMine2/favicon/favicon.ico?16318893672013-06-15T07:13:44ZGalette bugs & featuresGalette - Anomalie #621: Envoi d'un mail vide après tentative de récupération d'un mot de passehttp://redmine.ulysses.fr/issues/621?journal_id=151312013-06-15T07:13:44ZJohan Cwiklinskijohan@x-tnd.be
<ul><li><strong>Assigné à</strong> mis à <i>Johan Cwiklinski</i></li><li><strong>Catégorie</strong> changé de <i>Core</i> à <i>I18n</i></li><li><strong>Statut</strong> changé de <i>Nouveau</i> à <i>In Progress</i></li></ul>Deux problèmes ici :
<ul>
<li>pas de fallback sur la langue si elle est absente,</li>
<li>pas de langue pour certains adhérents.</li>
</ul>
<p>Pour le premier, on peut ajouter un test ; voici le patch :<br /><pre><code class="diff syntaxhl" data-language="diff"><span class="gh">diff --git a/galette/lib/Galette/Entity/Texts.php b/galette/lib/Galette/Entity/Texts.php
index 83b6c47..2b1bba6 100644
</span><span class="gd">--- a/galette/lib/Galette/Entity/Texts.php
</span><span class="gi">+++ b/galette/lib/Galette/Entity/Texts.php
</span><span class="p">@@ -242,7 +242,26 @@</span> class Texts
*/
public function getTexts($ref,$lang)
{
<span class="gd">- global $zdb;
</span><span class="gi">+ global $zdb, $i18n;
+
+ //check if language is set and exists
+ $langs = $i18n->getList();
+ $is_lang_ok = false;
+ foreach ( $langs as $l ) {
+ if ( $lang === $l->getID() ) {
+ $is_lang_ok = true;
+ break;
+ }
+ }
+
+ if ( $is_lang_ok !== true ) {
+ Analog::log(
+ 'Language ' . $lang .
+ ' does not exists. Falling back to default Galette lang.',
+ Analog::ERROR
+ );
+ $lang = $i18n->getID();
+ }
</span>
try {
$select = new \Zend_Db_Select($zdb->db);
</code></pre></p>
<p>Pour le second souci, c'est autre chose... Lorsque l'on crée un objet Adhérent, la langue est par défaut définie sur la langue de Galette ; puis elle est modifiée lors de l'envoi du formulaire d'inscription. Je ne parviens pas à comprendre comment ces adhérents se sont retrouvés avec une langue à NULL, je n'ai pas le cas dans mes différentes bases, et ne parviens pas à le reproduire :/</p>
<p>Il est possible de définir la langue par défaut de Galette au chargement de l'adhérent, c'est probablement ce que je vais faire pour éviter des problèmes à d'autres endroits avec la langue.</p> Galette - Anomalie #621: Envoi d'un mail vide après tentative de récupération d'un mot de passehttp://redmine.ulysses.fr/issues/621?journal_id=151332013-06-15T19:04:20ZRaphaël Hertzographael@ouaza.com
<ul></ul><p>Les comptes avec pref_lang=NULL sont d'anciens comptes créés sûrement à l'époque de la version 0.6x de galette. Donc c'est sûrement la mise à jour qui n'a pas correctement initialisée le champ.</p> Galette - Anomalie #621: Envoi d'un mail vide après tentative de récupération d'un mot de passehttp://redmine.ulysses.fr/issues/621?journal_id=151412013-06-22T08:20:06ZJohan Cwiklinskijohan@x-tnd.be
<ul><li><strong>Statut</strong> changé de <i>In Progress</i> à <i>Résolu</i></li><li><strong>% réalisé</strong> changé de <i>0</i> à <i>100</i></li></ul><p>Appliqué par commit <a class="changeset" title="Check if language code exists when loading Texts; to avoid empty results; fixes #621" href="http://redmine.ulysses.fr/projects/galette/repository/62/revisions/a06f8ac26f97886436a2c255029c584a228afd44">a06f8ac26f97886436a2c255029c584a228afd44</a>.</p> Galette - Anomalie #621: Envoi d'un mail vide après tentative de récupération d'un mot de passehttp://redmine.ulysses.fr/issues/621?journal_id=151512013-06-22T19:25:37ZJohan Cwiklinskijohan@x-tnd.be
<ul><li><strong>Statut</strong> changé de <i>Résolu</i> à <i>Fermé</i></li></ul>