bug dans la gestion des langues avec le multilinguisme : impossible de fixer la traduction d'un article/objet dans une config multilangue par secteur #3707

Closed
opened 7 years ago by g0uZ · 10 comments
g0uZ commented 7 years ago

Configuration adopté coté multilinguisme :

Rubriques : activer le menu de langue : actif
... seulement pour les rubriques situées à la racine ? : actif
Rubriques : gérer les liens de traduction : actif
Articles : activer le menu de langue : inactif
Articles : gérer les liens de traduction : actif

il n'est plus possible de changer la traduction associée à un objet dans cette configuration, le patch suivant règle le problème :

http://spip.pastebin.fr/45823

Configuration adopté coté multilinguisme : Rubriques : activer le menu de langue : actif ... seulement pour les rubriques situées à la racine ? : actif Rubriques : gérer les liens de traduction : actif Articles : activer le menu de langue : inactif Articles : gérer les liens de traduction : actif il n'est plus possible de changer la traduction associée à un objet dans cette configuration, le patch suivant règle le problème : http://spip.pastebin.fr/45823
Poster
plutôt http://spip.pastebin.fr/45824
b_b commented 7 years ago
Owner

Salut Guillaume, peux-tu attacher un diff au ticket stp ? Cela permet de voir les changements directement depuis redmine.

Salut Guillaume, peux-tu attacher un diff au ticket stp ? Cela permet de voir les changements directement depuis redmine.
Poster

Je casse juste le bloc en deux en fait, pour autoriser l'action avec l'autorisation adéquate :

157c157,158
< 
---
>         }
>         if (!_request('annuler') and autoriser('changertraduction', $objet, $id_objet)) {
Je casse juste le bloc en deux en fait, pour autoriser l'action avec l'autorisation adéquate : <pre> 157c157,158 < --- > } > if (!_request('annuler') and autoriser('changertraduction', $objet, $id_objet)) { </pre>
b_b commented 7 years ago
Owner

Le diff qui va bien...

Le diff qui va bien...
b_b commented 7 years ago
Owner

Il semble que ce bug soit aussi signalé sur user http://article.gmane.org/gmane.comp.web.spip.user/197561

Il est temps de prendre une décision à propos de l'intégration du patch...
Statut changé à En cours

Il semble que ce bug soit aussi signalé sur user http://article.gmane.org/gmane.comp.web.spip.user/197561 Il est temps de prendre une décision à propos de l'intégration du patch... **Statut changé à En cours**
Poster

Il y avait encore des coquilles dans le code envoyé, je n'utilisais pas l'autorisation "changerlangue" pour la partie html du formulaire CVT... C'est réglé dans le ZIP.

Il y avait encore des coquilles dans le code envoyé, je n'utilisais pas l'autorisation "changerlangue" pour la partie html du formulaire CVT... C'est réglé dans le ZIP.
Poster

le patch demandé sur IRC :

--- prive/formulaires/traduire.php      2016-03-10 15:32:38.000000000 +0100
+++ /var/www/www.root-me.org/htdocs/prive/formulaires/traduire.php      2016-05-26 09:27:03.194473328 +0200
`` -154,7 +154,8 ``
        if (!_request('annuler') and autoriser('changerlangue', $objet, $id_objet)) {
                // action/editer_xxx doit traiter la modif de changer_lang
                $res = formulaires_editer_objet_traiter($objet, $id_objet, 0, 0, $retour);
-
+        }
+        if (!_request('annuler') and autoriser('changertraduction', $objet, $id_objet)) {
                if ($id_trad = _request('id_trad') or _request('supprimer_trad')) {
                        $referencer_traduction = charger_fonction('referencer_traduction', 'action');
                        $referencer_traduction($objet, $id_objet, intval($id_trad)); // 0 si supprimer_trad
`` -166,7 +167,7 ``
                        $_id_table_objet = id_table_objet($objet);
                        if ($id_trad = sql_getfetsel('id_trad', $table_objet_sql, "$_id_table_objet=" . intval($id_objet))) {
                                $referencer_traduction = charger_fonction('referencer_traduction', 'action');
-                               $referencer_traduction($objet, $id_trad, $new_id_trad);
+                               $res = $referencer_traduction($objet, $id_trad, $new_id_trad);
                        }
                }
        }
--- prive/formulaires/traduire.html     2016-03-10 15:32:38.000000000 +0100
+++ /var/www/www.root-me.org/htdocs/prive/formulaires/traduire.html     2016-05-26 09:31:39.834465138 +0200
`` -24,7 +24,7 ``
                                                        f.find('.boutons,.new_trad,.editer_id_trad').show('fast');
                                                        f.find('#changer_lang').eq(0).focus();return false;"
                                                ><:bouton_changer:> \([(#ENV{_langue}|?{[(#ENV{_objet}|objet_info{texte_langue_objet}|_T)],<:info_traductions:>})]\)]
-                                       [(#ENV{_langue}|oui)
+                                       [(#ENV{editable}|oui)
                                        [
                                        (#INCLURE{fond=formulaires/inc-options-langues,name=changer_lang,default=#ENV**{_langue},herit=#ENV**{langue_parent}})
                                        ]]]

le patch demandé sur IRC : <pre> --- prive/formulaires/traduire.php 2016-03-10 15:32:38.000000000 +0100 +++ /var/www/www.root-me.org/htdocs/prive/formulaires/traduire.php 2016-05-26 09:27:03.194473328 +0200 `` -154,7 +154,8 `` if (!_request('annuler') and autoriser('changerlangue', $objet, $id_objet)) { // action/editer_xxx doit traiter la modif de changer_lang $res = formulaires_editer_objet_traiter($objet, $id_objet, 0, 0, $retour); - + } + if (!_request('annuler') and autoriser('changertraduction', $objet, $id_objet)) { if ($id_trad = _request('id_trad') or _request('supprimer_trad')) { $referencer_traduction = charger_fonction('referencer_traduction', 'action'); $referencer_traduction($objet, $id_objet, intval($id_trad)); // 0 si supprimer_trad `` -166,7 +167,7 `` $_id_table_objet = id_table_objet($objet); if ($id_trad = sql_getfetsel('id_trad', $table_objet_sql, "$_id_table_objet=" . intval($id_objet))) { $referencer_traduction = charger_fonction('referencer_traduction', 'action'); - $referencer_traduction($objet, $id_trad, $new_id_trad); + $res = $referencer_traduction($objet, $id_trad, $new_id_trad); } } } --- prive/formulaires/traduire.html 2016-03-10 15:32:38.000000000 +0100 +++ /var/www/www.root-me.org/htdocs/prive/formulaires/traduire.html 2016-05-26 09:31:39.834465138 +0200 `` -24,7 +24,7 `` f.find('.boutons,.new_trad,.editer_id_trad').show('fast'); f.find('#changer_lang').eq(0).focus();return false;" ><:bouton_changer:><i class="over"> \([(#ENV{_langue}|?{[(#ENV{_objet}|objet_info{texte_langue_objet}|_T)],<:info_traductions:>})]\)</i></a>&#93;</span> - [(#ENV{_langue}|oui) + [(#ENV{editable}|oui) [<span class="input[(#ENV{_saisie_en_cours}|non)none-js]"> <select name="changer_lang" id="changer_lang">(#INCLURE{fond=formulaires/inc-options-langues,name=changer_lang,default=#ENV**{_langue},herit=#ENV**{langue_parent}})</select> </span>]]] </pre>
b_b commented 7 years ago
Owner

Version cible mise à 3.1

**Version cible mise à 3.1**

Appliqué par commit r23087.
Statut changé à Fermé

Appliqué par commit r23087. **Statut changé à Fermé**
b_b commented 6 years ago
Owner
There is no content yet.
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.