r159 - in trunk: faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service faxtomail-ui-web/src/main/webapp/js
Author: echatellier Date: 2014-06-09 18:20:09 +0200 (Mon, 09 Jun 2014) New Revision: 159 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/159 Log: Verification qu'un charg?\195?\169 de clientelle n'est pas d?\195?\169j?\195?\160 responsable d'un autre dossier Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailService.java trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/LdapService.java trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailService.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailService.java 2014-06-09 16:11:24 UTC (rev 158) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailService.java 2014-06-09 16:20:09 UTC (rev 159) @@ -196,9 +196,9 @@ FaxToMailUserGroupTopiaDao userGroupDao = getPersistenceContext().getFaxToMailUserGroupDao(); userGroupDao.create(FaxToMailUserGroup.PROPERTY_NAME, "Chargés de clientèle", FaxToMailUserGroup.PROPERTY_FULL_PATH, "Franciaflex/Chargés de clientèle"); - FaxToMailUserGroup commerciaux = userGroupDao.create(FaxToMailUserGroup.PROPERTY_NAME, "Commerciaux", + FaxToMailUserGroup commerciauxGroup = userGroupDao.create(FaxToMailUserGroup.PROPERTY_NAME, "Commerciaux", FaxToMailUserGroup.PROPERTY_FULL_PATH, "Franciaflex/Commerciaux"); - userGroupDao.create(FaxToMailUserGroup.PROPERTY_NAME, "SAV", + FaxToMailUserGroup savGroup = userGroupDao.create(FaxToMailUserGroup.PROPERTY_NAME, "SAV", FaxToMailUserGroup.PROPERTY_FULL_PATH, "Franciaflex/SAV"); userGroupDao.create(FaxToMailUserGroup.PROPERTY_NAME, "Administrateurs", FaxToMailUserGroup.PROPERTY_FULL_PATH, "Franciaflex/Administrateurs"); @@ -208,7 +208,7 @@ FaxToMailUser.PROPERTY_FIRST_NAME, "Marc", FaxToMailUser.PROPERTY_LOGIN, "mlefebvre", FaxToMailUser.PROPERTY_TRIGRAPH, "MLE", - FaxToMailUser.PROPERTY_USER_GROUPS, Collections.singletonList(commerciaux)); + FaxToMailUser.PROPERTY_USER_GROUPS, Collections.singletonList(commerciauxGroup)); FaxToMailUser cyril = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Baillet", FaxToMailUser.PROPERTY_FIRST_NAME, "Cyril", FaxToMailUser.PROPERTY_LOGIN, "cbaillet", @@ -217,7 +217,7 @@ FaxToMailUser.PROPERTY_FIRST_NAME, "Frédéric", FaxToMailUser.PROPERTY_LOGIN, "fviala", FaxToMailUser.PROPERTY_TRIGRAPH, "FVI", - FaxToMailUser.PROPERTY_USER_GROUPS, Collections.singletonList(commerciaux)); + FaxToMailUser.PROPERTY_USER_GROUPS, Collections.singletonList(commerciauxGroup)); FaxToMailUser claire = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Marquis", FaxToMailUser.PROPERTY_FIRST_NAME, "Claire", FaxToMailUser.PROPERTY_LOGIN, "cmarquis", @@ -225,12 +225,13 @@ FaxToMailUser agathe = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Borde", FaxToMailUser.PROPERTY_FIRST_NAME, "Agathe", FaxToMailUser.PROPERTY_LOGIN, "aborde", - FaxToMailUser.PROPERTY_TRIGRAPH, "ABO"); + FaxToMailUser.PROPERTY_TRIGRAPH, "ABO", + FaxToMailUser.PROPERTY_USER_GROUPS, Collections.singletonList(savGroup)); FaxToMailUser jeanne = userDao.create(FaxToMailUser.PROPERTY_LAST_NAME, "Bourgoin", FaxToMailUser.PROPERTY_FIRST_NAME, "Jeanne", FaxToMailUser.PROPERTY_LOGIN, "jbourgoin", FaxToMailUser.PROPERTY_TRIGRAPH, "JBO", - FaxToMailUser.PROPERTY_USER_GROUPS, Collections.singletonList(commerciaux)); + FaxToMailUser.PROPERTY_USER_GROUPS, Collections.singletonList(commerciauxGroup)); MailFolderTopiaDao folderDao = getPersistenceContext().getMailFolderDao(); Map<String, MailFolder> folders = new HashMap<>(); Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/LdapService.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/LdapService.java 2014-06-09 16:11:24 UTC (rev 158) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/LdapService.java 2014-06-09 16:20:09 UTC (rev 159) @@ -230,7 +230,7 @@ FaxToMailUser result = null; FaxToMailUserTopiaDao faxtomailUserDao = getPersistenceContext().getFaxToMailUserDao(); - FaxToMailUser user = faxtomailUserDao.findByTopiaId(userTopiaId); + FaxToMailUser user = faxtomailUserDao.forTopiaIdEquals(userTopiaId).findUniqueOrNull(); if (user != null) { Binder<FaxToMailUser, FaxToMailUser> faxToMailUserBinder = BinderFactory.newBinder(FaxToMailUser.class); result = new FaxToMailUserImpl(); Modified: trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js =================================================================== --- trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js 2014-06-09 16:11:24 UTC (rev 158) +++ trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js 2014-06-09 16:20:09 UTC (rev 159) @@ -421,10 +421,45 @@ result(resultArray); }; + // recursive find folder where user is already responsible + var checkUserResponsible = function(folders, user) { + var result; + angular.forEach(folders, function(folder) { + if (folder.customerResponsibles) { + angular.forEach(folder.customerResponsibles, function(responsible) { + if (responsible.topiaId == user.topiaId) { + result = folder; + } + }); + } + if (!result && folder.children) { + result = checkUserResponsible(folder.children, user); + } + }); + return result; + }; + // add customer responsible $scope.addCustomerResponsible = function() { - $scope.selectedMailFolder.customerResponsibles.push($scope.newCustomerResponsible); - delete $scope.newCustomerResponsible; + + // check it user is already responsible of another folder + var otherFolder = checkUserResponsible($scope.mailFolders, $scope.newCustomerResponsible); + if (angular.isDefined(otherFolder)) { + if ($window.confirm("Cet utilisateur est déjà reponsable du dossier '" + otherFolder.$fullPath + + "'. Voulez-vous continuer et changer son dossier de responsabilité ?")) { + + // remove from previous + var index = otherFolder.customerResponsibles.indexOf($scope.newCustomerResponsible); + otherFolder.customerResponsibles.splice(index, 1); + + // add to current + $scope.selectedMailFolder.customerResponsibles.push($scope.newCustomerResponsible); + delete $scope.newCustomerResponsible; + } + } else { + $scope.selectedMailFolder.customerResponsibles.push($scope.newCustomerResponsible); + delete $scope.newCustomerResponsible; + } }; // remove customer responsible
participants (1)
-
echatellier@users.forge.codelutin.com