diff --git a/www/i18n/locale-fr-FR.json b/www/i18n/locale-fr-FR.json index 076723290c22e127d814d824c06aac2f0d77818c..2fd9a56cd8a2e2220661371672b73d1215b59e97 100644 --- a/www/i18n/locale-fr-FR.json +++ b/www/i18n/locale-fr-FR.json @@ -400,7 +400,7 @@ "CONFIRMATION_WALLET_ACCOUNT": "<b class=\"assertive\">Avertissement :</b> l'identifiant secret et le mot de passe ne pourront plus être modifiés.<br/><br/><b>Assurez-vous de toujours vous en rappeller !</b><br/><br/><b>Etes-vous sûr</b> de vouloir continuer avec ces identifiants ?", "PSEUDO_AVAILABLE": "Pseudonyme disponible", "PSEUDO_NOT_AVAILABLE": "Pseudonyme non disponible", - "INFO_LICENSE": "Avant d'adhérer à la monnaie, veuillez <b>lire et accepter la licence</b> d'usage de la monnaie :", + "INFO_LICENSE": "Avant de créer un compte membre, <b>veuillez lire et accepter la licence</b> d'usage de la monnaie :", "BTN_ACCEPT": "J'accepte", "BTN_ACCEPT_LICENSE": "J'accepte la license" }, diff --git a/www/js/controllers/join-controllers.js b/www/js/controllers/join-controllers.js index 7e147cad329c8dba53f77993d7750558b21ec5be..f5f0b728f140b44e9041da06d2539c40b1e4b717 100644 --- a/www/js/controllers/join-controllers.js +++ b/www/js/controllers/join-controllers.js @@ -233,6 +233,9 @@ function JoinModalController($scope, $state, $interval, $timeout, UIUtils, Crypt if(!$scope[formName].$valid) { return; } + if (formName === "pseudoForm" && $scope.uiAlreadyUsed) { + return; + } if (formName === "passwordForm") { $scope.showAccountPubkey(); } @@ -369,7 +372,10 @@ function JoinModalController($scope, $state, $interval, $timeout, UIUtils, Crypt }; $scope.checkUid = function(){ - if (!$scope.formData.pseudo || !$scope.formData.pseudo.length) return; + if (!$scope.formData.pseudo || !$scope.formData.pseudo.length) { + $scope.uiAlreadyUsed = undefined; + return; + } var uid = $scope.formData.pseudo.toUpperCase(); $scope.formData.computing=true; @@ -377,20 +383,19 @@ function JoinModalController($scope, $state, $interval, $timeout, UIUtils, Crypt // search on uid BMA.wot.lookup({ search: uid }) .then(function(res) { - var uidAlreadyUsed = (res.results || []).some(function(pub){ + $scope.uiAlreadyUsed = (res.results || []).some(function(pub){ return (pub.uids || []).some(function(idty) { return (idty.uid.toUpperCase() === uid); // same Uid }); }); - $scope.isUidValid = !uidAlreadyUsed; $scope.formData.computing=false; }) .catch(function(err){ $scope.formData.computing=false; - $scope.isUidValid = true; + $scope.uiAlreadyUsed = false; }); }; - //$scope.$watch('formData.pseudo', $scope.checkUid, true); + $scope.$watch('formData.pseudo', $scope.checkUid, true); $scope.checkAccountAvailable = function() { var pub = $scope.formData.pubkey; diff --git a/www/templates/join/modal_join_member.html b/www/templates/join/modal_join_member.html index 3f4f28e2a6f01c7eeb2d080cc34bca04e2f6f851..9607f991a4b820c6d132c20571661ce209da2bc9 100644 --- a/www/templates/join/modal_join_member.html +++ b/www/templates/join/modal_join_member.html @@ -84,7 +84,7 @@ <!-- pseudo --> <div class="item item-input" - ng-class="{'item-input-error': pseudoForm.$submitted && pseudoForm.pseudo.$invalid}"> + ng-class="{'item-input-error': (pseudoForm.$submitted && pseudoForm.pseudo.$invalid) || (uiAlreadyUsed && formData.pseudo)}"> <span class="input-label" translate>ACCOUNT.NEW.PSEUDO</span> <input name="pseudo" type="text" placeholder="{{'ACCOUNT.NEW.PSEUDO_HELP' | translate}}" ng-model="formData.pseudo" @@ -109,26 +109,22 @@ <div class="form-error" ng-message="pattern"> <span translate="ERROR.INVALID_USER_ID"></span> </div> - <div class="form-error" ng-message="uidAlreadyUsed"> - <!--<i class="icon ion-close-circled assertive"></i>--> - <span translate="ACCOUNT.NEW.PSEUDO_NOT_AVAILABLE"></span> - </div> </div> <!-- Show if valid pseudo--> <div class="item item-button-right left" ng-if="formData.computing && formData.pseudo"> <ion-spinner icon="android"></ion-spinner> </div> - <!--<div class="form-errors"> - <ion-item class="item-icon-left" ng-if="!UIDFound && !formData.computing && formData.pseudo"> + <div class="text-right" ng-if="!formData.computing"> + <div class="form-error balanced" ng-if="!uiAlreadyUsed && formData.pseudo"> <i class="icon ion-checkmark balanced"></i> <span translate>ACCOUNT.NEW.PSEUDO_AVAILABLE</span> - </ion-item> - <ion-item class="item-icon-left" ng-if="UIDFound && !formData.computing && formData.pseudo"> + </div> + <div class="form-error" ng-if="uiAlreadyUsed && formData.pseudo"> <i class="icon ion-close-circled assertive"></i> <span translate>ACCOUNT.NEW.PSEUDO_NOT_AVAILABLE</span> - </ion-item> - </div>--> + </div> + </div> <div class="padding hidden-xs text-right"> <button class="button button-clear button-dark ink" ng-click="closeModal()" type="button" translate>COMMON.BTN_CANCEL