r129 - in trunk: faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/admin faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin faxtomail-ui-web/src/main/webapp/js
Author: echatellier Date: 2014-06-04 10:08:56 +0200 (Wed, 04 Jun 2014) New Revision: 129 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/129 Log: Refactoring angularjs. Affichage des groupes ldap dans l'interface Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationService.java trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/admin/UserFolderAction.java 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/ldap-input.jsp trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/user-folder-input.jsp trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js trunk/faxtomail-ui-web/src/main/webapp/js/user-folder.js 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-03 15:42:28 UTC (rev 128) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationService.java 2014-06-04 08:08:56 UTC (rev 129) @@ -43,11 +43,12 @@ import com.franciaflex.faxtomail.persistence.entities.EmailAccountImpl; import com.franciaflex.faxtomail.persistence.entities.EmailAccountTopiaDao; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; +import com.franciaflex.faxtomail.persistence.entities.FaxToMailUserGroup; +import com.franciaflex.faxtomail.persistence.entities.FaxToMailUserGroupTopiaDao; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUserTopiaDao; import com.franciaflex.faxtomail.persistence.entities.MailFilter; import com.franciaflex.faxtomail.persistence.entities.MailFilterTopiaDao; import com.franciaflex.faxtomail.persistence.entities.MailFolder; -import com.franciaflex.faxtomail.persistence.entities.MailFolderTopiaDao; import com.franciaflex.faxtomail.services.FaxToMailServiceSupport; import com.google.common.collect.Maps; @@ -177,7 +178,7 @@ public List<FaxToMailUser> getAllUsers() { FaxToMailUserTopiaDao faxToMailUserDao = getPersistenceContext().getFaxToMailUserDao(); - return faxToMailUserDao.forAll().setOrderByArguments(FaxToMailUser.PROPERTY_FIRST_NAME, FaxToMailUser.PROPERTY_LAST_NAME).findAll(); + return faxToMailUserDao.forAll().setOrderByArguments(FaxToMailUser.PROPERTY_FIRST_NAME, FaxToMailUser.PROPERTY_LAST_NAME).find(0, 50); } public void saveUserFolders(Map<String, Collection<MailFolder>> userFolders) { @@ -200,4 +201,9 @@ getPersistenceContext().commit(); } + + public List<FaxToMailUserGroup> getAllGroups() { + FaxToMailUserGroupTopiaDao faxToMailUserGroupDao = getPersistenceContext().getFaxToMailUserGroupDao(); + return faxToMailUserGroupDao.forAll().setOrderByArguments(FaxToMailUserGroup.PROPERTY_FULL_PATH).findAll(); + } } Modified: trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/admin/UserFolderAction.java =================================================================== --- trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/admin/UserFolderAction.java 2014-06-03 15:42:28 UTC (rev 128) +++ trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/admin/UserFolderAction.java 2014-06-04 08:08:56 UTC (rev 129) @@ -36,6 +36,7 @@ import org.apache.struts2.convention.annotation.Result; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; +import com.franciaflex.faxtomail.persistence.entities.FaxToMailUserGroup; import com.franciaflex.faxtomail.persistence.entities.MailFolder; import com.franciaflex.faxtomail.services.service.ConfigurationService; import com.franciaflex.faxtomail.services.service.MailFolderService; @@ -54,6 +55,8 @@ protected List<FaxToMailUser> users; + protected List<FaxToMailUserGroup> groups; + protected Map<String, Collection<MailFolder>> userFolders; public void setConfigurationService(ConfigurationService configurationService) { @@ -69,11 +72,12 @@ public String input() throws Exception { mailFolders = mailFolderService.getAllMailFolders(); users = configurationService.getAllUsers(); - - userFolders = new HashMap<>(); + groups = configurationService.getAllGroups(); + + /*userFolders = new HashMap<>(); for (FaxToMailUser user : users) { userFolders.put(user.getTopiaId(), CollectionUtils.emptyIfNull(user.getAffectedFolders())); - } + }*/ return INPUT; } @@ -85,15 +89,19 @@ configurationService.saveUserFolders(userFolders); return SUCCESS; } - + public List<MailFolder> getMailFolders() { return mailFolders; } - + public List<FaxToMailUser> getUsers() { return users; } - + + public List<FaxToMailUserGroup> getGroups() { + return groups; + } + public Map<String, Collection<MailFolder>> getUserFolders() { return userFolders; } 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-03 15:42:28 UTC (rev 128) +++ trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp 2014-06-04 08:08:56 UTC (rev 129) @@ -28,11 +28,9 @@ <html> <head> <title>Configuration</title> + <link rel="stylesheet" type="text/css" href="<s:url value='/webjars/select2/3.4.8/select2.css' />" /> <link rel="stylesheet" type="text/css" href="<s:url value='/nuiton-js-angular-ui-tree/angular-ui-tree.css' />" /> - - <link rel="stylesheet" type="text/css" href="<s:url value='/css/faxtomail.css' />" /> - <script type="text/javascript" src="<s:url value='/webjars/select2/3.4.8/select2.min.js' />"></script> <script type="text/javascript" src="<s:url value='/webjars/select2/3.4.8/select2_locale_fr.js' />"></script> <script type="text/javascript" src="<s:url value='/webjars/angularjs/1.2.16/angular.min.js' />"></script> @@ -40,12 +38,12 @@ <script type="text/javascript" src="<s:url value='/nuiton-js-angular-ui-tree/angular-ui-tree.js' />"></script> <script type="text/javascript" src="<s:url value='/webjars/angular-ui-sortable/0.12.2/sortable.min.js' />"></script> + <link rel="stylesheet" type="text/css" href="<s:url value='/css/faxtomail.css' />" /> <script type="text/javascript" src="<s:url value='/js/faxtomail.js' />"></script> <script type="text/javascript" src="<s:url value='/js/configuration.js' />"></script> <script type="text/javascript"> - angular.module('ConfigurationModule', ['FaxToMail', 'ui.tree', 'ui.sortable', 'ui.select2.sortable']) - .value('ConfigurationData', { + ConfigurationModule.value('ConfigurationData', { // enums 'mailActions': <s:property value="toJson(mailActions)" escapeHtml="false"/>, 'contextMailActions': <s:property value="toJson(contextMailActions)" escapeHtml="false"/>, @@ -367,7 +365,7 @@ <caption>Aperçu</caption> <thead> <tr> - <th ng-repeat="etatAttenteField in folderTableColumns">{{etatAttenteFields[etatAttenteField.id]}}</th> + <th ng-repeat="etatAttenteField in folderTableColumns">{{mailFields[etatAttenteField.id]}}</th> </tr> </thead> </table> Modified: trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/ldap-input.jsp =================================================================== --- trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/ldap-input.jsp 2014-06-03 15:42:28 UTC (rev 128) +++ trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/ldap-input.jsp 2014-06-04 08:08:56 UTC (rev 129) @@ -29,8 +29,6 @@ <head> <title>Ldap</title> <link rel="stylesheet" type="text/css" href="<s:url value='/css/faxtomail.css' />" /> - - <script type="text/javascript" src="<s:url value='/js/faxtomail.js' />"></script> </head> <body> Modified: trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/user-folder-input.jsp =================================================================== --- trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/user-folder-input.jsp 2014-06-03 15:42:28 UTC (rev 128) +++ trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/user-folder-input.jsp 2014-06-04 08:08:56 UTC (rev 129) @@ -28,22 +28,22 @@ <html> <head> <title>Dossiers mis en avant par utilisateur</title> + <link rel="stylesheet" type="text/css" href="<s:url value='/webjars/select2/3.4.8/select2.css' />" /> - <link rel="stylesheet" type="text/css" href="<s:url value='/css/faxtomail.css' />" /> - <script type="text/javascript" src="<s:url value='/webjars/select2/3.4.8/select2.min.js' />"></script> <script type="text/javascript" src="<s:url value='/webjars/select2/3.4.8/select2_locale_fr.js' />"></script> <script type="text/javascript" src="<s:url value='/webjars/angularjs/1.2.16/angular.min.js' />"></script> <script type="text/javascript" src="<s:url value='/js/select2sortable.js' />"></script> + <link rel="stylesheet" type="text/css" href="<s:url value='/css/faxtomail.css' />" /> <script type="text/javascript" src="<s:url value='/js/faxtomail.js' />"></script> <script type="text/javascript" src="<s:url value='/js/user-folder.js' />"></script> <script type="text/javascript"> - angular.module('UserFolderModule', ['FaxToMail', 'ui.select2.sortable']) - .value('UserFolderData', { + UserFolderModule.value('UserFolderData', { 'mailFolders': <s:property value="toJson(mailFolders)" escapeHtml="false"/>, 'users': <s:property value="toJson(users)" escapeHtml="false"/>, + 'groups': <s:property value="toJson(groups)" escapeHtml="false"/>, 'userFolders': <s:property value="toJson(userFolders)" escapeHtml="false"/> }); </script> @@ -58,6 +58,12 @@ <s:form id="main_form" action="user-folder" method="post" ng-controller="UserFolderController"> <s:hidden name="userFoldersJson" value="{{userFolders}}" /> + <div class="form-group"> + <label>Groupe : + <select ng-model="selectedGroup" ng-options="group as group.fullPath for group in groups"></select> + </label> + </div> + <table id='table-snapshot' class="table table-bordered"> <thead> <tr> Modified: trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js =================================================================== --- trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js 2014-06-03 15:42:28 UTC (rev 128) +++ trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js 2014-06-04 08:08:56 UTC (rev 129) @@ -22,10 +22,12 @@ * #L% */ +var ConfigurationModule = angular.module('ConfigurationModule', ['FaxToMail', 'ui.tree', 'ui.sortable', 'ui.select2.sortable']); + /** * Global configuration controller. */ -FaxToMailModule.controller('ConfigurationController', ['$scope', '$http', 'ConfigurationData', +ConfigurationModule.controller('ConfigurationController', ['$scope', '$http', 'ConfigurationData', function($scope, $http, ConfigurationData) { //{Map} les actions possibles pour les etats d'attentes $scope.mailActions = ConfigurationData.mailActions; @@ -59,7 +61,7 @@ /** * Misc tab controller. */ -FaxToMailModule.controller('ConfigurationMiscController', ['$scope', '$http', 'ConfigurationData', +ConfigurationModule.controller('ConfigurationMiscController', ['$scope', '$http', 'ConfigurationData', function($scope, $http, ConfigurationData) { }]); @@ -67,7 +69,7 @@ /** * Etat attente tab controller. */ -FaxToMailModule.controller('ConfigurationWaitController', ['$scope', '$http', '$window', 'ConfigurationData', +ConfigurationModule.controller('ConfigurationWaitController', ['$scope', '$http', '$window', 'ConfigurationData', function($scope, $http, $window, ConfigurationData) { //{Object} etat d'attente selectionné @@ -128,7 +130,7 @@ /** * Mail folder tab controller. */ -FaxToMailModule.controller('ConfigurationTreeController', ['$scope', '$http', '$window', 'ConfigurationData', +ConfigurationModule.controller('ConfigurationTreeController', ['$scope', '$http', '$window', 'ConfigurationData', function($scope, $http, $window, ConfigurationData) { // {Object} selected mail folder $scope.selectedMailFolder; @@ -214,7 +216,7 @@ // fonction retournant l'ensemble des options disponibles $scope.getObjectsData = function(term, result) { var resultArray = []; - angular.forEach($scope.fields, function(label, field) { + angular.forEach($scope.mailFields, function(label, field) { resultArray.push({ id: field, label: label @@ -280,7 +282,7 @@ /** * Mail filter tab controller. */ -FaxToMailModule.controller('ConfigurationFilterController', ['$scope', '$http', 'ConfigurationData', +ConfigurationModule.controller('ConfigurationFilterController', ['$scope', '$http', 'ConfigurationData', function($scope, $http, ConfigurationData) { //{Array} Current mail filter list $scope.mailFilters = ConfigurationData.mailFilters; @@ -305,7 +307,7 @@ /** * Search tab controller. */ -FaxToMailModule.controller('ConfigurationSearchController', ['$scope', '$http', 'ConfigurationData', +ConfigurationModule.controller('ConfigurationSearchController', ['$scope', '$http', 'ConfigurationData', function($scope, $http, ConfigurationData) { //{Array} Options actuelle $scope.searchDisplayColumns = []; @@ -333,7 +335,7 @@ /** * Email accounts controller. */ -FaxToMailModule.controller('ConfigurationEmailAccountsController', ['$scope', '$http', 'ConfigurationData', +ConfigurationModule.controller('ConfigurationEmailAccountsController', ['$scope', '$http', 'ConfigurationData', function($scope, $http, ConfigurationData) { //{Array} Email accounts $scope.emailAccounts = ConfigurationData.emailAccounts; Modified: trunk/faxtomail-ui-web/src/main/webapp/js/user-folder.js =================================================================== --- trunk/faxtomail-ui-web/src/main/webapp/js/user-folder.js 2014-06-03 15:42:28 UTC (rev 128) +++ trunk/faxtomail-ui-web/src/main/webapp/js/user-folder.js 2014-06-04 08:08:56 UTC (rev 129) @@ -22,10 +22,12 @@ * #L% */ +var UserFolderModule = angular.module('UserFolderModule', ['FaxToMail', 'ui.select2.sortable']); + /** * Global configuration controller. */ -FaxToMailModule.controller('UserFolderController', ['$scope', '$http', 'UserFolderData', +UserFolderModule.controller('UserFolderController', ['$scope', '$http', 'UserFolderData', function($scope, $http, UserFolderData) { //{Array} mail folders $scope.mailFolders = UserFolderData.mailFolders; @@ -33,6 +35,8 @@ $scope.users = UserFolderData.users; //{Map} Topia id : mailFolders $scope.userFolders = UserFolderData.userFolders; + //{Array} Group list + $scope.groups = UserFolderData.groups; // method privée recursive pour retourner l'ensemble des dossiers var recursiveAddMailFolder = function(result, mailFolders) {
participants (1)
-
echatellier@users.forge.codelutin.com