Author: echatellier Date: 2014-07-02 17:06:00 +0200 (Wed, 02 Jul 2014) New Revision: 322 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/322 Log: Filtrage de la liste des chefs de groupes Modified: trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js Modified: trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp =================================================================== --- trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp 2014-07-02 14:43:21 UTC (rev 321) +++ trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp 2014-07-02 15:06:00 UTC (rev 322) @@ -858,7 +858,7 @@ <label for="newRightUserField" class="control-label">Nouveau utilisateur :</label> <select id="newRightUserField" class="form-control" ng-model="newRightUser" - ng-options="user as user.firstName + ' ' + user.lastName for user in users|filter:filterByAlreadyInCollection(selectedMailFolder.rightGroups)"> + ng-options="user as user.firstName + ' ' + user.lastName for user in users|filter:filterByAlreadyInCollection(selectedMailFolder.rightUsers)"> </select> <a class="btn btn-success btn-xs" ng-click="addRightUser()" ng-disabled="!newRightUser"> <span class="glyphicon glyphicon-plus"></span> @@ -871,7 +871,7 @@ <label for="newRightGroupField" class="control-label">Nouveau groupe :</label> <select id="newRightGroupField" class="form-control" ng-model="newRightGroup" - ng-options="group as group.completeName for group in groups|filter:filterByAlreadyInCollection(selectedMailFolder.rightUsers)"> + ng-options="group as group.completeName for group in groups|filter:filterByAlreadyInCollection(selectedMailFolder.rightGroups)"> </select> <a class="btn btn-success btn-xs" ng-click="addRightGroup()" ng-disabled="!newRightGroup"> <span class="glyphicon glyphicon-plus"></span> @@ -1070,7 +1070,7 @@ <label for="groupChefUserGroupField" class="control-label">Chef du groupe : </label> <select id="groupChefUserGroupField" class="form-control" ng-required="selectedGroupChef" ng-model="selectedGroupChef.userGroup" - ng-options="group as group.completeName for group in groups"> + ng-options="group as group.completeName for group in groups|filter:availableNewGroupChef"> <option value="" ng-if="!selectedGroupChef.userGroup"></option> </select> </div> Modified: trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js =================================================================== --- trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js 2014-07-02 14:43:21 UTC (rev 321) +++ trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js 2014-07-02 15:06:00 UTC (rev 322) @@ -1169,6 +1169,24 @@ }); }); + // filtre pour retourner seulement les groupes pouvant être chef (pas déjà utilisé) + $scope.availableNewGroupChef = function(item) { + // si c'est le groupe sélectionné, on l'autorise + var result = + $scope.selectedGroupChef && $scope.selectedGroupChef.userGroup && + $scope.selectedGroupChef.userGroup.topiaId == item.topiaId; + // sinon on refuse les groupes utilisé par d'autre chef + if (!result) { + result = true; + angular.forEach($scope.configuration.chefs, function(group) { + if (group.userGroup && group.userGroup.topiaId == item.topiaId) { + result = false; + } + }); + } + return result; + }; + // ajout d'un nouveau chef de groupe $scope.newGroupChef = function() { var groupChef = {
participants (1)
-
echatellier@users.forge.codelutin.com