Forum

When i use the func...
 
Notifications
Retirer tout

When i use the functionality "copy the current Activity"

8 Posts
2 Utilisateurs
0 Reactions
8,226 Vu
(@a-mikael)
Posts: 35
Active Member
Début du sujet
 
[#858]

Hello babynus,

j'ai un problème de traduction lorsque j'utilise la fonctionnalité de copie (Activité et Jalon) :

Le plus étonnant c'est que ce problème n’apparaît qu'avec la langue française (espagnol, allemand, russe ... fonctionnent très bien).

Pourtant dans mon fichier tooli18nnlsfrlang.js j'ai bien :

Activity: "Activité",

La seule piste que j'ai trouvée dans le code est que au clic sur le bouton de copie, il passe par jsonList.php et $_REQUEST contient ceci :

critValue = undefined //alors qu'il devrais contenir Activity
critField = scope
dataType = idType
listType = list
required = true //sinon on peut le mettre à false pour laisser vide par défaut non? 

Voilà tous les éléments que j'ai pu rassembler, je continue à chercher

Merci d'avance 🙂


 
Posté : 14 Déc PM 18:1212
(@babynus)
Posts: 14952
Membre Admin
 

Bonjour,

Je ne peux pas reproduire.
Tout se déroule correctement pour moi en français.

Pourriez-vous essayer de :
- nettoyer le cache de votre navigateur
- vous déconnecter / reconnecter
- réessayer.

Merci.


 
Posté : 14 Déc PM 19:1212
(@a-mikael)
Posts: 35
Active Member
Début du sujet
 

C'est fait, mais comme je le pensais, ça n'a eu aucuns effets :S

Est-ce qu'un truc comme ça pourrait marcher ?

if($_REQUEST['critValue'] == "Activity"){$_REQUEST['critValue'] == "Activité";}

Si oui, à quel endroit ? Car j'ai essayé de le placer au début du fichier jsonList.php, mais aucun résultats.


 
Posté : 17 Déc AM 11:1212
(@babynus)
Posts: 14952
Membre Admin
 

Non, ce que vous proposez ne peut pas marcher.

1) Pourriez-vous tester sur la base de démo : reproduisez-vous le même comportement ou cela fonctionne-t-il correctement ?

2) Pourriez-vous vérifier le contenu de la table copyable ?
Ca devrait ressembler à :
id name idle sortOrder
1 Ticket 0 10
2 Activity 0 20
3 Milestone 0 30
4 IndividualExpense 0 40
5 ProjectExpense 0 50
6 Risk 0 60
7 Action 0 32
8 Issue 0 80
9 Meeting 0 90
10 Decision 0 100
11 Question 0 110
12 Requirement 0 35

3) Si cette table est correcte, pourriez-vous essayer de remplacer "Activité" par "Activite" (sans accent) dans /tool/i18n/nls/lang.xls, et reteser après avoir vidé le cache de votre navigateur.

Merci


 
Posté : 17 Déc PM 16:1212
(@a-mikael)
Posts: 35
Active Member
Début du sujet
 

Sur la démo, l'erreur ne se produit pas.

Ma table copyable correspond bien.

Et j'ai pensé aussi à l'accent dans tooli18nnlsfrlang.js

Mais le problème est identique pour l'onglet Jalon (Milestone en anglais).

Et n’apparaît pas pour Ticket et Action car la traduction anglais/français est identique.


 
Posté : 17 Déc PM 17:1212
(@babynus)
Posts: 14952
Membre Admin
 

Can you try to replace code in /view/js/projectorDialog.js, line 3284, from

function copyObjectTo(objectClass) {
  dojo.byId('copyClass').value=dojo.byId("objectClass").value;
  dojo.byId('copyId').value=dojo.byId("objectId").value;
  dijit.byId('copyToClass').set('displayedValue',i18n(objectClass));
  dijit.byId('copyToName').set('value',dijit.byId('name').get('value'));
  dijit.byId('copyToOrigin').set('checked','checked');
  copyObjectToShowStructure();
  dijit.byId('copyToType').reset();
  //if (dojo.byId('copyClass').value==class) {
    var runModif="dijit.byId('copyToType').set('value',dijit.byId('id"+objectClass+"Type').get('value'))";
    setTimeout(runModif,1);
  //}  
  
  dijit.byId('dialogCopy').show();	
}

to

function copyObjectTo(objectClass) {
  dojo.byId('copyClass').value=dojo.byId("objectClass").value;
  dojo.byId('copyId').value=dojo.byId("objectId").value;
  //dijit.byId('copyToClass').set('displayedValue',i18n(objectClass));
  for (var i in copyableArray) {
    if (copyableArray==objectClass) {
      dijit.byId('copyToClass').set('value',i);	
    }
  }
  dijit.byId('copyToName').set('value',dijit.byId('name').get('value'));
  dijit.byId('copyToOrigin').set('checked','checked');
  copyObjectToShowStructure();
  dijit.byId('copyToType').reset();
  //if (dojo.byId('copyClass').value==class) {
    var runModif="dijit.byId('copyToType').set('value',dijit.byId('id"+objectClass+"Type').get('value'))";
    setTimeout(runModif,1);
  //}  
  
  dijit.byId('dialogCopy').show();	
}

Refresh your browser cache and try again.


 
Posté : 18 Déc PM 12:1212
(@a-mikael)
Posts: 35
Active Member
Début du sujet
 

Problème résolu !

le problème provenait bien d'un script js.

La partie à remplacée était donc :

dijit.byId('copyToClass').set('displayedValue',i18n(objectClass));

par :

  for (var i in copyableArray) {
    if (copyableArray==objectClass) {
      dijit.byId('copyToClass').set('value',i);	
    }
  }

Merci Babynus


 
Posté : 18 Déc PM 13:1212
(@babynus)
Posts: 14952
Membre Admin
 

Bizarrement, le code précédent devrait aussi fonctionner...

Vous avez localement un problème sur le fichier de traduction utilisé par Javascript (utilisé par i18n), très certainement un problème de cache, peut-être au niveau serveur PHP.

Ce code étant plus fiable, il sera généralisé dans la V3.1.


 
Posté : 18 Déc PM 13:1212
Share:
Retour en haut