This is an automated email from the git hooks/post-receive script. New commit to branch devel in repository pollen. See http://git.chorem.org/pollen.git commit da31e2855a7bb26e315dfc6f18ded4bb63f468c2 Author: Adrien Garandel <a.garandel@dralagen.fr> Date: Mon Jun 2 11:18:33 2014 +0200 Add form lostPassword --- pollen-rest-api/src/main/resources/mapping | 2 +- pollen-ui-angular/src/main/webapp/index.html | 2 +- pollen-ui-angular/src/main/webapp/js/app.js | 1 + .../src/main/webapp/js/controllers/userCtrl.js | 21 +++++ pollen-ui-angular/src/main/webapp/js/services.js | 8 ++ .../src/main/webapp/partials/user-login.html | 2 + .../main/webapp/partials/user-lostPassword.html | 47 ++++++++++ .../src/main/webapp/partials/user-register.html | 104 +++++++++++---------- 8 files changed, 134 insertions(+), 53 deletions(-) diff --git a/pollen-rest-api/src/main/resources/mapping b/pollen-rest-api/src/main/resources/mapping index fe48ec3..06799d9 100644 --- a/pollen-rest-api/src/main/resources/mapping +++ b/pollen-rest-api/src/main/resources/mapping @@ -53,7 +53,7 @@ GET /v1/doc DocApi.showMapping # AuthApi POST,PUT /v1/login AuthApi.login -GET /v1/lostpassword/{token} AuthApi.lostPassword +GET /v1/lostpassword/{login} AuthApi.lostPassword GET /v1/logout AuthApi.logout # ChoiceApi diff --git a/pollen-ui-angular/src/main/webapp/index.html b/pollen-ui-angular/src/main/webapp/index.html index 173af00..3a6f668 100644 --- a/pollen-ui-angular/src/main/webapp/index.html +++ b/pollen-ui-angular/src/main/webapp/index.html @@ -83,7 +83,7 @@ <li class="dropdown" ng-show="currentUser.id"> <a href="#" role="button" class="dropdown-toggle" data-toggle="dropdown"> - {{ currentUser.name || currentUser.login }} <strong class="caret"></strong> + {{ currentUser.name || currentUser.email }} <strong class="caret"></strong> </a> <ul class="dropdown-menu" role="menu"> diff --git a/pollen-ui-angular/src/main/webapp/js/app.js b/pollen-ui-angular/src/main/webapp/js/app.js index 1a252fa..e310b8f 100644 --- a/pollen-ui-angular/src/main/webapp/js/app.js +++ b/pollen-ui-angular/src/main/webapp/js/app.js @@ -69,6 +69,7 @@ angular.module('pollen', ['pollenServices', 'ngRoute', 'pollControllers', 'userC .when('/poll/list/:cmd', {templateUrl: './partials/poll-list.html', controller :"PollListCtrl"}) .when('/user/register', {templateUrl: './partials/user-register.html', controller:"UserRegisterCtrl"}) .when('/user/edit', {templateUrl: './partials/user-edit.html', controller:"UserEditCtrl"}) + .when('/user/lostpassword', {templateUrl: './partials/user-lostPassword.html', controller:"UserLostPasswordCtrl"}) .otherwise({redirectTo: '/'}); }]) diff --git a/pollen-ui-angular/src/main/webapp/js/controllers/userCtrl.js b/pollen-ui-angular/src/main/webapp/js/controllers/userCtrl.js index 218f6df..e4c8070 100644 --- a/pollen-ui-angular/src/main/webapp/js/controllers/userCtrl.js +++ b/pollen-ui-angular/src/main/webapp/js/controllers/userCtrl.js @@ -29,6 +29,8 @@ $scope.submit = function () { if ($scope.data.user.password == $scope.data.user.password2) { User.add({}, $scope.data.user, function (data) { + $scope.saved = true; + $scope.data.user = {email:'', password:'', password2:''}; }, function (error) { $scope.restError = error.data; }); @@ -36,6 +38,25 @@ } }]) +.controller('UserLostPasswordCtrl', ['$scope', 'UserLostPassword', function ($scope, UserLostPassword) { + $scope.email = ''; + $scope.submit = function () { + if ($scope.email != '') { + UserLostPassword.send({login:$scope.email}, function (data) { + $scope.saved = true; + $scope.email = ''; + }, function (error) { + $scope.restError = {email: ["email n'a pas été trouvé"]}; + }) + } + else { + $scope.restError = {email : ["email ne peut pas être vide"]}; + } + } +}]) + + + .controller('UserEditCtrl', ['$scope', 'User', 'SessionStorage', function ($scope, User, SessionStorage) { $scope.currentUser = SessionStorage.get().user; $scope.currentUser.password = ''; diff --git a/pollen-ui-angular/src/main/webapp/js/services.js b/pollen-ui-angular/src/main/webapp/js/services.js index 8171f52..20679cf 100644 --- a/pollen-ui-angular/src/main/webapp/js/services.js +++ b/pollen-ui-angular/src/main/webapp/js/services.js @@ -168,6 +168,14 @@ angular.module('pollenServices', ['ngResource']) }) }]) +.factory('UserLostPassword', ['$resource', function ($resource) { + return $resource(conf.restURL+'/lostpassword/:login', {}, + { + 'send' : { + method: 'GET' + } + }) +}]) .factory('SessionStorage', [function () { var storageId='sessionStorage'; diff --git a/pollen-ui-angular/src/main/webapp/partials/user-login.html b/pollen-ui-angular/src/main/webapp/partials/user-login.html index 5d8f8e4..9a6cf79 100644 --- a/pollen-ui-angular/src/main/webapp/partials/user-login.html +++ b/pollen-ui-angular/src/main/webapp/partials/user-login.html @@ -22,6 +22,8 @@ <div class="form-actions"> <button type="submit" class="btn btn-primary">Connexion</button> + <hr/> + <a href="#/user/lostpassword">Mot de passe oublié</a> </div> </form> \ No newline at end of file diff --git a/pollen-ui-angular/src/main/webapp/partials/user-lostPassword.html b/pollen-ui-angular/src/main/webapp/partials/user-lostPassword.html new file mode 100644 index 0000000..1108f58 --- /dev/null +++ b/pollen-ui-angular/src/main/webapp/partials/user-lostPassword.html @@ -0,0 +1,47 @@ +<!-- + #%L + Pollen :: UI (Angular) + %% + Copyright (C) 2009 - 2014 CodeLutin + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + #L% + --> +<alert type="success" class="alert-float" ng-show="saved" close="saved = false"> Compte enregisté, un mail de validation vient d'être envoyé..</alert> + +<h2>Mot de passe oublié</h2> +<form ng-submit="submit()" class="form-horizontal"> + + <div class="control-group"> + + <label for="formEmail" class="col-sm-5 text-right control-label"> + Courriel + </label> + + <div class="col-sm-6"> + <input type="email" id="formEmail" name="email" class="form-control" ng-model="email"/> + </div> + <div class="col-sm-1"> + <info-error error="restError.email[0]" data="email"></info-error> + </div> + </div> + + <div class="control-group"> + <div class="col-sm-5"></div> + <div class="col-sm-6"> + <button class="btn btn-primary" type="submit">Récupéré</button> + </div> + <div class="col-sm-1"></div> + </div> +</form> \ No newline at end of file diff --git a/pollen-ui-angular/src/main/webapp/partials/user-register.html b/pollen-ui-angular/src/main/webapp/partials/user-register.html index 6ae1a8f..3109875 100644 --- a/pollen-ui-angular/src/main/webapp/partials/user-register.html +++ b/pollen-ui-angular/src/main/webapp/partials/user-register.html @@ -18,66 +18,68 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #L% --> - <h2>Créer un compte</h2> - <form ng-submit="submit()" class="form-horizontal"> +<alert type="success" class="alert-float" ng-show="saved" close="saved = false"> Compte enregisté, un mail de validation vient d'être envoyé..</alert> - <div class="control-group"> +<h2>Créer un compte</h2> +<form ng-submit="submit()" class="form-horizontal"> - <label for="formEmail" class="col-sm-5 text-right control-label"> - Courriel - </label> + <div class="control-group"> - <div class="col-sm-6"> - <input type="email" id="formEmail" name="email" class="form-control" ng-model="data.user.email"/> - </div> - <div class="col-sm-1"> - <info-error error="restError.email[0]" data="data.user.email"></info-error> - </div> - </div> + <label for="formEmail" class="col-sm-5 text-right control-label"> + Courriel + </label> - <div class="control-group"> - <label for="formName" class="col-sm-5 text-right control-label"> - Nom - </label> - <div class="col-sm-6"> - <input type="text" id="formName" name="login" class="form-control" ng-model="data.user.name"/> - </div> - <div class="col-sm-1"> - </div> - </div> + <div class="col-sm-6"> + <input type="email" id="formEmail" name="email" class="form-control" ng-model="data.user.email"/> + </div> + <div class="col-sm-1"> + <info-error error="restError.email[0]" data="data.user.email"></info-error> + </div> + </div> + <div class="control-group"> + <label for="formName" class="col-sm-5 text-right control-label"> + Nom + </label> + <div class="col-sm-6"> + <input type="text" id="formName" name="login" class="form-control" ng-model="data.user.name"/> + </div> + <div class="col-sm-1"> + </div> + </div> - <div> - <div class="col-sm-3"></div> - <div class="col-sm-8"><hr/></div> - <div class="col-sm-1"></div> - </div> - <div class="control-group"> - <label for="formPassword" class="col-sm-5 text-right control-label"> - Mot de passe - </label> - <div class="col-sm-6"> - <input type="password" id="formPassword" name="password" class="form-control" ng-model="data.user.password"/> - </div> + <div> + <div class="col-sm-3"></div> + <div class="col-sm-8"><hr/></div> + <div class="col-sm-1"></div> </div> + <div class="control-group"> - <label for="formPassword2" class="col-sm-5 text-right control-label"> - Confirmation - </label> - <div class="col-sm-6"> - <input type="password" id="formPassword2" name="password2" class="form-control" ng-model="data.user.password2"/> - </div> - <div class="col-sm-1"> - <span class="glyphicon glyphicon-exclamation-sign danger" tooltip="Mot de passe différent" ng-if="data.user.password != data.user.password2"></span> - </div> + <label for="formPassword" class="col-sm-5 text-right control-label"> + Mot de passe + </label> + <div class="col-sm-6"> + <input type="password" id="formPassword" name="password" class="form-control" ng-model="data.user.password"/> + </div> + </div> + <div class="control-group"> + <label for="formPassword2" class="col-sm-5 text-right control-label"> + Confirmation + </label> + <div class="col-sm-6"> + <input type="password" id="formPassword2" name="password2" class="form-control" ng-model="data.user.password2"/> </div> + <div class="col-sm-1"> + <span class="glyphicon glyphicon-exclamation-sign danger" tooltip="Mot de passe différent" ng-if="data.user.password != data.user.password2"></span> + </div> + </div> - <div class="control-group"> - <div class="col-sm-5"></div> - <div class="col-sm-6"> - <button class="btn btn-primary" type="submit">S'enregister</button> - </div> - <div class="col-sm-1"></div> + <div class="control-group"> + <div class="col-sm-5"></div> + <div class="col-sm-6"> + <button class="btn btn-primary" type="submit">S'enregister</button> </div> - </form> \ No newline at end of file + <div class="col-sm-1"></div> + </div> +</form> \ No newline at end of file -- To stop receiving notification emails like this one, please contact Chorem.org SCM administrator <admin+scm@chorem.org>.
participants (1)
-
Chorem.org scm