diff --git a/doc/fr/development_tutorial.md b/doc/fr/development_tutorial.md index fe829fe16bde688876aed947746fa041f69a8508..64fd53f812581f0819ae8266fe39b63c1f4309e1 100644 --- a/doc/fr/development_tutorial.md +++ b/doc/fr/development_tutorial.md @@ -357,22 +357,29 @@ __Note :__ La version d'AngularJS utilisée est une 1.x : la 2.x change complèt ### Sous Chrome -Ouvrir l'application dans Chrome à l'adresse http://localhost:8100 +#### Ouvrir l'explorateur de sources -Ouvrir la console de développeur : "Option > Plus d'outils > Outils de développement" +Ouvrez l'application dans Chrome à l'adresse http://localhost:8100 -Dans l'explorateur de fichier javascript : - - * Chercher et visualisé le fichier "js/controllers/wot-controllers.js" - * Chercher la méthode "certifyIdentity()" - * Placer un point d'arrêt. +Ouvrez les outils de développement : + * Menu `Option > Plus d'outils > Outils de développement` + * ou par le raccourcis clavier : `Ctrl + Maj + i` + +#### Débugger la certification d'un utilisateur + +Ouvrez l'explorateur de source, puis cherchez le fichier `dist/dist_js/app/controllers/wot-controllers.js`. -Dans l'application web : +Recherchez la méthode `$scope.certify()`, et placez y un point d'arrêt. - * Dans le menu de gauche, cliquer sur "Annuaire"; - * Recherche un utilisateur; - * Cliquer sur l'utilisateur pour visualiser son identité - * Cliquer sur le bouton "Certifier" +Naviguez dans l'application Cesium de la manière suivante : + + * Cliuquez dans le menu (à gauche) `Annuaire`; + * Recherche un utilisateur, puis visualiser son identité; + * Dans `Certification reçues`, cliquez sur le bouton `Certifier`; * Vérifier que la console s'arrête sur le point d'arrêt. -Pour découvrir le code, il est intéressant \ No newline at end of file +<img src="https://forum.duniter.org/uploads/default/original/2X/e/eca671a6d24b8e11566cfcca11b65e6c9c9c370c.png" width="690" height="223"> + +Découvrez le code en déroulant l'action pas à pas. + +> Utiliser les touches de `F9` à `F11`, pour rentrer dans une méthode (F11), avancer pas à pas (F10) ou jusqu'au prochain point d'arrêt (F9), etc. diff --git a/www/js/services/wot-services.js b/www/js/services/wot-services.js index 6cc428e5580f2a02f0326ac29e3f82df647ec5e7..90feb91d3e50e9d8c02a770854735a1793f00a16 100644 --- a/www/js/services/wot-services.js +++ b/www/js/services/wot-services.js @@ -189,9 +189,8 @@ angular.module('cesium.wot.services', ['ngResource', 'ngApi', 'cesium.bma.servic identity.sigDate = block.time; // Check if self has been done on a valid block - if (!identity.isMember && identity.number !== 0 && identity.hash !== block.hash) { - addEvent(identity, {type: 'error', message: 'ERROR.IDENTITY_INVALID_BLOCK_HASH'}); - console.debug("[wot] Invalid membership for {0}: block hash changed".format(identity.uid)); + if (identity.number !== 0 && identity.hash !== block.hash) { + identity.hasBadSelfBlock = true; } return identity; @@ -452,6 +451,13 @@ angular.module('cesium.wot.services', ['ngResource', 'ngApi', 'cesium.bma.servic }) ]) .then(function() { + if (data.hasBadSelfBlock) { + delete data.hasBadSelfBlock; + if (!data.isMember) { + addEvent(data, {type: 'error', message: 'ERROR.IDENTITY_INVALID_BLOCK_HASH'}); + console.debug("[wot] Invalid membership for {0}: block hash changed".format(data.uid)); + } + } return $q.all([ // Get received certifications