Author: echatellier Date: 2014-06-10 11:09:58 +0200 (Tue, 10 Jun 2014) New Revision: 177 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/177 Log: Bug fixes Modified: trunk/faxtomail-persistence/src/main/xmi/faxtomail.zargo trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationService.java 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-persistence/src/main/xmi/faxtomail.zargo =================================================================== (Binary files differ) Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationService.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationService.java 2014-06-10 08:43:21 UTC (rev 176) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationService.java 2014-06-10 09:09:58 UTC (rev 177) @@ -114,6 +114,8 @@ MailFilterTopiaDao dao = getPersistenceContext().getMailFilterDao(); int position = 0; + List<MailFilter> filters = dao.findAll(); + Map<String, MailFilter> filterById = new HashMap<>(Maps.uniqueIndex(filters, TopiaEntities.getTopiaIdFunction())); for (MailFilter mailFilter : mailFilters) { MailFilter filter; @@ -121,7 +123,7 @@ if (create) { filter = dao.newInstance(); } else { - filter = dao.findByTopiaId(mailFilter.getTopiaId()); + filter = filterById.remove(mailFilter.getTopiaId()); } filter.setExpression(mailFilter.getExpression()); filter.setMailFolder(mailFilter.getMailFolder()); @@ -135,6 +137,9 @@ position++; } + + dao.deleteAll(filterById.values()); + getPersistenceContext().commit(); } /** 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-06-10 08:43:21 UTC (rev 176) +++ trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp 2014-06-10 09:09:58 UTC (rev 177) @@ -346,7 +346,7 @@ Définir le dossier de dépôt des demandes EDI sur le serveur :</label> <div class="input-group" ng-if="selectedMailFolder.useCurrentLevelEdiFolder || !selectedMailFolder.$parent"> <input type="text" class="form-control" ng-model="selectedMailFolder.ediFolder"> - <span class="input-group-addon btn btn-info" ng-disabled="selectedMailFolder.ediFolder" + <span class="input-group-addon btn btn-info" ng-disabled="!selectedMailFolder.ediFolder" tooltip="Fonctionnalité à venir"> <i class="fa fa-cogs"></i> Test </span> @@ -838,7 +838,7 @@ </div> <div id="tabs-search" class="tab-pane" ng-controller="ConfigurationSearchController"> - <input type="hidden" name="configuration.searchDisplayColumns" value="{{searchDisplayColumn.id}}" ng-repeat="searchDisplayColumn in searchDisplayColumns"/> + <!-- <input type="hidden" name="configuration.searchDisplayColumns" value="{{searchDisplayColumn.id}}" ng-repeat="searchDisplayColumn in searchDisplayColumns"/> --> <div class="control-group"> <label class="control-label" for="tableColumns">Champs à afficher dans le tableau (l'ordre peut être changé en faisant un glisser/déposer sur les champs)</label> Modified: trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js =================================================================== --- trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js 2014-06-10 08:43:21 UTC (rev 176) +++ trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js 2014-06-10 09:09:58 UTC (rev 177) @@ -866,11 +866,22 @@ function($scope, ConfigurationData) { //{Array} Options actuelle $scope.searchDisplayColumns = []; - angular.forEach(ConfigurationData.searchDisplayColumns, function(searchDisplayColumn) { - $scope.searchDisplayColumns.push({ - id: searchDisplayColumn, - label: $scope.fields[searchDisplayColumn] + if ($scope.configuration.searchDisplayColumns) { + angular.forEach($scope.configuration.searchDisplayColumns, function(searchDisplayColumn) { + $scope.searchDisplayColumns.push({ + id: searchDisplayColumn, + label: $scope.mailFields[searchDisplayColumn] + }); }); + } + + $scope.$watch("searchDisplayColumns", function(newValue, oldValue) { + if (newValue) { + $scope.configuration.searchDisplayColumns = []; + angular.forEach(newValue, function(elem) { + $scope.configuration.searchDisplayColumns.push(elem.id); + }); + } }); // fonction retournant l'ensemble des options disponibles