This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository coselmar. See http://git.codelutin.com/coselmar.git commit 7bf16cd7d61387bce82c179d85bd101fa4a37473 Author: Yannick Martel <martel@©odelutin.com> Date: Wed Jan 20 12:20:41 2016 +0100 fixes-40 #7927 Add list of projects by users on user page --- coselmar-ui/src/main/webapp/i18n/en.js | 9 +++ coselmar-ui/src/main/webapp/i18n/fr.js | 9 +++ .../src/main/webapp/js/coselmar-constants.js | 1 - .../src/main/webapp/js/coselmar-controllers.js | 16 ++++++ .../src/main/webapp/js/coselmar-user-services.js | 7 +++ coselmar-ui/src/main/webapp/views/users/user.html | 64 ++++++++++++++++++++++ 6 files changed, 105 insertions(+), 1 deletion(-) diff --git a/coselmar-ui/src/main/webapp/i18n/en.js b/coselmar-ui/src/main/webapp/i18n/en.js index d465081..b1a37b1 100644 --- a/coselmar-ui/src/main/webapp/i18n/en.js +++ b/coselmar-ui/src/main/webapp/i18n/en.js @@ -230,6 +230,8 @@ var translateEN = { </ul>", "user.create.client.info" : "Create new user with Client role", "user.password.title" : "Send a new password", +"user.info.title" : "User infos", +"user.projects.title" : "User projects", "user.metadata.name" : "Name", "user.metadata.firstName" : "First name", @@ -251,6 +253,12 @@ var translateEN = { "user.metadata.role.member" : "Member", "user.metadata.role.client" : "Client", +"user.metadata.projects" : "Projects list", +"user.metadata.projects.asSupervisor" : "Projects as supervisorr", +"user.metadata.projects.asParticipant" : "Projects as expert", +"user.metadata.projects.asContributor" : "Projects as contributor", +"user.metadata.projects.asClient" : "Projects as client", + "user.message.disable" : "Do you really want to disable this user ?", "user.message.delete" : "Do you really want to delete this user ?", "user.message.requiredFirsName" : "First name is required.", @@ -276,6 +284,7 @@ var translateEN = { "user.message.enable" : "User well enable.", "user.message.mail.alreadyExisting" : "The provided mail (or login) already exists.", "user.message.login.fail" : "Fail to login, please try again.", +"user.message.noProject" : "This user has no project", "user.button.add" : "Add an user", "user.button.add.client" : "Add a client", diff --git a/coselmar-ui/src/main/webapp/i18n/fr.js b/coselmar-ui/src/main/webapp/i18n/fr.js index e689c44..beb7166 100644 --- a/coselmar-ui/src/main/webapp/i18n/fr.js +++ b/coselmar-ui/src/main/webapp/i18n/fr.js @@ -220,6 +220,8 @@ var translateFR = { //Users part "user.list.title" : "Liste des utilisateurs", +"user.info.title" : "Données de l'utilisateur", +"user.projects.title" : "Projets de l'utilisateur", "user.create.title" : "Ajouter un utilisateur", "user.create.info" : "Créer un nouvel utilisateur, avec l'un des rôles suivants :\ <ul>\ @@ -251,6 +253,12 @@ var translateFR = { "user.metadata.role.member" : "Membre", "user.metadata.role.client" : "Client", +"user.metadata.projects" : "Liste des projets", +"user.metadata.projects.asSupervisor" : "Projets en tant que superviseur", +"user.metadata.projects.asParticipant" : "Projets en tant qu'expert", +"user.metadata.projects.asContributor" : "Projets en tant que contributeur", +"user.metadata.projects.asClient" : "Projets en tant que client", + "user.message.disable" : "Êtes vous sûr de vouloir désactiver cet utilisateur ?", "user.message.delete" : "Êtes vous sûr de vouloir supprimer cet utilisateur ", "user.message.requiredFirsName" : "Le prénom est obligatoire.", @@ -276,6 +284,7 @@ var translateFR = { "user.message.enable" : "Utilisateur réactivé.", "user.message.mail.alreadyExisting" : "Le courriel (ou identifiant) saisi est déjà attribué.", "user.message.login.fail" : "La connexion a échoué, veuillez réessayer.", +"user.message.noProject" : "Cet utilisateur n'a pas de projet", "user.button.add" : "Ajouter un utilisateur", "user.button.add.client" : "Ajouter un client", diff --git a/coselmar-ui/src/main/webapp/js/coselmar-constants.js b/coselmar-ui/src/main/webapp/js/coselmar-constants.js index b3894d6..a8386c2 100644 --- a/coselmar-ui/src/main/webapp/js/coselmar-constants.js +++ b/coselmar-ui/src/main/webapp/js/coselmar-constants.js @@ -35,6 +35,5 @@ coselmarApp.config(function($sceDelegateProvider, coselmarConfig) { // Allow loading from our assets domain. Notice the difference between * and **. coselmarConfig.BASE_URL+'/**' ]); - console.log(coselmarConfig.BASE_URL+'/**'); }); \ No newline at end of file diff --git a/coselmar-ui/src/main/webapp/js/coselmar-controllers.js b/coselmar-ui/src/main/webapp/js/coselmar-controllers.js index 76b6688..778da6a 100644 --- a/coselmar-ui/src/main/webapp/js/coselmar-controllers.js +++ b/coselmar-ui/src/main/webapp/js/coselmar-controllers.js @@ -796,6 +796,22 @@ coselmarControllers.controller("UserViewCtrl", $scope.$emit('dataLoaded'); }); + userService.getUserProjects({userId : $routeParams.userId, role : 'SUPERVISOR'}, function(projects) { + $scope.supervisorProjects = projects; + }); + + userService.getUserProjects({userId : $routeParams.userId, role : 'PARTICIPANT'}, function(projects) { + $scope.participantProjects = projects; + }); + + userService.getUserProjects({userId : $routeParams.userId, role : 'CONTRIBUTOR'}, function(projects) { + $scope.contributorProjects = projects; + }); + + userService.getUserProjects({userId : $routeParams.userId, role : 'CLIENT'}, function(projects) { + $scope.clientProjects = projects; + }); + $scope.deleteUser = function(userId){ userService.deleteUser(userId, $scope, function() { diff --git a/coselmar-ui/src/main/webapp/js/coselmar-user-services.js b/coselmar-ui/src/main/webapp/js/coselmar-user-services.js index d200bde..8af4222 100644 --- a/coselmar-ui/src/main/webapp/js/coselmar-user-services.js +++ b/coselmar-ui/src/main/webapp/js/coselmar-user-services.js @@ -111,4 +111,11 @@ function User(resource, config){ return exportURL; }; + this.getUserProjects = function(params, successFunction){ + + var userResource = resource(baseURL + '/:userId/projects', {userId: params.userId, userRole : params.role}); + + userResource.query(successFunction); + }; + }; \ No newline at end of file diff --git a/coselmar-ui/src/main/webapp/views/users/user.html b/coselmar-ui/src/main/webapp/views/users/user.html index b0e926c..07e7e8a 100644 --- a/coselmar-ui/src/main/webapp/views/users/user.html +++ b/coselmar-ui/src/main/webapp/views/users/user.html @@ -28,6 +28,9 @@ </h1> </div> <div ng-if="!editMode" > + <uib-tabset> + <uib-tab heading="{{'user.info.title' | translate}}"> + <table class="table table-striped"> <tr> <td>{{ 'user.metadata.mail' | translate }}</td> @@ -73,6 +76,67 @@ ng-confirm-click="deleteUser(user.id)" ng-if="context.currentUser.role == 'ADMIN'">Delete</a> </div> + + </uib-tab> + <uib-tab heading="{{ 'user.projects.title' | translate}}"> + + <dl ng-if="supervisorProjects && supervisorProjects.length > 0"> + <dt>{{'user.metadata.projects.asSupervisor' | translate}}</dt> + + <dd> + <ul> + <li ng-repeat="project in supervisorProjects"> + <a href="#/questions/{{project.id}}" target="_blank">{{project.title}}</a> + </li> + </ul> + </dd> + </dl> + + <dl ng-if="participantProjects && participantProjects.length > 0"> + <dt>{{'user.metadata.projects.asParticipant' | translate}}</dt> + + <dd> + <ul> + <li ng-repeat="project in participantProjects"> + <a href="#/questions/{{project.id}}" target="_blank">{{project.title}}</a> + </li> + </ul> + </dd> + </dl> + + <dl ng-if="contributorProjects && contributorProjects.length > 0"> + <dt>{{'user.metadata.projects.asContributor' | translate}}</dt> + + <dd> + <ul> + <li ng-repeat="project in contributorProjects"> + <a href="#/questions/{{project.id}}" target="_blank">{{project.title}}</a> + </li> + </ul> + </dd> + </dl> + + <dl ng-if="clientProjects && clientProjects.length > 0"> + <dt>{{'user.metadata.projects.asClient' | translate}}</dt> + + <dd> + <ul> + <li ng-repeat="project in clientProjects"> + <a href="#/questions/{{project.id}}" target="_blank">{{project.title}}</a> + </li> + </ul> + </dd> + </dl> + + <div ng-if="(!supervisorProjects || supervisorProjects.length == 0) + && (!participantProjects || participantProjects.length == 0) + && (!contributorProjects || contributorProjects.length == 0) + && (!clientProjects || clientProjects.length == 0)"> + {{'user.message.noProject' | translate }} + </div> + + </uib-tab> + </uib-tabset> </div> <div ng-if="editMode" style="padding: 30px 0px 50px 0px"> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.