Faxtomail-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
June 2014
- 6 participants
- 194 discussions
r171 - trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail
by echatellier@users.forge.codelutin.com 10 Jun '14
by echatellier@users.forge.codelutin.com 10 Jun '14
10 Jun '14
Author: echatellier
Date: 2014-06-10 10:12:51 +0200 (Tue, 10 Jun 2014)
New Revision: 171
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/171
Log:
Disable devMode by default
Modified:
trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java
Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java
===================================================================
--- trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java 2014-06-10 06:49:05 UTC (rev 170)
+++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java 2014-06-10 08:12:51 UTC (rev 171)
@@ -75,7 +75,7 @@
DEV_MODE(
"faxtomail.devMode",
"Mode développement, court-circuite l'envoi de mail",
- "true", Boolean.class),
+ "false", Boolean.class),
STORAGE_FILE(
"faxtomail.storage",
1
0
r170 - trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job
by kmorin@users.forge.codelutin.com 10 Jun '14
by kmorin@users.forge.codelutin.com 10 Jun '14
10 Jun '14
Author: kmorin
Date: 2014-06-10 08:49:05 +0200 (Tue, 10 Jun 2014)
New Revision: 170
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/170
Log:
correction r?\195?\169ception des mails
Modified:
trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java
Modified: trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java
===================================================================
--- trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java 2014-06-10 06:00:32 UTC (rev 169)
+++ trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java 2014-06-10 06:49:05 UTC (rev 170)
@@ -30,6 +30,7 @@
import java.io.FileOutputStream;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
+import java.text.DateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -202,9 +203,9 @@
String recipient = address.toString();
MailFolder mailFolder = serviceContext.newService(MailFolderService.class).getFolderForRecipient(recipient);
- log.debug("\tTo : " + address + " -> " + (mailFolder != null ? mailFolder.getName() : "none"));
+ if (mailFolder != null) {
+ log.debug("\tTo : " + address + " -> " + (mailFolder != null ? mailFolder.getName() : "none"));
- if (mailFolder != null) {
email.setRecipient(recipient);
email.setMailFolder(mailFolder);
modifiedProperties.add(Email.PROPERTY_RECIPIENT);
@@ -213,7 +214,7 @@
}
}
if (email.getMailFolder() == null) {
- break;
+ continue;
}
emailService.saveEmail(email, null);
@@ -225,10 +226,20 @@
Client client = serviceContext.newService(ClientService.class)
.getClientForEmailAddress(sender, email.getMailFolder());
- //TODO kmorin 20140602 find the responsible's folder
-// if (client != null) {
+
+ if (client != null) {
+ String object = client.getCaracteristic1() + " / " +
+ client.getCode() + " / " +
+ client.getName() + " / " +
+ client.getFaxNumber() + " / " +
+ DateFormat.getDateInstance(DateFormat.MEDIUM).format(new Date());
+ email.setObject(object);
+ modifiedProperties.add(Email.PROPERTY_OBJECT);
+ modifiedProperties.add(Email.PROPERTY_CLIENT);
+
+ //TODO kmorin 20140602 find the responsible's folder
// client.getCustomerResponsible()
-// }
+ }
email.setClient(client);
}
1
0
r169 - in trunk: faxtomail-persistence/src/main/xmi faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/admin
by kmorin@users.forge.codelutin.com 10 Jun '14
by kmorin@users.forge.codelutin.com 10 Jun '14
10 Jun '14
Author: kmorin
Date: 2014-06-10 08:00:32 +0200 (Tue, 10 Jun 2014)
New Revision: 169
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/169
Log:
- 2 m?\195?\169thodes pour r?\195?\169cup?\195?\169rer les compts mail avec ou sans mot de passe
- ajout du message ?\195?\160 envoyer en cas de rejet d'un mail (?\195?\160 ajouter dans l'ui)
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/java/com/franciaflex/faxtomail/web/action/admin/ConfigurationAction.java
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-09 21:04:09 UTC (rev 168)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ConfigurationService.java 2014-06-10 06:00:32 UTC (rev 169)
@@ -142,10 +142,8 @@
*
* @return all email account
*/
- public List<EmailAccount> getEmailAccounts() {
- EmailAccountTopiaDao emailAccountTopiaDao = getPersistenceContext().getEmailAccountDao();
- List<EmailAccount> accounts = emailAccountTopiaDao.findAll();
-
+ public List<EmailAccount> getEmailAccountsWithoutPasswords() {
+ List<EmailAccount> accounts = getEmailAccounts();
// remove password information from bean
final Binder<EmailAccount, EmailAccount> binderEmailAccount = BinderFactory.newBinder(EmailAccount.class);
List<EmailAccount> result = Lists.transform(accounts, new Function<EmailAccount, EmailAccount>() {
@@ -156,10 +154,16 @@
return account;
}
});
-
+
return result;
}
+ public List<EmailAccount> getEmailAccounts() {
+ EmailAccountTopiaDao emailAccountTopiaDao = getPersistenceContext().getEmailAccountDao();
+ List<EmailAccount> result = emailAccountTopiaDao.findAll();
+ return result;
+ }
+
/**
*
* @param newEmailAccounts new email account list to save
Modified: trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/admin/ConfigurationAction.java
===================================================================
--- trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/admin/ConfigurationAction.java 2014-06-09 21:04:09 UTC (rev 168)
+++ trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/admin/ConfigurationAction.java 2014-06-10 06:00:32 UTC (rev 169)
@@ -106,7 +106,7 @@
demandTypes = referentielService.getAllDemandType();
mailFolders = mailFolderService.getRootMailFolders();
mailFoldersUsage = mailFolderService.getMailFoldersUsage();
- emailAccounts = configurationService.getEmailAccounts();
+ emailAccounts = configurationService.getEmailAccountsWithoutPasswords();
mailFilters = configurationService.getMailFilters();
configuration = configurationService.getConfiguration();
users = configurationService.getAllUsers();
1
0
r168 - in trunk/faxtomail-ui-web/src/main/webapp: WEB-INF/content/admin js
by echatellier@users.forge.codelutin.com 09 Jun '14
by echatellier@users.forge.codelutin.com 09 Jun '14
09 Jun '14
Author: echatellier
Date: 2014-06-09 23:04:09 +0200 (Mon, 09 Jun 2014)
New Revision: 168
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/168
Log:
Gestion des droits
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-06-09 20:28:16 UTC (rev 167)
+++ trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp 2014-06-09 21:04:09 UTC (rev 168)
@@ -682,64 +682,87 @@
</tr>
</thead>
<tbody>
- <tr ng-repeat="user in parentScopeValues.writeRightUsers" class="parentInfos">
+ <tr ng-repeat="group in parentScopeValues.rightGroups" class="parentInfos">
<td>
- <span class="fa fa-user"></span> {{user.firstName}} {{user.lastName}}
+ <span class="fa fa-users"></span> {{group.fullPath}}
</td>
<td>
- <label><input type="checkbox" disabled> Lecture</label>
- <label><input type="checkbox" disabled> Écriture</label>
- <label><input type="checkbox" disabled> Déplacement</label>
+ <label><input type="checkbox" ng-checked="parentScopeValues.readRightGroups.indexOf(group) != -1" disabled> Lecture</label>
+ <label><input type="checkbox" ng-checked="parentScopeValues.writeRightGroups.indexOf(group) != -1" disabled> Écriture</label>
+ <label><input type="checkbox" ng-checked="parentScopeValues.moveRightGroups.indexOf(group) != -1" disabled> Déplacement</label>
</td>
</tr>
- <tr ng-repeat="group in parentScopeValues.writeRightGroups" class="parentInfos">
+ <tr ng-repeat="user in parentScopeValues.rightUsers" class="parentInfos">
<td>
- <span class="fa fa-users"></span> {{group.fullPath}}
+ <span class="fa fa-user"></span> {{user.firstName}} {{user.lastName}}
</td>
<td>
- <label><input type="checkbox" disabled> Lecture</label>
- <label><input type="checkbox" disabled> Écriture</label>
- <label><input type="checkbox" disabled> Déplacement</label>
+ <label><input type="checkbox" ng-checked="parentScopeValues.readRightUsers.indexOf(user) != -1" disabled> Lecture</label>
+ <label><input type="checkbox" ng-checked="parentScopeValues.writeRightUsers.indexOf(user) != -1" disabled> Écriture</label>
+ <label><input type="checkbox" ng-checked="parentScopeValues.moveRightUsers.indexOf(user) != -1" disabled> Déplacement</label>
</td>
</tr>
</tbody>
<tbody>
- <tr ng-repeat="user in selectedMailFolder.writeRightUsers">
+ <tr ng-repeat="group in selectedMailFolder.rightGroups">
<td>
- <span class="fa fa-user"></span> {{user.firstName}} {{user.lastName}}
- <a class="pull-right btn btn-danger btn-xs pull-right" ng-click="removeWriteRightUser($index)">
+ <span class="fa fa-users"></span> {{group.fullPath}}
+ <a class="pull-right btn btn-danger btn-xs pull-right" ng-click="removeWriteRightGroup($index)">
<span class="glyphicon glyphicon-remove"></span>
</a>
</td>
<td>
- <label><input type="checkbox"> Lecture</label>
- <label><input type="checkbox"> Écriture</label>
- <label><input type="checkbox"> Déplacement</label>
+ <label><input type="checkbox"
+ ng-model="readRightGroup"
+ ng-checked="selectedMailFolder.readRightGroups.indexOf(group) != -1"
+ ng-disabled="parentScopeValues.readRightGroups.indexOf(group) != -1"
+ ng-change="changeReadRightGroup(group)"> Lecture</label>
+ <label><input type="checkbox"
+ ng-model="writeRightGroup"
+ ng-checked="selectedMailFolder.writeRightGroups.indexOf(group) != -1"
+ ng-disabled="parentScopeValues.writeRightGroups.indexOf(group) != -1"
+ ng-change="changeWriteRightGroup(group)"> Écriture</label>
+ <label><input type="checkbox"
+ ng-model="moveRightGroup"
+ ng-checked="selectedMailFolder.moveRightGroups.indexOf(group) != -1"
+ ng-disabled="parentScopeValues.moveRightGroups.indexOf(group) != -1"
+ ng-change="changeMoveRightGroup(group)"> Déplacement</label>
</td>
</tr>
- <tr ng-repeat="group in selectedMailFolder.writeRightGroups">
+ <tr ng-repeat="user in selectedMailFolder.rightUsers">
<td>
- <span class="fa fa-users"></span> {{group.fullPath}}
- <a class="pull-right btn btn-danger btn-xs pull-right" ng-click="removeWriteRightGroup($index)">
+ <span class="fa fa-user"></span> {{user.firstName}} {{user.lastName}}
+ <a class="pull-right btn btn-danger btn-xs pull-right" ng-click="removeWriteRightUser($index)">
<span class="glyphicon glyphicon-remove"></span>
</a>
</td>
<td>
- <label><input type="checkbox"> Lecture</label>
- <label><input type="checkbox"> Écriture</label>
- <label><input type="checkbox"> Déplacement</label>
+ <label><input type="checkbox"
+ ng-model="readRightUser"
+ ng-checked="selectedMailFolder.readRightUsers.indexOf(user) != -1"
+ ng-disabled="parentScopeValues.readRightUsers.indexOf(user) != -1"
+ ng-change="changeReadRightUser(user)"> Lecture</label>
+ <label><input type="checkbox"
+ ng-model="writeRightUser"
+ ng-checked="selectedMailFolder.writeRightUsers.indexOf(user) != -1"
+ ng-disabled="parentScopeValues.writeRightUsers.indexOf(user) != -1"
+ ng-change="changeWriteRightUser(user)"> Écriture</label>
+ <label><input type="checkbox"
+ ng-model="moveRightUser"
+ ng-checked="selectedMailFolder.moveRightUsers.indexOf(user) != -1"
+ ng-disabled="parentScopeValues.moveRightUsers.indexOf(user) != -1"
+ ng-change="changeMoveRightUser(user)"> Déplacement</label>
</td>
</tr>
</tbody>
</table>
-
<div class="form-inline">
<div class="form-group">
<label for="newRightUserField" class="control-label">Nouveau utilisateur :</label>
<select id="newRightUserField" class="form-control"
- ng-model="newWriteRightUser" ng-options="user as user.firstName + ' ' + user.lastName for user in users">
+ ng-model="newRightUser" ng-options="user as user.firstName + ' ' + user.lastName for user in users">
</select>
- <a class="btn btn-success btn-xs" ng-click="addWriteRightUser()" ng-disabled="!newWriteRightUser">
+ <a class="btn btn-success btn-xs" ng-click="addRightUser()" ng-disabled="!newRightUser">
<span class="glyphicon glyphicon-plus"></span>
</a>
</div>
@@ -749,9 +772,9 @@
<div class="form-group">
<label for="newRightGroupField" class="control-label">Nouveau groupe :</label>
<select id="newRightGroupField" class="form-control"
- ng-model="newWriteRightGroup" ng-options="group as group.fullPath for group in groups">
+ ng-model="newRightGroup" ng-options="group as group.fullPath for group in groups">
</select>
- <a class="btn btn-success btn-xs" ng-click="addWriteRightGroup()" ng-disabled="!newWriteRightGroup">
+ <a class="btn btn-success btn-xs" ng-click="addRightGroup()" ng-disabled="!newRightGroup">
<span class="glyphicon glyphicon-plus"></span>
</a>
</div>
Modified: trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js
===================================================================
--- trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js 2014-06-09 20:28:16 UTC (rev 167)
+++ trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js 2014-06-09 21:04:09 UTC (rev 168)
@@ -322,6 +322,25 @@
if (!$scope.selectedMailFolder.etatAttentes) {
$scope.selectedMailFolder.etatAttentes = [];
}
+ if (!$scope.selectedMailFolder.readRightUsers) {
+ $scope.selectedMailFolder.readRightUsers = [];
+ }
+ if (!$scope.selectedMailFolder.writeRightUsers) {
+ $scope.selectedMailFolder.writeRightUsers = [];
+ }
+ if (!$scope.selectedMailFolder.moveRightUsers) {
+ $scope.selectedMailFolder.moveRightUsers = [];
+ }
+ if (!$scope.selectedMailFolder.readRightGroups) {
+ $scope.selectedMailFolder.readRightGroups = [];
+ }
+ if (!$scope.selectedMailFolder.writeRightGroups) {
+ $scope.selectedMailFolder.writeRightGroups = [];
+ }
+ if (!$scope.selectedMailFolder.moveRightGroups) {
+ $scope.selectedMailFolder.moveRightGroups = [];
+ }
+
// initialise la liste des colonnes pour le dossier courant
$scope.folderTableColumns = [];
@@ -344,6 +363,40 @@
});
$scope.selectedMailFolder.etatAttentes = newArray;
}
+
+ // right
+ $scope.selectedMailFolder.rightUsers = [];
+ $scope.selectedMailFolder.rightGroups = [];
+ angular.forEach($scope.selectedMailFolder.readRightUsers, function(user) {
+ if ($scope.selectedMailFolder.rightUsers.indexOf(user) == -1) {
+ $scope.selectedMailFolder.rightUsers.push(user);
+ }
+ });
+ angular.forEach($scope.selectedMailFolder.writeRightUsers, function(user) {
+ if ($scope.selectedMailFolder.rightUsers.indexOf(user) == -1) {
+ $scope.selectedMailFolder.rightUsers.push(user);
+ }
+ });
+ angular.forEach($scope.selectedMailFolder.moveRightUsers, function(user) {
+ if ($scope.selectedMailFolder.rightUsers.indexOf(user) == -1) {
+ $scope.selectedMailFolder.rightUsers.push(user);
+ }
+ });
+ angular.forEach($scope.selectedMailFolder.readRightGroups, function(group) {
+ if ($scope.selectedMailFolder.rightGroups.indexOf(group) == -1) {
+ $scope.selectedMailFolder.rightGroups.push(group);
+ }
+ });
+ angular.forEach($scope.selectedMailFolder.writeRightGroups, function(group) {
+ if ($scope.selectedMailFolder.rightGroups.indexOf(group) == -1) {
+ $scope.selectedMailFolder.rightGroups.push(group);
+ }
+ });
+ angular.forEach($scope.selectedMailFolder.moveRightGroups, function(group) {
+ if ($scope.selectedMailFolder.rightGroups.indexOf(group) == -1) {
+ $scope.selectedMailFolder.rightGroups.push(group);
+ }
+ });
};
// on doit faire ca par l'ordre des watch angular et ne pas l'appeler dans le edit
@@ -359,7 +412,7 @@
$scope.selectedMailFolder.rejectUnknownSender = $scope.selectedMailFolder.rejectUnknownSender || false;
}
- // initilaisation des valeurs du parent
+ // initialisation des valeurs du parent
$scope.parentScopeValues = {
customerResponsibles: [],
replyAddresses: [],
@@ -387,6 +440,40 @@
});
});
}
+
+ // parent rigths
+ $scope.parentScopeValues.rightUsers = [];
+ $scope.parentScopeValues.rightGroups = [];
+ angular.forEach($scope.parentScopeValues.readRightUsers, function(user) {
+ if ($scope.parentScopeValues.rightUsers.indexOf(user) == -1) {
+ $scope.parentScopeValues.rightUsers.push(user);
+ }
+ });
+ angular.forEach($scope.parentScopeValues.writeRightUsers, function(user) {
+ if ($scope.parentScopeValues.rightUsers.indexOf(user) == -1) {
+ $scope.parentScopeValues.rightUsers.push(user);
+ }
+ });
+ angular.forEach($scope.parentScopeValues.moveRightUsers, function(user) {
+ if ($scope.parentScopeValues.rightUsers.indexOf(user) == -1) {
+ $scope.parentScopeValues.rightUsers.push(user);
+ }
+ });
+ angular.forEach($scope.parentScopeValues.readRightGroups, function(group) {
+ if ($scope.parentScopeValues.rightGroups.indexOf(group) == -1) {
+ $scope.parentScopeValues.rightGroups.push(group);
+ }
+ });
+ angular.forEach($scope.parentScopeValues.writeRightGroups, function(group) {
+ if ($scope.parentScopeValues.rightGroups.indexOf(group) == -1) {
+ $scope.parentScopeValues.rightGroups.push(group);
+ }
+ });
+ angular.forEach($scope.parentScopeValues.moveRightGroups, function(group) {
+ if ($scope.parentScopeValues.rightGroups.indexOf(group) == -1) {
+ $scope.parentScopeValues.rightGroups.push(group);
+ }
+ });
}
});
@@ -622,30 +709,80 @@
};
// add user write right
- $scope.addWriteRightUser = function() {
- $scope.selectedMailFolder.writeRightUsers.push($scope.newWriteRightUser);
+ $scope.addRightUser = function() {
+ $scope.selectedMailFolder.rightUsers.push($scope.newRightUser);
delete $scope.newWriteRightUser;
};
// remove user write right
- $scope.removeWriteRightUser = function(index) {
+ $scope.removeRightUser = function(index) {
if ($window.confirm("Êtes-vous sur de vouloir supprimer les droits de cet utilisateur ?")) {
- $scope.selectedMailFolder.writeRightUsers.splice(index, 1);
+ $scope.selectedMailFolder.rightUsers.splice(index, 1);
}
};
// add group write right
- $scope.addWriteRightGroup = function() {
- $scope.selectedMailFolder.writeRightGroups.push($scope.newWriteRightGroup);
- delete $scope.newWriteRightGroup;
+ $scope.addRightGroup = function() {
+ $scope.selectedMailFolder.rightGroups.push($scope.newRightGroup);
+ delete $scope.newRightGroup;
};
// remove group write right
$scope.removeWriteRightGroup = function(index) {
if ($window.confirm("Êtes-vous sur de vouloir supprimer les droits de ce groupe ?")) {
+ $scope.selectedMailFolder.rightGroups.splice(index, 1);
+ }
+ };
+
+ //
+ $scope.changeReadRightGroup = function(group) {
+ var index = $scope.selectedMailFolder.readRightGroups.indexOf(group);
+ if (index != -1) {
+ $scope.selectedMailFolder.readRightGroups.splice(index, 1);
+ } else {
+ $scope.selectedMailFolder.readRightGroups.push(group);
+ }
+ };
+ $scope.changeWriteRightGroup = function(group) {
+ var index = $scope.selectedMailFolder.writeRightGroups.indexOf(group);
+ if (index != -1) {
$scope.selectedMailFolder.writeRightGroups.splice(index, 1);
+ } else {
+ $scope.selectedMailFolder.writeRightGroups.push(group);
}
};
+ $scope.changeMoveRightGroup = function(group) {
+ var index = $scope.selectedMailFolder.moveRightGroups.indexOf(group);
+ if (index != -1) {
+ $scope.selectedMailFolder.moveRightGroups.splice(index, 1);
+ } else {
+ $scope.selectedMailFolder.moveRightGroups.push(group);
+ }
+ };
+ $scope.changeReadRightUser = function(user) {
+ var index = $scope.selectedMailFolder.readRightUsers.indexOf(user);
+ if (index != -1) {
+ $scope.selectedMailFolder.readRightUsers.splice(index, 1);
+ } else {
+ $scope.selectedMailFolder.readRightUsers.push(user);
+ }
+ };
+ $scope.changeWriteRightUser = function(user) {
+ var index = $scope.selectedMailFolder.writeRightUsers.indexOf(user);
+ if (index != -1) {
+ $scope.selectedMailFolder.writeRightUsers.splice(index, 1);
+ } else {
+ $scope.selectedMailFolder.writeRightUsers.push(user);
+ }
+ };
+ $scope.changeMoveRightUser = function(user) {
+ var index = $scope.selectedMailFolder.moveRightUsers.indexOf(user);
+ if (index != -1) {
+ $scope.selectedMailFolder.moveRightUsers.splice(index, 1);
+ } else {
+ $scope.selectedMailFolder.moveRightUsers.push(user);
+ }
+ };
}]);
1
0
r167 - in trunk/faxtomail-ui-web/src/main/webapp: WEB-INF/content/admin js
by echatellier@users.forge.codelutin.com 09 Jun '14
by echatellier@users.forge.codelutin.com 09 Jun '14
09 Jun '14
Author: echatellier
Date: 2014-06-09 22:28:16 +0200 (Mon, 09 Jun 2014)
New Revision: 167
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/167
Log:
COnfiguration des colonnes ?\195?\160 afficher et des actions possibles
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-06-09 20:00:27 UTC (rev 166)
+++ trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp 2014-06-09 20:28:16 UTC (rev 167)
@@ -576,9 +576,23 @@
</div>
<div id="collapse5" class="panel-collapse collapse">
<div class="panel-body">
- <label class="checkbox" ng-repeat="(folderAction,label) in folderActions">
+ <label ng-if="selectedMailFolder.$parent">
+ <input type="radio" ng-model="selectedMailFolder.useCurrentLevelFolderActions"
+ ng-value="false" ng-change="initFolderActions()" />
+ Hériter des actions contextuelles déclarées sur les dossiers parent :
+ </label>
+ <label class="checkbox" ng-repeat="(folderAction,label) in folderActions" ng-if="selectedMailFolder.$parent && !selectedMailFolder.useCurrentLevelFolderActions">
+ <input type="checkbox" ng-checked="parentScopeValues.folderActions.indexOf(folderAction) != -1"
+ disabled> {{label}}
+ </label>
+ <label>
+ <input type="radio" ng-model="selectedMailFolder.useCurrentLevelFolderActions" ng-value="true"
+ ng-change="initFolderActions()" ng-if="selectedMailFolder.$parent" />
+ Définir les actions contextuelles possibles pour ce dossier :
+ </label>
+ <label class="checkbox" ng-repeat="(folderAction,label) in folderActions" ng-if="selectedMailFolder.useCurrentLevelFolderActions || !selectedMailFolder.$parent">
<input type="checkbox" ng-checked="selectedMailFolder.folderActions.indexOf(folderAction) != -1"
- ng-click="changeFolderAction(folderAction)"> {{label}}
+ ng-click="changeFolderAction(folderAction)"> {{label}}
</label>
</div>
</div>
@@ -596,26 +610,50 @@
<div id="collapse6" class="panel-collapse collapse">
<div class="panel-body">
- <label>
- <input type="checkbox" ng-model="selectedMailFolder.useCurrentLevelTableColumns" ng-value="true" /> Définir un ordre
- différent du dossier parent à ce niveau.</label>
- <hr />
+ <label ng-if="selectedMailFolder.$parent">
+ <input type="radio" ng-model="selectedMailFolder.useCurrentLevelTableColumns"
+ ng-value="false" ng-change="initFolderColumns()" />
+ Hériter des colonnes déclarées sur les dossiers parent :
+ </label>
- <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>
-
+ <div class="control-group" ng-show="selectedMailFolder.$parent && !selectedMailFolder.useCurrentLevelTableColumns">
<div class="controls">
+ <input type="hidden" ui-select2-sortable ng-model="parentFolderTableColumns"
+ simple-query="getObjectsData" multiple sortable disabled>
+ </div>
+ </div>
+
+ <div ng-if="selectedMailFolder.$parent && !selectedMailFolder.useCurrentLevelTableColumns">
+ <table id='table-snapshot' class="table table-bordered">
+ <caption>Aperçu</caption>
+ <thead>
+ <tr>
+ <th ng-repeat="mailField in parentFolderTableColumns">{{mailFields[mailField.id]}}</th>
+ </tr>
+ </thead>
+ </table>
+ </div>
+
+ <label>
+ <input type="radio" ng-model="selectedMailFolder.useCurrentLevelTableColumns" ng-value="true"
+ ng-change="initFolderColumns()" ng-if="selectedMailFolder.$parent" />
+ Définir les colonnes à afficher pour ce dossier :
+ </label>
+
+ <div class="control-group" ng-show="!selectedMailFolder.$parent || selectedMailFolder.useCurrentLevelTableColumns">
+ <div class="controls">
<input type="hidden" ui-select2-sortable ng-model="folderTableColumns"
- simple-query="getObjectsData" multiple sortable ng-disabled="!selectedMailFolder.useCurrentLevelTableColumns">
+ simple-query="getObjectsData" multiple sortable>
+ <p class="help-block">(l'ordre peut être changé en faisant un glisser/déposer sur les champs)</p>
</div>
</div>
- <div>
+ <div ng-if="!selectedMailFolder.$parent || selectedMailFolder.useCurrentLevelTableColumns">
<table id='table-snapshot' class="table table-bordered">
<caption>Aperçu</caption>
<thead>
<tr>
- <th ng-repeat="etatAttenteField in folderTableColumns">{{mailFields[etatAttenteField.id]}}</th>
+ <th ng-repeat="mailField in folderTableColumns">{{mailFields[mailField.id]}}</th>
</tr>
</thead>
</table>
Modified: trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js
===================================================================
--- trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js 2014-06-09 20:00:27 UTC (rev 166)
+++ trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js 2014-06-09 20:28:16 UTC (rev 167)
@@ -249,6 +249,8 @@
$scope.newReplyDomain;
// {Array} Colonnes selectionnées pour le dossier courant
$scope.folderTableColumns;
+ // {Array} Colonnes selectionnées pour les dossiers parents
+ $scope.parentFolderTableColumns;
// {Object} Global parent wide configuration and values
$scope.parentScopeValues;
@@ -374,6 +376,17 @@
moveRightGroups: []
};
updateParentScopeValues($scope.selectedMailFolder.$parent);
+
+ // init select 2 data for parent
+ if ($scope.parentScopeValues.folderTableColumns) {
+ $scope.parentFolderTableColumns = [];
+ angular.forEach($scope.parentScopeValues.folderTableColumns, function(folderTableColumn) {
+ $scope.parentFolderTableColumns.push({
+ id: folderTableColumn,
+ label: $scope.mailFields[folderTableColumn]
+ });
+ });
+ }
}
});
@@ -567,6 +580,17 @@
}
};
+ // initialise la liste des actions possibles avec celle des niveaux supérieurs
+ $scope.initFolderActions = function() {
+ if ($scope.selectedMailFolder.useCurrentLevelFolderActions) {
+ if ($scope.parentScopeValues.folderActions) {
+ $scope.selectedMailFolder.folderActions = $scope.parentScopeValues.folderActions.slice(); // soft copy
+ }
+ } else {
+ delete $scope.selectedMailFolder.folderActions;
+ }
+ };
+
// selection/deselection d'une action possible du menu contextuel pour ce dossier
$scope.changeFolderAction = function(folderAction) {
var index = $scope.selectedMailFolder.folderActions.indexOf(folderAction);
@@ -576,7 +600,27 @@
$scope.selectedMailFolder.folderActions.push(folderAction);
}
};
-
+
+ // initialise la liste des actions possibles avec celle des niveaux supérieurs
+ $scope.initFolderColumns = function() {
+ if ($scope.selectedMailFolder.useCurrentLevelTableColumns) {
+ if ($scope.parentScopeValues.folderActions) {
+ $scope.selectedMailFolder.folderTableColumns = $scope.parentScopeValues.folderTableColumns.slice(); // soft copy
+
+ // init select2 data
+ $scope.folderTableColumns = [];
+ angular.forEach($scope.selectedMailFolder.folderTableColumns, function(folderTableColumn) {
+ $scope.folderTableColumns.push({
+ id: folderTableColumn,
+ label: $scope.mailFields[folderTableColumn]
+ });
+ });
+ }
+ } else {
+ delete $scope.selectedMailFolder.folderTableColumns;
+ }
+ };
+
// add user write right
$scope.addWriteRightUser = function() {
$scope.selectedMailFolder.writeRightUsers.push($scope.newWriteRightUser);
1
0
r166 - in trunk/faxtomail-ui-web/src/main/webapp: WEB-INF/content/admin js
by echatellier@users.forge.codelutin.com 09 Jun '14
by echatellier@users.forge.codelutin.com 09 Jun '14
09 Jun '14
Author: echatellier
Date: 2014-06-09 22:00:27 +0200 (Mon, 09 Jun 2014)
New Revision: 166
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/166
Log:
Edition des ?\195?\169tats d'attente
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-06-09 19:05:15 UTC (rev 165)
+++ trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp 2014-06-09 20:00:27 UTC (rev 166)
@@ -542,16 +542,23 @@
</div>
<div id="collapse3" class="panel-collapse collapse">
<div class="panel-body">
+ <label ng-if="selectedMailFolder.$parent">
+ <input type="radio" ng-model="selectedMailFolder.useCurrentLevelEtatAttente"
+ ng-value="false" ng-change="initFolderEtatAttente()" />
+ Hériter des états d'attente déclarés sur les dossiers parent :
+ </label>
+ <label class="checkbox" ng-repeat="etatAttente in etatAttentes" ng-if="selectedMailFolder.$parent && !selectedMailFolder.useCurrentLevelEtatAttente">
+ <input type="checkbox" ng-checked="parentScopeValues.etatAttentes.indexOf(etatAttente) != -1"
+ disabled> {{etatAttente.label}}
+ </label>
<label>
- <input type="checkbox" ng-model="selectedMailFolder.useCurrentLevelEtatAttente" ng-value="true" />
- Redéfinir les états d'attente à ce niveau.
+ <input type="radio" ng-model="selectedMailFolder.useCurrentLevelEtatAttente" ng-value="true"
+ ng-change="initFolderEtatAttente()" ng-if="selectedMailFolder.$parent" />
+ Définir des états d'attente pour ce dossier :
</label>
- Dans le cas contraires, les états d'attentes des dossiers parents seront pris en compte.
- <hr />
- <label class="checkbox" ng-repeat="etatAttente in etatAttentes">
- <input type="checkbox" ng-checked="selectedMailFolder.etatAttente.indexOf(etatAttente) != -1"
- ng-click="changeFolderEtatAttente(etatAttente)"
- ng-disabled="!selectedMailFolder.useCurrentLevelEtatAttente"> {{etatAttente.label}}
+ <label class="checkbox" ng-repeat="etatAttente in etatAttentes" ng-if="selectedMailFolder.useCurrentLevelEtatAttente || !selectedMailFolder.$parent">
+ <input type="checkbox" ng-checked="selectedMailFolder.etatAttentes.indexOf(etatAttente) != -1"
+ ng-click="changeFolderEtatAttente(etatAttente)"> {{etatAttente.label}}
</label>
</div>
</div>
Modified: trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js
===================================================================
--- trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js 2014-06-09 19:05:15 UTC (rev 165)
+++ trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js 2014-06-09 20:00:27 UTC (rev 166)
@@ -317,8 +317,8 @@
if (!$scope.selectedMailFolder.folderTableColumns) {
$scope.selectedMailFolder.folderTableColumns = [];
}
- if (!$scope.selectedMailFolder.etatAttente) {
- $scope.selectedMailFolder.etatAttente = [];
+ if (!$scope.selectedMailFolder.etatAttentes) {
+ $scope.selectedMailFolder.etatAttentes = [];
}
// initialise la liste des colonnes pour le dossier courant
@@ -329,6 +329,19 @@
label: $scope.mailFields[folderTableColumn]
});
});
+
+ // change instance (for indexOf() to work)
+ if ($scope.selectedMailFolder.etatAttentes) {
+ var newArray = [];
+ angular.forEach($scope.selectedMailFolder.etatAttentes, function(folderEtatAttente) {
+ angular.forEach($scope.etatAttentes, function(etatAttente) {
+ if (etatAttente.topiaId == folderEtatAttente.topiaId) {
+ newArray.push(etatAttente);
+ }
+ });
+ });
+ $scope.selectedMailFolder.etatAttentes = newArray;
+ }
};
// on doit faire ca par l'ordre des watch angular et ne pas l'appeler dans le edit
@@ -351,7 +364,7 @@
replyDomains: [],
folderActions: [],
folderTableColumns: [],
- etatAttente: [],
+ etatAttentes: [],
//rigths
readRightUsers: [],
readRightGroups: [],
@@ -388,14 +401,14 @@
if (!$scope.parentScopeValues.ediFolder) {
$scope.parentScopeValues.ediFolder = folder.ediFolder;
}
- if (!$scope.parentScopeValues.folderActions) {
+ if ((!$scope.parentScopeValues.folderActions || $scope.parentScopeValues.folderActions.length == 0) && folder.folderActions) {
$scope.parentScopeValues.folderActions = folder.folderActions;
}
- if (!$scope.parentScopeValues.folderTableColumns) {
+ if ((!$scope.parentScopeValues.folderTableColumns || $scope.parentScopeValues.folderTableColumns.length == 0) && folder.folderTableColumns) {
$scope.parentScopeValues.folderTableColumns = folder.folderTableColumns;
}
- if (!$scope.parentScopeValues.etatAttente) {
- $scope.parentScopeValues.etatAttente = folder.etatAttente;
+ if ((!$scope.parentScopeValues.etatAttentes || $scope.parentScopeValues.etatAttentes.length == 0) && folder.etatAttentes) {
+ $scope.parentScopeValues.etatAttentes = folder.etatAttentes;
}
// move to parent first to keed parent order for collection
@@ -533,13 +546,24 @@
}
};
+ // initialise la liste des etats d'attente avec celle des niveaux supérieurs
+ $scope.initFolderEtatAttente = function() {
+ if ($scope.selectedMailFolder.useCurrentLevelEtatAttente) {
+ if ($scope.parentScopeValues.etatAttentes) {
+ $scope.selectedMailFolder.etatAttentes = $scope.parentScopeValues.etatAttentes.slice(); // soft copy
+ }
+ } else {
+ delete $scope.selectedMailFolder.etatAttentes;
+ }
+ };
+
// selection/deselection d'un état d'attente possible pour ce dossier
$scope.changeFolderEtatAttente = function(etatAttente) {
- var index = $scope.selectedMailFolder.etatAttente.indexOf(etatAttente);
+ var index = $scope.selectedMailFolder.etatAttentes.indexOf(etatAttente);
if (index != -1) {
- $scope.selectedMailFolder.etatAttente.splice(index, 1);
+ $scope.selectedMailFolder.etatAttentes.splice(index, 1);
} else {
- $scope.selectedMailFolder.etatAttente.push(etatAttente);
+ $scope.selectedMailFolder.etatAttentes.push(etatAttente);
}
};
1
0
r165 - in trunk: faxtomail-persistence/src/main/xmi faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin faxtomail-ui-web/src/main/webapp/js
by echatellier@users.forge.codelutin.com 09 Jun '14
by echatellier@users.forge.codelutin.com 09 Jun '14
09 Jun '14
Author: echatellier
Date: 2014-06-09 21:05:15 +0200 (Mon, 09 Jun 2014)
New Revision: 165
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/165
Log:
Configuration des valeurs parentes/non parente dossier edi/domain fax
Modified:
trunk/faxtomail-persistence/src/main/xmi/faxtomail.zargo
trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailActionSupport.java
trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailLoginInterceptor.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-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailActionSupport.java
===================================================================
--- trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailActionSupport.java 2014-06-09 17:25:26 UTC (rev 164)
+++ trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailActionSupport.java 2014-06-09 19:05:15 UTC (rev 165)
@@ -82,7 +82,7 @@
}
public boolean isAuthenticated() {
- return session.getAuthenticatedUserId() != null;
+ return session.getAuthenticatedFaxToMailUser() != null;
}
public FaxToMailUser getAuthenticatedUser() {
Modified: trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailLoginInterceptor.java
===================================================================
--- trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailLoginInterceptor.java 2014-06-09 17:25:26 UTC (rev 164)
+++ trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/FaxToMailLoginInterceptor.java 2014-06-09 19:05:15 UTC (rev 165)
@@ -1,7 +1,5 @@
package com.franciaflex.faxtomail.web;
-import org.apache.commons.lang3.StringUtils;
-
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;
@@ -27,7 +25,7 @@
public String intercept(ActionInvocation invocation) throws Exception {
ActionContext context = invocation.getInvocationContext();
FaxToMailSession session = (FaxToMailSession) context.getSession().get(FaxToMailSession.SESSION_PARAMETER);
- if (session == null || StringUtils.isBlank(session.getAuthenticatedUserId())) {
+ if (session == null || session.getAuthenticatedFaxToMailUser() == null) {
return "redirect-to-login";
} else {
return invocation.invoke();
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-09 17:25:26 UTC (rev 164)
+++ trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp 2014-06-09 19:05:15 UTC (rev 165)
@@ -332,21 +332,39 @@
({{parentScopeValues.rejectUnknownSender ? 'Oui' : 'Non'}})
</label>
</div>
-
+
+ <hr />
+
+ <div class="form-group" ng-if="selectedMailFolder.$parent">
+ <label><input type="radio" ng-model="selectedMailFolder.useCurrentLevelEdiFolder" ng-value="false" />
+ Hériter du dossier de dépôt des demandes EDI sur le serveur :</label>
+ <input type="text" class="form-control" disabled
+ ng-model="parentScopeValues.ediFolder" ng-if="!selectedMailFolder.useCurrentLevelEdiFolder" />
+ </div>
<div class="form-group">
- <label for="ediFolderField">Dossier de dépôt des demandes EDI sur le serveur</label>
- <div class="input-group">
- <input type="text" class="form-control" id="ediFolderField" ng-model="selectedMailFolder.ediFolder">
+ <label><input type="radio" ng-model="selectedMailFolder.useCurrentLevelEdiFolder" ng-value="true" ng-if="selectedMailFolder.$parent" />
+ 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"
tooltip="Fonctionnalité à venir">
<i class="fa fa-cogs"></i> Test
</span>
</div>
</div>
-
+
+ <hr />
+
+ <div class="form-group" ng-if="selectedMailFolder.$parent">
+ <label><input type="radio" ng-model="selectedMailFolder.useCurrentLevelFaxDomain" ng-value="false" />
+ Hériter du domaine des fax :</label>
+ <input type="text" class="form-control" disabled
+ ng-model="parentScopeValues.faxDomain" ng-if="!selectedMailFolder.useCurrentLevelFaxDomain">
+ </div>
<div class="form-group">
- <label for="faxDomainField">Domaine des fax</label>
- <input type="text" class="form-control" id="faxDomainField" ng-model="selectedMailFolder.faxDomain">
+ <label><input type="radio" ng-model="selectedMailFolder.useCurrentLevelFaxDomain" ng-value="true" ng-if="selectedMailFolder.$parent" />
+ Définir le domaine des fax :</label>
+ <input type="text" class="form-control" ng-model="selectedMailFolder.faxDomain" ng-if="selectedMailFolder.useCurrentLevelFaxDomain || !selectedMailFolder.$parent">
</div>
</div>
</div>
@@ -827,11 +845,11 @@
</div>
<div class="form-group col-xs-2">
<br />
- <button type="button" class="btn btn-info" ng-disabled="!newAccount.host || !newAccount.port || addEmailAccountForm.$invalid"
+ <button type="button" class="btn btn-info" ng-disabled="!newAccount.protocol || !newAccount.host || !newAccount.port || !newAccount.login || addEmailAccountForm.$invalid"
tooltip="Fonctionnalité à venir">
<i class="fa fa-cogs"></i> Test
</button>
- <button type="button" class="btn btn-success" ng-disabled="!newAccount.host || !newAccount.port || addEmailAccountForm.$invalid" ng-click="addEmailAccount()">
+ <button type="button" class="btn btn-success" ng-disabled="!newAccount.protocol || !newAccount.host || !newAccount.port || !newAccount.login || addEmailAccountForm.$invalid" ng-click="addEmailAccount()">
<i class="fa fa-plus"></i> Ajouter
</button>
</div>
Modified: trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js
===================================================================
--- trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js 2014-06-09 17:25:26 UTC (rev 164)
+++ trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js 2014-06-09 19:05:15 UTC (rev 165)
@@ -382,19 +382,19 @@
if (angular.isUndefined($scope.parentScopeValues.rejectUnknownSender)) {
$scope.parentScopeValues.rejectUnknownSender = folder.rejectUnknownSender;
}
- if ($scope.parentScopeValues.faxDomain) {
+ if (!$scope.parentScopeValues.faxDomain) {
$scope.parentScopeValues.faxDomain = folder.faxDomain;
}
- if ($scope.parentScopeValues.ediFolder) {
+ if (!$scope.parentScopeValues.ediFolder) {
$scope.parentScopeValues.ediFolder = folder.ediFolder;
}
- if ($scope.parentScopeValues.folderActions) {
+ if (!$scope.parentScopeValues.folderActions) {
$scope.parentScopeValues.folderActions = folder.folderActions;
}
- if ($scope.parentScopeValues.folderTableColumns) {
+ if (!$scope.parentScopeValues.folderTableColumns) {
$scope.parentScopeValues.folderTableColumns = folder.folderTableColumns;
}
- if ($scope.parentScopeValues.etatAttente) {
+ if (!$scope.parentScopeValues.etatAttente) {
$scope.parentScopeValues.etatAttente = folder.etatAttente;
}
1
0
r164 - in trunk/faxtomail-ui-web/src/main/webapp: WEB-INF/content/admin js
by echatellier@users.forge.codelutin.com 09 Jun '14
by echatellier@users.forge.codelutin.com 09 Jun '14
09 Jun '14
Author: echatellier
Date: 2014-06-09 19:25:26 +0200 (Mon, 09 Jun 2014)
New Revision: 164
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/164
Log:
Rappels des charg?\195?\169s de clientelle, adresse de r?\195?\169ponse, domaine de r?\195?\169ponse des dossiers parents
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-06-09 17:16:45 UTC (rev 163)
+++ trunk/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp 2014-06-09 17:25:26 UTC (rev 164)
@@ -371,6 +371,14 @@
</tr>
</thead>
<tbody>
+ <tr ng-repeat="customerResponsible in parentScopeValues.customerResponsibles" class="parentInfos">
+ <td>
+ <span class="fa fa-user"></span>
+ {{customerResponsible.firstName}} {{customerResponsible.lastName}}</td>
+ <td>
+
+ </td>
+ </tr>
<tr ng-repeat="customerResponsible in selectedMailFolder.customerResponsibles">
<td>
<span class="fa fa-user"></span>
@@ -420,6 +428,14 @@
</tr>
</thead>
<tbody>
+ <tr ng-repeat="replyAddress in parentScopeValues.replyAddresses" class="parentInfos">
+ <td>
+ <span class="glyphicon glyphicon-user"></span>
+ {{replyAddress}}</td>
+ <td>
+
+ </td>
+ </tr>
<tr ng-repeat="replyAddress in selectedMailFolder.replyAddresses track by $index">
<td>
<span class="glyphicon glyphicon-user"></span>
@@ -458,6 +474,14 @@
</tr>
</thead>
<tbody>
+ <tr ng-repeat="replyDomain in parentScopeValues.replyDomains" class="parentInfos">
+ <td>
+ <span class="glyphicon glyphicon-globe"></span>
+ {{replyDomain}}</td>
+ <td>
+
+ </td>
+ </tr>
<tr ng-repeat="replyDomain in selectedMailFolder.replyDomains track by $index">
<td>
<span class="glyphicon glyphicon-globe"></span>
@@ -595,7 +619,7 @@
</tr>
</thead>
<tbody>
- <tr ng-repeat="user in parentScopeValues.parentsWriteRightUsers" class="parentInfos">
+ <tr ng-repeat="user in parentScopeValues.writeRightUsers" class="parentInfos">
<td>
<span class="fa fa-user"></span> {{user.firstName}} {{user.lastName}}
</td>
@@ -605,7 +629,7 @@
<label><input type="checkbox" disabled> Déplacement</label>
</td>
</tr>
- <tr ng-repeat="group in parentScopeValues.parentsWriteRightGroups" class="parentInfos">
+ <tr ng-repeat="group in parentScopeValues.writeRightGroups" class="parentInfos">
<td>
<span class="fa fa-users"></span> {{group.fullPath}}
</td>
Modified: trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js
===================================================================
--- trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js 2014-06-09 17:16:45 UTC (rev 163)
+++ trunk/faxtomail-ui-web/src/main/webapp/js/configuration.js 2014-06-09 17:25:26 UTC (rev 164)
@@ -341,18 +341,24 @@
$scope.selectedMailFolder.allowMoveDemandIntoFolder = $scope.selectedMailFolder.allowMoveDemandIntoFolder || false;
$scope.selectedMailFolder.openAttachmentReportNoTaken = $scope.selectedMailFolder.openAttachmentReportNoTaken || false;
$scope.selectedMailFolder.printActionEqualTakeAction = $scope.selectedMailFolder.printActionEqualTakeAction || false;
- $scope.selectedMailFolder.refuseMail = $scope.selectedMailFolder.refuseMail || false;
$scope.selectedMailFolder.rejectUnknownSender = $scope.selectedMailFolder.rejectUnknownSender || false;
}
// initilaisation des valeurs du parent
$scope.parentScopeValues = {
- parentsReadRightUsers: [],
- parentsReadRightGroups: [],
- parentsWriteRightUsers: [],
- parentsWriteRightGroups: [],
- parentsMoveRightUsers: [],
- parentsMoveRightGroups: []
+ customerResponsibles: [],
+ replyAddresses: [],
+ replyDomains: [],
+ folderActions: [],
+ folderTableColumns: [],
+ etatAttente: [],
+ //rigths
+ readRightUsers: [],
+ readRightGroups: [],
+ writeRightUsers: [],
+ writeRightGroups: [],
+ moveRightUsers: [],
+ moveRightGroups: []
};
updateParentScopeValues($scope.selectedMailFolder.$parent);
}
@@ -373,36 +379,58 @@
if (angular.isUndefined($scope.parentScopeValues.printActionEqualTakeAction)) {
$scope.parentScopeValues.printActionEqualTakeAction = folder.printActionEqualTakeAction;
}
- if (angular.isUndefined($scope.parentScopeValues.refuseMail)) {
- $scope.parentScopeValues.refuseMail = folder.refuseMail;
- }
if (angular.isUndefined($scope.parentScopeValues.rejectUnknownSender)) {
$scope.parentScopeValues.rejectUnknownSender = folder.rejectUnknownSender;
}
+ if ($scope.parentScopeValues.faxDomain) {
+ $scope.parentScopeValues.faxDomain = folder.faxDomain;
+ }
+ if ($scope.parentScopeValues.ediFolder) {
+ $scope.parentScopeValues.ediFolder = folder.ediFolder;
+ }
+ if ($scope.parentScopeValues.folderActions) {
+ $scope.parentScopeValues.folderActions = folder.folderActions;
+ }
+ if ($scope.parentScopeValues.folderTableColumns) {
+ $scope.parentScopeValues.folderTableColumns = folder.folderTableColumns;
+ }
+ if ($scope.parentScopeValues.etatAttente) {
+ $scope.parentScopeValues.etatAttente = folder.etatAttente;
+ }
// move to parent first to keed parent order for collection
if (folder.$parent) {
updateParentScopeValues(folder.$parent);
};
+ // parents values
+ if (folder.customerResponsibles) {
+ $scope.parentScopeValues.customerResponsibles = $scope.parentScopeValues.customerResponsibles.concat(folder.customerResponsibles);
+ }
+ if (folder.replyAddresses) {
+ $scope.parentScopeValues.replyAddresses = $scope.parentScopeValues.replyAddresses.concat(folder.replyAddresses);
+ }
+ if (folder.replyDomains) {
+ $scope.parentScopeValues.replyDomains = $scope.parentScopeValues.replyDomains.concat(folder.replyDomains);
+ }
// manage rigths
if (folder.readRightUsers) {
- $scope.parentScopeValues.parentsWriteRightUsers = $scope.parentScopeValues.parentsReadRightUsers.concat(folder.readRightUsers);
+ $scope.parentScopeValues.readRightUsers = $scope.parentScopeValues.readRightUsers.concat(folder.readRightUsers);
}
if (folder.readRightGroups) {
- $scope.parentScopeValues.parentsWriteRightGroups = $scope.parentScopeValues.parentsReadRightGroups.concat(folder.readRightGroups);
+ $scope.parentScopeValues.readRightGroups = $scope.parentScopeValues.readRightGroups.concat(folder.readRightGroups);
}
if (folder.writeRightUsers) {
- $scope.parentScopeValues.parentsWriteRightUsers = $scope.parentScopeValues.parentsWriteRightUsers.concat(folder.writeRightUsers);
+ $scope.parentScopeValues.writeRightUsers = $scope.parentScopeValues.writeRightUsers.concat(folder.writeRightUsers);
}
if (folder.writeRightGroups) {
- $scope.parentScopeValues.parentsWriteRightGroups = $scope.parentScopeValues.parentsWriteRightGroups.concat(folder.writeRightGroups);
+ $scope.parentScopeValues.writeRightGroups = $scope.parentScopeValues.writeRightGroups.concat(folder.writeRightGroups);
}
if (folder.moveRightUsers) {
- $scope.parentScopeValues.parentsMoveRightUsers = $scope.parentScopeValues.parentsMoveRightUsers.concat(folder.moveRightUsers);
+ $scope.parentScopeValues.moveRightUsers = $scope.parentScopeValues.moveRightUsers.concat(folder.moveRightUsers);
}
if (folder.moveRightGroups) {
- $scope.parentScopeValues.parentsMoveRightGroups = $scope.parentScopeValues.parentsMoveRightGroups.concat(folder.moveRightGroups);
+ $scope.parentScopeValues.moveRightGroups = $scope.parentScopeValues.moveRightGroups.concat(folder.moveRightGroups);
}
}
};
1
0
r163 - trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service
by kmorin@users.forge.codelutin.com 09 Jun '14
by kmorin@users.forge.codelutin.com 09 Jun '14
09 Jun '14
Author: kmorin
Date: 2014-06-09 19:16:45 +0200 (Mon, 09 Jun 2014)
New Revision: 163
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/163
Log:
champs obligatoires en fonction du type de document
Modified:
trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestData.java
Modified: trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestData.java
===================================================================
--- trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestData.java 2014-06-09 17:14:06 UTC (rev 162)
+++ trunk/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestData.java 2014-06-09 17:16:45 UTC (rev 163)
@@ -35,6 +35,7 @@
import java.util.List;
import java.util.Map;
+import com.franciaflex.faxtomail.persistence.entities.MailField;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -239,7 +240,7 @@
getEmailService().addToHistory(email.getTopiaId(), HistoryType.OPENING, user, now);
DemandType demandType = types.get(0);
- if (demandType.getRangeNeeded()) {
+ if (demandType.containsFields(MailField.RANGE_ROW)) {
for (int j = 0; j < 4; j++) {
RangeRow rangeRow = rangeRowDao.create(RangeRow.PROPERTY_RANGE, ranges.get(j),
RangeRow.PROPERTY_COMMAND_NUMBER, RandomStringUtils.randomNumeric(6), RangeRow.PROPERTY_PRODUCT_QUANTITY,
@@ -272,7 +273,7 @@
if (opened) {
getEmailService().addToHistory(email.getTopiaId(), HistoryType.OPENING, user, now);
DemandType demandType = types.get(0);
- if (demandType.getRangeNeeded()) {
+ if (demandType.containsFields(MailField.RANGE_ROW)) {
for (int j = 0; j < 4; j++) {
RangeRow rangeRow = rangeRowDao.create(RangeRow.PROPERTY_RANGE, ranges.get(j),
RangeRow.PROPERTY_COMMAND_NUMBER, RandomStringUtils.randomNumeric(6), RangeRow.PROPERTY_PRODUCT_QUANTITY,
1
0
09 Jun '14
Author: kmorin
Date: 2014-06-09 19:14:06 +0200 (Mon, 09 Jun 2014)
New Revision: 162
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/162
Log:
champs obligatoires en fonction du type de document
Added:
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIModel.java
Modified:
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailService.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/MainUI.css
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.jaxx
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor/PDFEditorUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUI.css
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUI.jaxx
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java
trunk/faxtomail-ui-swing/src/main/resources/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel-error-validation.xml
trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties
Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java
===================================================================
--- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java 2014-06-09 17:07:41 UTC (rev 161)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java 2014-06-09 17:14:06 UTC (rev 162)
@@ -46,6 +46,7 @@
import javax.activation.FileDataSource;
import javax.mail.MessagingException;
+import com.franciaflex.faxtomail.persistence.entities.MailField;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.Predicate;
import org.apache.commons.io.IOUtils;
@@ -217,7 +218,7 @@
&& email.getClient() != null
&& email.getDemandType() != null
&& StringUtils.isNotBlank(email.getProjectReference())
- && (!email.getDemandType().isRangeNeeded() || CollectionUtils.isNotEmpty(email.getRangeRow()))) {
+ && (!email.getDemandType().containsFields(MailField.RANGE_ROW) || CollectionUtils.isNotEmpty(email.getRangeRow()))) {
email.setDemandStatus(DemandStatus.TRANSMITTED_TO_EDI);
transmissionToEdi = historyDao.create(History.PROPERTY_TYPE, HistoryType.TRANSMISSION_TO_EDI,
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 17:07:41 UTC (rev 161)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailService.java 2014-06-09 17:14:06 UTC (rev 162)
@@ -38,6 +38,7 @@
import java.util.Map;
import java.util.Random;
+import com.franciaflex.faxtomail.persistence.entities.MailField;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -407,7 +408,7 @@
getEmailService().addToHistory(email.getTopiaId(), HistoryType.OPENING, user, now);
DemandType demandType = types.get(random.nextInt(types.size()));
- if (demandType.getRangeNeeded()) {
+ if (demandType.containsFields(MailField.RANGE_ROW)) {
for (int j = 0; j < random.nextInt(4) + 1; j++) {
RangeRow rangeRow = rangeRowDao.create(RangeRow.PROPERTY_RANGE, ranges.get(random.nextInt(ranges.size())),
RangeRow.PROPERTY_COMMAND_NUMBER, RandomStringUtils.randomNumeric(6),
@@ -453,7 +454,7 @@
if (opened) {
getEmailService().addToHistory(email.getTopiaId(), HistoryType.OPENING, user, now);
DemandType demandType = types.get(random.nextInt(types.size()));
- if (demandType.getRangeNeeded()) {
+ if (demandType.containsFields(MailField.RANGE_ROW)) {
for (int j = 0; j < random.nextInt(4) + 1; j++) {
RangeRow rangeRow = rangeRowDao.create(RangeRow.PROPERTY_RANGE, ranges.get(random.nextInt(ranges.size())),
RangeRow.PROPERTY_COMMAND_NUMBER, RandomStringUtils.randomNumeric(6),
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/MainUI.css
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/MainUI.css 2014-06-09 17:07:41 UTC (rev 161)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/MainUI.css 2014-06-09 17:14:06 UTC (rev 162)
@@ -116,6 +116,10 @@
focusPainted: false;
}
+#status {
+ showClock: false;
+ showMemoryStatus: false;
+}
/*
#showHelp {
actionIcon:"show-help";
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java 2014-06-09 17:07:41 UTC (rev 161)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java 2014-06-09 17:14:06 UTC (rev 162)
@@ -26,6 +26,8 @@
import com.ezware.oxbow.swingbits.table.filter.ITableFilter;
import com.ezware.oxbow.swingbits.table.filter.JTableFilter;
import com.ezware.oxbow.swingbits.table.filter.TableRowFilterSupport;
+import com.franciaflex.faxtomail.persistence.entities.Attachment;
+import com.franciaflex.faxtomail.persistence.entities.AttachmentFile;
import com.franciaflex.faxtomail.persistence.entities.DemandStatus;
import com.franciaflex.faxtomail.persistence.entities.Email;
import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser;
@@ -418,8 +420,17 @@
}
public void print() {
- //TODO
- log.debug("print");
+ //TODO kmorin 20140606 print a result page and maybe a page to separate the demands
+ List<DemandeUIModel> currentEmails = getModel().getCurrentEmails();
+ for (DemandeUIModel demandeUIModel : currentEmails) {
+ for (Attachment attachment : demandeUIModel.getAttachment()) {
+ AttachmentFile attachmentFile = attachment.getEditedFile();
+ if (attachmentFile == null) {
+ attachmentFile = attachment.getOriginalFile();
+ }
+ FaxToMailUIUtil.print(attachmentFile, true);
+ }
+ }
}
public void reply() {
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.jaxx
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.jaxx 2014-06-09 17:07:41 UTC (rev 161)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.jaxx 2014-06-09 17:14:06 UTC (rev 162)
@@ -72,6 +72,10 @@
<field name='demandType' component='docTypeComboBox'/>
<field name='projectReference' component='projectReferenceField'/>
<field name='validRangeRowModels' component='rangePanel'/>
+ <field name="priority" component="priorityComboBox"/>
+ <field name="etatAttente" component="etatAttenteComboBox"/>
+ <field name="companyReference" component="companyReferenceField"/>
+ <field name="comment" component="commentPane"/>
</BeanValidator>
<JToolBar id='topToolBar'>
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java 2014-06-09 17:07:41 UTC (rev 161)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java 2014-06-09 17:14:06 UTC (rev 162)
@@ -28,6 +28,7 @@
import com.franciaflex.faxtomail.persistence.entities.Email;
import com.franciaflex.faxtomail.persistence.entities.EtatAttente;
import com.franciaflex.faxtomail.persistence.entities.HistoryType;
+import com.franciaflex.faxtomail.persistence.entities.MailField;
import com.franciaflex.faxtomail.persistence.entities.MailFolder;
import com.franciaflex.faxtomail.persistence.entities.Range;
import com.franciaflex.faxtomail.persistence.entities.RangeRow;
@@ -115,10 +116,11 @@
DemandType oldType = (DemandType) evt.getOldValue();
if (newType != null && (oldType == null
- || !Objects.equals(oldType.getRangeNeeded(), newType.getRangeNeeded()))) {
+ || !Objects.equals(oldType.containsFields(MailField.RANGE_ROW),
+ newType.containsFields(MailField.RANGE_ROW)))) {
JSplitPane leftVerticalSplitPanel = getUI().getLeftVerticalSplitPanel();
- if (Boolean.TRUE.equals(newType.getRangeNeeded())) {
+ if (Boolean.TRUE.equals(newType.containsFields(MailField.RANGE_ROW))) {
if (dividerLocation < 0) {
dividerLocation = leftVerticalSplitPanel.getLeftComponent().getPreferredSize().height + 10;
}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-06-09 17:07:41 UTC (rev 161)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-06-09 17:14:06 UTC (rev 162)
@@ -34,6 +34,7 @@
import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser;
import com.franciaflex.faxtomail.persistence.entities.History;
import com.franciaflex.faxtomail.persistence.entities.HistoryType;
+import com.franciaflex.faxtomail.persistence.entities.MailField;
import com.franciaflex.faxtomail.persistence.entities.MailFolder;
import com.franciaflex.faxtomail.persistence.entities.Priority;
import com.franciaflex.faxtomail.persistence.entities.RangeRow;
@@ -44,6 +45,7 @@
import com.google.common.base.Predicate;
import com.google.common.collect.Collections2;
+import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.io.Charsets;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
@@ -410,7 +412,7 @@
public boolean isRangePanelVisible() {
DemandType demandType = getDemandType();
- return demandType != null && demandType.isRangeNeeded();
+ return demandType != null && demandType.containsFields(MailField.RANGE_ROW);
}
public DemandStatus getDemandStatus() {
@@ -860,6 +862,45 @@
firePropertyChanged(PROPERTY_VALID_RANGE_ROW_MODELS, oldValue, validRangeRowModels);
}
+ public boolean isValid(String field) {
+ boolean result = getDemandType() == null;
+ if (!result) {
+ if (PROPERTY_CLIENT_CODE.equals(field)) {
+ result = !getDemandType().containsFields(MailField.CLIENT)
+ || StringUtils.isNotBlank(getClientCode());
+
+ } else if (PROPERTY_VALID_RANGE_ROW_MODELS.equals(field)) {
+ result = !getDemandType().containsFields(MailField.RANGE_ROW)
+ || CollectionUtils.isNotEmpty(getValidRangeRowModels());
+
+ } else if (Email.PROPERTY_PROJECT_REFERENCE.equals(field)) {
+ result = !getDemandType().containsFields(MailField.PROJECT_REFERENCE)
+ || StringUtils.isNotBlank(getProjectReference());
+
+ } else if (Email.PROPERTY_OBJECT.equals(field)) {
+ result = !getDemandType().containsFields(MailField.OBJECT)
+ || StringUtils.isNotBlank(getObject());
+
+ } else if (Email.PROPERTY_COMMENT.equals(field)) {
+ result = !getDemandType().containsFields(MailField.COMMENT)
+ || StringUtils.isNotBlank(getComment());
+
+ } else if (Email.PROPERTY_COMPANY_REFERENCE.equals(field)) {
+ result = !getDemandType().containsFields(MailField.COMPANY_REFERENCE)
+ || StringUtils.isNotBlank(getCompanyReference());
+
+ } else if (Email.PROPERTY_PRIORITY.equals(field)) {
+ result = !getDemandType().containsFields(MailField.PRIORITY)
+ || getPriority() != null;
+
+ } else if (Email.PROPERTY_ETAT_ATTENTE.equals(field)) {
+ result = !getDemandType().containsFields(MailField.ETAT_ATTENTE)
+ || getEtatAttente() != null;
+ }
+ }
+ return result;
+ }
+
@Override
protected Email newEntity() {
return new EmailImpl();
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor/PDFEditorUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor/PDFEditorUIHandler.java 2014-06-09 17:07:41 UTC (rev 161)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor/PDFEditorUIHandler.java 2014-06-09 17:14:06 UTC (rev 162)
@@ -543,6 +543,6 @@
}
public void print() {
- FaxToMailUIUtil.print(getModel().getEditedFile());
+ FaxToMailUIUtil.print(getModel().getEditedFile(), false);
}
}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUI.css
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUI.css 2014-06-09 17:07:41 UTC (rev 161)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUI.css 2014-06-09 17:14:06 UTC (rev 162)
@@ -36,6 +36,5 @@
actionIcon: validate;
text: "faxtomail.chooseAttachmentToPrint.action.validate";
toolTipText: "faxtomail.chooseAttachmentToPrint.action.validate.tip";
- //_applicationAction: {com.franciaflex.faxtomail.ui.swing.actions.TransmitAction.class};
- enabled: { model.getMailFolder() != null };
+ enabled: { !model.getAttachmentsToPrint().isEmpty() };
}
\ No newline at end of file
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUI.jaxx
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUI.jaxx 2014-06-09 17:07:41 UTC (rev 161)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUI.jaxx 2014-06-09 17:14:06 UTC (rev 162)
@@ -22,7 +22,7 @@
#L%
-->
<JPanel id='attachmentToPrintChooser' layout='{new BorderLayout()}'
- implements='com.franciaflex.faxtomail.ui.swing.util.FaxToMailUI<com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel, AttachmentToPrintChooserUIHandler>'>
+ implements='com.franciaflex.faxtomail.ui.swing.util.FaxToMailUI<AttachmentToPrintChooserUIModel, AttachmentToPrintChooserUIHandler>'>
<import>
com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel
@@ -36,14 +36,16 @@
<script><![CDATA[
- public AttachmentToPrintChooserUI(FaxToMailUI parentUI, DemandeUIModel model) {
+ public AttachmentToPrintChooserUI(FaxToMailUI parentUI, DemandeUIModel demande) {
FaxToMailUIUtil.setParentUI(this, parentUI);
+ AttachmentToPrintChooserUIModel model = new AttachmentToPrintChooserUIModel();
+ model.setDemand(demande);
setContextValue(model);
}
]]></script>
- <DemandeUIModel id='model' javaBean='getContextValue(DemandeUIModel.class)'/>
+ <AttachmentToPrintChooserUIModel id='model' javaBean='getContextValue(AttachmentToPrintChooserUIModel.class)'/>
<JLabel id="message" constraints='BorderLayout.NORTH'/>
@@ -54,7 +56,7 @@
<JPanel layout='{ new GridLayout(1, 0) }' constraints='BorderLayout.SOUTH'>
<JButton id='cancelButton' onActionPerformed='handler.cancel()'/>
- <JButton id='validateButton'/>
+ <JButton id='validateButton' onActionPerformed="handler.print()"/>
</JPanel>
</JPanel>
\ No newline at end of file
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java 2014-06-09 17:07:41 UTC (rev 161)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIHandler.java 2014-06-09 17:14:06 UTC (rev 162)
@@ -24,30 +24,31 @@
* #L%
*/
-import static org.nuiton.i18n.I18n.t;
-
-import java.sql.Blob;
-
-import javax.swing.JCheckBox;
-import javax.swing.JComponent;
-import javax.swing.JPanel;
-
-import jaxx.runtime.validator.swing.SwingValidator;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
import com.franciaflex.faxtomail.persistence.entities.Attachment;
import com.franciaflex.faxtomail.persistence.entities.AttachmentFile;
import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler;
import com.franciaflex.faxtomail.ui.swing.util.Cancelable;
+import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil;
+import jaxx.runtime.validator.swing.SwingValidator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import javax.swing.*;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.nuiton.i18n.I18n.t;
+
/**
* @author Kevin Morin (Code Lutin)
* @since x.x
*/
-public class AttachmentToPrintChooserUIHandler extends AbstractFaxToMailUIHandler<DemandeUIModel, AttachmentToPrintChooserUI>
+public class AttachmentToPrintChooserUIHandler extends AbstractFaxToMailUIHandler<AttachmentToPrintChooserUIModel, AttachmentToPrintChooserUI>
implements Cancelable {
private static final Log log = LogFactory.getLog(AttachmentToPrintChooserUIHandler.class);
@@ -56,30 +57,47 @@
public void afterInit(AttachmentToPrintChooserUI attachmentToPrintChooserUI) {
initUI(attachmentToPrintChooserUI);
- DemandeUIModel model = getModel();
+ AttachmentToPrintChooserUIModel model = getModel();
+ DemandeUIModel demand = model.getDemand();
JPanel attachmentPanel = ui.getAttachmentPanel();
JCheckBox checkBox = new JCheckBox(t("faxtomail.chooseMailFolder.element"), false);
attachmentPanel.add(checkBox);
- for (Attachment attachment : model.getAttachment()) {
- checkBox = new JCheckBox(attachment.getOriginalFile().getFilename(), true);
- attachmentPanel.add(checkBox);
+ for (Attachment attachment : demand.getAttachment()) {
+ createCheckBox(attachment.getOriginalFile());
- AttachmentFile file = attachment.getEditedFile();
+ final AttachmentFile file = attachment.getEditedFile();
if (file != null) {
- checkBox = new JCheckBox(file.getFilename(), true);
- attachmentPanel.add(checkBox);
+ createCheckBox(file);
}
}
}
+ protected void createCheckBox(final AttachmentFile attachmentFile) {
+ JCheckBox checkBox = new JCheckBox(attachmentFile.getFilename(), true);
+ ui.getAttachmentPanel().add(checkBox);
+ getModel().addAttachmentToPrint(attachmentFile);
+
+ checkBox.addItemListener(new ItemListener() {
+ @Override
+ public void itemStateChanged(ItemEvent e) {
+ log.info("state changed " + e.getStateChange());
+ if (e.getStateChange() == ItemEvent.SELECTED) {
+ getModel().addAttachmentToPrint(attachmentFile);
+ } else {
+ getModel().removeAttachmentToPrint(attachmentFile);
+ }
+ }
+ });
+ }
+
@Override
public void onCloseUI() {
}
@Override
- public SwingValidator<DemandeUIModel> getValidator() {
+ public SwingValidator<AttachmentToPrintChooserUIModel> getValidator() {
return null;
}
@@ -93,4 +111,9 @@
return ui.getAttachmentPanel();
}
+ public void print() {
+ for (AttachmentFile attachmentFile : getModel().getAttachmentsToPrint()) {
+ FaxToMailUIUtil.print(attachmentFile, true);
+ }
+ }
}
Added: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIModel.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIModel.java (rev 0)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/print/AttachmentToPrintChooserUIModel.java 2014-06-09 17:14:06 UTC (rev 162)
@@ -0,0 +1,59 @@
+package com.franciaflex.faxtomail.ui.swing.content.print;
+
+import com.franciaflex.faxtomail.persistence.entities.AttachmentFile;
+import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jdesktop.beans.AbstractBean;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * @author Kevin Morin (Code Lutin)
+ * @since x.x
+ */
+public class AttachmentToPrintChooserUIModel extends AbstractBean {
+
+ private static final Log log = LogFactory.getLog(AttachmentToPrintChooserUIModel.class);
+
+ public static final String PROPERTY_ATTACHEMENTS_TO_PRINT = "attachmentsToPrint";
+
+ protected DemandeUIModel demand;
+
+ protected Collection<AttachmentFile> attachmentsToPrint = new HashSet<AttachmentFile>();
+
+ public DemandeUIModel getDemand() {
+ return demand;
+ }
+
+ public void setDemand(DemandeUIModel demand) {
+ this.demand = demand;
+ }
+
+ public Collection<AttachmentFile> getAttachmentsToPrint() {
+ return attachmentsToPrint;
+ }
+
+ public void setAttachmentsToPrint(Collection<AttachmentFile> attachmentsToPrint) {
+ Object oldValue = new HashSet<AttachmentFile>(this.attachmentsToPrint);
+ this.attachmentsToPrint.clear();
+ this.attachmentsToPrint.addAll(attachmentsToPrint);
+ firePropertyChange(PROPERTY_ATTACHEMENTS_TO_PRINT, oldValue, this.attachmentsToPrint);
+ }
+
+ public void addAttachmentToPrint(AttachmentFile attachmentFile) {
+ Object oldValue = new HashSet<AttachmentFile>(this.attachmentsToPrint);
+ this.attachmentsToPrint.add(attachmentFile);
+ firePropertyChange(PROPERTY_ATTACHEMENTS_TO_PRINT, oldValue, this.attachmentsToPrint);
+ }
+
+ public void removeAttachmentToPrint(AttachmentFile attachmentFile) {
+ Object oldValue = new HashSet<AttachmentFile>(this.attachmentsToPrint);
+ this.attachmentsToPrint.remove(attachmentFile);
+ firePropertyChange(PROPERTY_ATTACHEMENTS_TO_PRINT, oldValue, this.attachmentsToPrint);
+ }
+}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java 2014-06-09 17:07:41 UTC (rev 161)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java 2014-06-09 17:14:06 UTC (rev 162)
@@ -32,20 +32,23 @@
import jaxx.runtime.JAXXObject;
import jaxx.runtime.JAXXUtil;
-import org.apache.commons.collections4.ComparatorUtils;
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.jaxx.application.ApplicationBusinessException;
import org.nuiton.jaxx.application.ApplicationTechnicalException;
import org.nuiton.jaxx.application.swing.util.ApplicationUIUtil;
import org.nuiton.util.FileUtil;
-import javax.activation.DataHandler;
-import javax.activation.DataSource;
-import javax.mail.BodyPart;
-import javax.mail.Part;
-import javax.mail.internet.MimeMultipart;
+import javax.print.Doc;
+import javax.print.DocFlavor;
+import javax.print.DocPrintJob;
+import javax.print.PrintException;
+import javax.print.PrintService;
+import javax.print.PrintServiceLookup;
+import javax.print.ServiceUI;
+import javax.print.SimpleDoc;
+import javax.print.attribute.HashPrintRequestAttributeSet;
+import javax.print.attribute.PrintRequestAttributeSet;
import javax.swing.*;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
@@ -57,9 +60,8 @@
import javax.swing.tree.TreePath;
import java.awt.*;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.net.URI;
+import java.io.FileInputStream;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -255,19 +257,62 @@
return desktop;
}
- public static void print(AttachmentFile attachmentFile) {
+ public static void print(AttachmentFile attachmentFile, boolean defaultPrinter) {
- Desktop desktop = getDesktopForPrint();
- File file = attachmentFile.getFile();
-
try {
- desktop.print(file);
+ FileInputStream textStream = new FileInputStream(attachmentFile.getFile());
- } catch (Exception e) {
+ DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
+ Doc mydoc = new SimpleDoc(textStream, flavor, null);
+ PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
+
+ PrintService[] services = PrintServiceLookup.lookupPrintServices(flavor, aset);
+ PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();
+
+ if (defaultPrinter) {
+ DocPrintJob job;
+
+ if (defaultService == null) {
+ if (services.length == 0) {
+ throw new ApplicationBusinessException(t("jaxx.application.error.noPrinter"));
+ }
+ job = services[0].createPrintJob();
+
+ } else {
+ job = defaultService.createPrintJob();
+ }
+ job.print(mydoc, aset);
+
+ } else {
+
+ if (services.length == 0) {
+ if(defaultService == null) {
+ throw new ApplicationBusinessException(t("jaxx.application.error.noPrinter"));
+
+ } else {
+ services = new PrintService[] {
+ defaultService
+ };
+ }
+ }
+
+ //built in UI for printing you may not use this
+ PrintService service = ServiceUI.printDialog(null, 200, 200, services, defaultService, flavor, aset);
+
+ System.out.print("service " + service);
+ if (service != null) {
+ DocPrintJob job = service.createPrintJob();
+ job.print(mydoc, aset);
+ }
+ }
+
+ } catch (PrintException | IOException e) {
+
throw new ApplicationTechnicalException(
t("jaxx.application.error.cannot.print"), e);
}
+
}
public static String getEditedFileName(AttachmentFile originalFile) {
Modified: trunk/faxtomail-ui-swing/src/main/resources/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel-error-validation.xml
===================================================================
--- trunk/faxtomail-ui-swing/src/main/resources/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel-error-validation.xml 2014-06-09 17:07:41 UTC (rev 161)
+++ trunk/faxtomail-ui-swing/src/main/resources/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel-error-validation.xml 2014-06-09 17:14:06 UTC (rev 162)
@@ -30,35 +30,82 @@
<validators>
- <!--<field name="object">-->
- <!--<field-validator type="requiredstring" short-circuit="true">-->
- <!--<message>faxtomail.validator.error.email.object.required</message>-->
- <!--</field-validator>-->
- <!--</field>-->
+ <field name="demandType">
+ <field-validator type="required" short-circuit="true">
+ <message>faxtomail.validator.error.email.demandType.required</message>
+ </field-validator>
+ </field>
<field name="clientCode">
- <field-validator type="requiredstring" short-circuit="true">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ isValid("clientCode") ]]>
+ </param>
<message>faxtomail.validator.error.email.clientCode.required</message>
</field-validator>
</field>
- <field name="demandType">
- <field-validator type="required" short-circuit="true">
- <message>faxtomail.validator.error.email.demandType.required</message>
+ <field name="projectReference">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ isValid("projectReference") ]]>
+ </param>
+ <message>faxtomail.validator.error.email.projectReference.required</message>
</field-validator>
</field>
- <field name="projectReference">
- <field-validator type="requiredstring" short-circuit="true">
- <message>faxtomail.validator.error.email.projectReference.required</message>
+ <field name="object">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ isValid("object") ]]>
+ </param>
+ <message>faxtomail.validator.error.email.object.required</message>
</field-validator>
</field>
<field name="validRangeRowModels">
<field-validator type="fieldexpression" short-circuit="true">
- <param name="expression"><![CDATA[ !isRangePanelVisible() || validRangeRowModels != null && !validRangeRowModels.isEmpty() ]]></param>
+ <param name="expression">
+ <![CDATA[ isValid("validRangeRowModels") ]]>
+ </param>
<message>faxtomail.validator.error.email.rangeRow.required</message>
</field-validator>
</field>
+ <field name="priority">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ isValid("priority") ]]>
+ </param>
+ <message>faxtomail.validator.error.email.priority.required</message>
+ </field-validator>
+ </field>
+
+ <field name="etatAttente">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ isValid("etatAttente") ]]>
+ </param>
+ <message>faxtomail.validator.error.email.etatAttente.required</message>
+ </field-validator>
+ </field>
+
+ <field name="comment">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ isValid("comment") ]]>
+ </param>
+ <message>faxtomail.validator.error.email.comment.required</message>
+ </field-validator>
+ </field>
+
+ <field name="companyReference">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ isValid("companyReference") ]]>
+ </param>
+ <message>faxtomail.validator.error.email.companyReference.required</message>
+ </field-validator>
+ </field>
+
</validators>
Modified: trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties
===================================================================
--- trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties 2014-06-09 17:07:41 UTC (rev 161)
+++ trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties 2014-06-09 17:14:06 UTC (rev 162)
@@ -276,8 +276,12 @@
faxtomail.searchToGroup.title=Recherche de l'élément avec lequel grouper l'élément %s
faxtomail.systemUser=Système
faxtomail.validator.error.email.clientCode.required=Code client requis
+faxtomail.validator.error.email.comment.required=
+faxtomail.validator.error.email.companyReference.required=
faxtomail.validator.error.email.demandType.required=Type de demande requis
+faxtomail.validator.error.email.etatAttente.required=
faxtomail.validator.error.email.object.required=Objet requis
+faxtomail.validator.error.email.priority.required=
faxtomail.validator.error.email.projectReference.required=Référence chantier requise
faxtomail.validator.error.email.rangeRow.required=Tableau des gammes requis
faxtomail.validator.error.reply.from.required=
@@ -285,6 +289,7 @@
jaxx.application.error.cannot.print=
jaxx.application.error.desktop.not.supported=
jaxx.application.error.desktop.print.not.supported=
+jaxx.application.error.noPrinter=
swing.error.cannot.copy.file=
swing.error.cannot.open.file=
test=
1
0