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
- 1934 discussions
r574 - in trunk: faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history
by kmorin@users.forge.codelutin.com 18 Aug '14
by kmorin@users.forge.codelutin.com 18 Aug '14
18 Aug '14
Author: kmorin
Date: 2014-08-18 17:13:24 +0200 (Mon, 18 Aug 2014)
New Revision: 574
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/574
Log:
correction affichage champs historique
Modified:
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/HistoryItemModel.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/HistoryListUIHandler.java
Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java
===================================================================
--- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-18 14:45:36 UTC (rev 573)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-18 15:13:24 UTC (rev 574)
@@ -573,8 +573,6 @@
Email.PROPERTY_CLIENT,
Email.PROPERTY_RANGE_ROW + "." + RangeRow.PROPERTY_RANGE,
Email.PROPERTY_ETAT_ATTENTE,
-// Email.PROPERTY_ETAT_ATTENTE + "." + EtatAttente.PROPERTY_INVALID_FORM_DISABLED_ACTIONS,
-// Email.PROPERTY_ETAT_ATTENTE + "." + EtatAttente.PROPERTY_VALID_FORM_DISABLED_ACTIONS,
Email.PROPERTY_TAKEN_BY,
Email.PROPERTY_REPLIES,
Email.PROPERTY_ATTACHMENT,
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java 2014-08-18 14:45:36 UTC (rev 573)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java 2014-08-18 15:13:24 UTC (rev 574)
@@ -29,6 +29,7 @@
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.Closeable;
+import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
@@ -238,8 +239,11 @@
Map<Class, State> additionalStates = Maps.newHashMap();
additionalStates.put(BeanFilterableComboBox.class, new BeanFilterableComboBoxState());
additionalStates.put(BeanDoubleList.class, new BeanDoubleListState());
- this.swingSession = new SwingSession(getConfig().getUIConfigFile(), false, additionalStates);
- swingSession.loadSafeStates();
+ File uiConfigFile = getConfig().getUIConfigFile();
+ this.swingSession = new SwingSession(uiConfigFile, false, additionalStates);
+ if (!uiConfigFile.exists()) {
+ swingSession.loadSafeStates();
+ }
this.errorHelper = new ApplicationErrorHelper(this) {
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/HistoryItemModel.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/HistoryItemModel.java 2014-08-18 14:45:36 UTC (rev 573)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/HistoryItemModel.java 2014-08-18 15:13:24 UTC (rev 574)
@@ -33,8 +33,8 @@
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
-import java.util.Collection;
import java.util.Date;
+import java.util.Set;
/**
* @author Kevin Morin (Code Lutin)
@@ -65,12 +65,12 @@
firePropertyChanged(History.PROPERTY_TYPE, oldValue, type);
}
- public void setFields(Collection<String> fields) {
- editObject.setFields(Sets.newLinkedHashSet(fields));
+ public void setFields(Set<String> fields) {
+ editObject.setFields(fields != null ? Sets.newLinkedHashSet(fields) : null);
firePropertyChanged(History.PROPERTY_FIELDS, null, fields);
}
- public Collection<String> getFields() {
+ public Set<String> getFields() {
return editObject.getFields();
}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/HistoryListUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/HistoryListUIHandler.java 2014-08-18 14:45:36 UTC (rev 573)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/history/HistoryListUIHandler.java 2014-08-18 15:13:24 UTC (rev 574)
@@ -180,7 +180,7 @@
return null;
}
- public String decorateFields(Collection<String> fields) {
+ public String decorateFields(Set<String> fields) {
List<String> fieldLabels = new ArrayList<String>();
if (fields != null) {
for (String field : fields) {
1
0
r573 - in trunk: faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions
by kmorin@users.forge.codelutin.com 18 Aug '14
by kmorin@users.forge.codelutin.com 18 Aug '14
18 Aug '14
Author: kmorin
Date: 2014-08-18 16:45:36 +0200 (Mon, 18 Aug 2014)
New Revision: 573
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/573
Log:
evite un fetch un peu lourd
Modified:
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ReferentielServiceImpl.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java
Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java
===================================================================
--- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-18 14:34:20 UTC (rev 572)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-18 14:45:36 UTC (rev 573)
@@ -573,8 +573,8 @@
Email.PROPERTY_CLIENT,
Email.PROPERTY_RANGE_ROW + "." + RangeRow.PROPERTY_RANGE,
Email.PROPERTY_ETAT_ATTENTE,
- Email.PROPERTY_ETAT_ATTENTE + "." + EtatAttente.PROPERTY_INVALID_FORM_DISABLED_ACTIONS,
- Email.PROPERTY_ETAT_ATTENTE + "." + EtatAttente.PROPERTY_VALID_FORM_DISABLED_ACTIONS,
+// Email.PROPERTY_ETAT_ATTENTE + "." + EtatAttente.PROPERTY_INVALID_FORM_DISABLED_ACTIONS,
+// Email.PROPERTY_ETAT_ATTENTE + "." + EtatAttente.PROPERTY_VALID_FORM_DISABLED_ACTIONS,
Email.PROPERTY_TAKEN_BY,
Email.PROPERTY_REPLIES,
Email.PROPERTY_ATTACHMENT,
Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ReferentielServiceImpl.java
===================================================================
--- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ReferentielServiceImpl.java 2014-08-18 14:34:20 UTC (rev 572)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ReferentielServiceImpl.java 2014-08-18 14:45:36 UTC (rev 573)
@@ -89,7 +89,10 @@
@Override
public List<EtatAttente> getAllEtatAttente() {
EtatAttenteTopiaDao dao = getPersistenceContext().getEtatAttenteDao();
- return dao.findAll();
+ return dao.forAll()
+ .addAllFetches(EtatAttente.PROPERTY_INVALID_FORM_DISABLED_ACTIONS,
+ EtatAttente.PROPERTY_VALID_FORM_DISABLED_ACTIONS)
+ .findAll();
}
@Override
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java 2014-08-18 14:34:20 UTC (rev 572)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java 2014-08-18 14:45:36 UTC (rev 573)
@@ -30,13 +30,17 @@
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import com.ezware.oxbow.swingbits.table.filter.TableRowFilterSupport;
+import com.franciaflex.faxtomail.persistence.entities.EtatAttente;
import com.franciaflex.faxtomail.persistence.entities.MailField;
+import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.swingx.JXTable;
+import org.nuiton.topia.persistence.TopiaEntities;
import org.nuiton.util.pagination.PaginationResult;
import com.franciaflex.faxtomail.persistence.entities.Email;
@@ -108,6 +112,8 @@
log.debug(emails.size() + " emails in folder " + folder.getName());
}
+ Map<String, EtatAttente> etatAttenteById = Maps.uniqueIndex(getContext().getEtatAttenteCache(), TopiaEntities.getTopiaIdFunction());
+
List<DemandeUIModel> demands = new ArrayList<DemandeUIModel>();
for (Email email : emails) {
DemandeUIModel demand = new DemandeUIModel();
@@ -131,6 +137,10 @@
demand.setValid(handler.isDemandeValid(demand));
demand.setMailFolder(folder);
demand.setEditable(folder.isFolderWritable());
+ EtatAttente etatAttente = email.getEtatAttente();
+ if (etatAttente != null) {
+ demand.setEtatAttente(etatAttenteById.get(etatAttente.getTopiaId()));
+ }
demands.add(demand);
}
1
0
r572 - in trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing: . content/demande
by kmorin@users.forge.codelutin.com 18 Aug '14
by kmorin@users.forge.codelutin.com 18 Aug '14
18 Aug '14
Author: kmorin
Date: 2014-08-18 16:34:20 +0200 (Mon, 18 Aug 2014)
New Revision: 572
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/572
Log:
fix swingsession
fix range panel size
Modified:
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.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
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java 2014-08-18 14:00:32 UTC (rev 571)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java 2014-08-18 14:34:20 UTC (rev 572)
@@ -238,7 +238,8 @@
Map<Class, State> additionalStates = Maps.newHashMap();
additionalStates.put(BeanFilterableComboBox.class, new BeanFilterableComboBoxState());
additionalStates.put(BeanDoubleList.class, new BeanDoubleListState());
- this.swingSession = SwingSession.newSession(getConfig().getUIConfigFile(), false, additionalStates);
+ this.swingSession = new SwingSession(getConfig().getUIConfigFile(), false, additionalStates);
+ swingSession.loadSafeStates();
this.errorHelper = new ApplicationErrorHelper(this) {
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-08-18 14:00:32 UTC (rev 571)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.jaxx 2014-08-18 14:34:20 UTC (rev 572)
@@ -93,7 +93,7 @@
<JSplitPane orientation="{JSplitPane.VERTICAL_SPLIT}"
id="leftVerticalSplitPanel">
- <JScrollPane>
+ <JScrollPane id="demandForm">
<Table fill='horizontal'>
<row>
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-08-18 14:00:32 UTC (rev 571)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java 2014-08-18 14:34:20 UTC (rev 572)
@@ -399,8 +399,10 @@
if (oldRangePanelVisible != newRangePanelVisible) {
leftVerticalSplitPanel.setName("leftVerticalSplitPanel" + newRangePanelVisible);
getContext().getSwingSession().add(leftVerticalSplitPanel, true);
- if (!oldRangePanelVisible) {
+ if (oldRangePanelVisible) {
leftVerticalSplitPanel.setDividerLocation(leftVerticalSplitPanel.getHeight());
+ } else {
+ leftVerticalSplitPanel.setDividerLocation(getUI().getDemandForm().getPreferredSize().height);
}
}
}
1
0
r571 - in trunk: faxtomail-persistence/src/main/resources/i18n faxtomail-service/src/main/resources/i18n faxtomail-ui-swing/src/main/resources/i18n
by echatellier@users.forge.codelutin.com 18 Aug '14
by echatellier@users.forge.codelutin.com 18 Aug '14
18 Aug '14
Author: echatellier
Date: 2014-08-18 16:00:32 +0200 (Mon, 18 Aug 2014)
New Revision: 571
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/571
Log:
Clean i18n files
Modified:
trunk/faxtomail-persistence/src/main/resources/i18n/faxtomail-persistence_fr_FR.properties
trunk/faxtomail-service/src/main/resources/i18n/faxtomail-service_fr_FR.properties
trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties
Modified: trunk/faxtomail-persistence/src/main/resources/i18n/faxtomail-persistence_fr_FR.properties
===================================================================
--- trunk/faxtomail-persistence/src/main/resources/i18n/faxtomail-persistence_fr_FR.properties 2014-08-18 13:51:14 UTC (rev 570)
+++ trunk/faxtomail-persistence/src/main/resources/i18n/faxtomail-persistence_fr_FR.properties 2014-08-18 14:00:32 UTC (rev 571)
@@ -3,7 +3,6 @@
faxtomail.config.option.csv.separator.description=
faxtomail.config.option.data.directory.description=
faxtomail.config.option.demo.directory.description=
-faxtomail.config.option.edi.directory.description=
faxtomail.config.option.i18n.directory.description=
faxtomail.config.option.i18n.locale.description=
faxtomail.config.option.inceptionYear.description=
Modified: trunk/faxtomail-service/src/main/resources/i18n/faxtomail-service_fr_FR.properties
===================================================================
--- trunk/faxtomail-service/src/main/resources/i18n/faxtomail-service_fr_FR.properties 2014-08-18 13:51:14 UTC (rev 570)
+++ trunk/faxtomail-service/src/main/resources/i18n/faxtomail-service_fr_FR.properties 2014-08-18 14:00:32 UTC (rev 571)
@@ -1,9 +1,6 @@
faxtomail.attachment.demand.filename=Détail de la demande
faxtomail.email.projectReference.default=Votre demande du %s
faxtomail.service.email.save.clientCode.error=Impossible de trouver le client %s \!
-faxtomail.service.referential.import.clients.error=
-faxtomail.service.referential.import.emailAccount.error=
-faxtomail.service.referential.import.emailFilter.error=
faxtomail.validator.error.email.clientCode.required=
faxtomail.validator.error.email.demandType.required=
faxtomail.validator.error.email.projectReference.required=
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-08-18 13:51:14 UTC (rev 570)
+++ trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties 2014-08-18 14:00:32 UTC (rev 571)
@@ -2,7 +2,6 @@
\ |\ =
/=
\:=
-X=
application.action.create.error=
application.error.ui.business.warning=
faxtomail.action.archive.tip=Archiver l'élément
@@ -24,7 +23,6 @@
faxtomail.action.reply.tip=Envoyer la réponse
faxtomail.action.save.tip=Enregistrer
faxtomail.action.search.tip=Rechercher
-faxtomail.action.start.tip=Démarrer FaxToMail
faxtomail.action.transmit.tip=Déplacer l'élément
faxtomail.alert.alreadyLockedBy.message=L'élément est déjà verrouillé par %s, vous ne pouvez pas l'ouvrir.
faxtomail.alert.alreadyLockedBy.title=Document déjà verrouillé
@@ -75,7 +73,6 @@
faxtomail.chooseMailFolder.action.cancel.tip=Annuler et fermer la popup
faxtomail.chooseMailFolder.action.validate=Valider
faxtomail.chooseMailFolder.action.validate.tip=Valider et transférer l'élément
-faxtomail.chooseMailFolder.element=Détails de l'élément
faxtomail.chooseMailFolder.message=Choisissez le dossier où transférer l'élément \:
faxtomail.chooseMailFolder.title=Dossier de destination
faxtomail.common.by.label=par
@@ -125,8 +122,6 @@
faxtomail.demande.mailFolder.label=Dossier
faxtomail.demande.object.label=Objet
faxtomail.demande.print.button.label=Imprimer
-faxtomail.demande.print.error.message.filesName=Les documents suivant n'ont pas pu être imprimés \:\n%s
-faxtomail.demande.print.error.message.title=Échec d'impression de la demande
faxtomail.demande.printedBy.label=Imprimé par
faxtomail.demande.priority.label=Priorité
faxtomail.demande.projectReference.label=Référence chantier
@@ -221,8 +216,6 @@
faxtomail.main.action.exit.tip=Quitter l'application
faxtomail.main.action.recherche=Recherche
faxtomail.main.action.recherche.tip=Recherche de demandes archivées
-faxtomail.main.menu.file=Fichier
-faxtomail.main.menu.file.tip=Menu fichier
faxtomail.main.title.application=FaxToMail
faxtomail.main.title.applicationName=FaxToMail
faxtomail.pdfEditor.action.cancel=Annuler
@@ -231,11 +224,10 @@
faxtomail.pdfEditor.action.validate.tip=Enregistrer les changements et fermer
faxtomail.pdfEditor.askSaveBeforeLeaving.save=Les modifications apportées n'ont pas été sauvegardées.
faxtomail.pdfEditor.button.addCross.tip=Ajouter une croix
-faxtomail.pdfEditor.button.addHLine.tip=
+faxtomail.pdfEditor.button.addHLine.tip=Ajouter une ligne horizontale
faxtomail.pdfEditor.button.addHighlighter.tip=Ajouter un surlignement
-faxtomail.pdfEditor.button.addLine.tip=Ajouter une ligne
faxtomail.pdfEditor.button.addNote.tip=Ajouter une note
-faxtomail.pdfEditor.button.addVLine.tip=
+faxtomail.pdfEditor.button.addVLine.tip=Ajouter une ligne verticale
faxtomail.pdfEditor.button.nextPage=Page suivante
faxtomail.pdfEditor.button.previousPage=Page précédente
faxtomail.pdfEditor.convertToPdf.error=
@@ -285,7 +277,6 @@
faxtomail.search.printedBetween.label=Imprimé entre le
faxtomail.search.receivedBetween.label=Reçu entre le
faxtomail.search.repliedBetween.label=Réponse entre le
-faxtomail.search.resultNb=Nombre de résultats \: %s
faxtomail.search.title=Recherche
faxtomail.search.transferBetween.label=Transmit entre le
faxtomail.searchToGroup.action.cancel=Annuler
@@ -311,7 +302,6 @@
faxtomail.validator.error.reply.subject.required=
faxtomail.validator.error.reply.to.email=Le champ 'A\:' doit être une adresse email valide \!
faxtomail.validator.error.reply.to.required=Le champ 'A\:' est requis \!
-faxtomail.validator.error.reply.totalAttachmentLength.required=La taille totale des pièces jointes dépasse la limite acceptée
jaxx.application.error.cannot.mail=Erreur lors de l'ouverture du client mail
jaxx.application.error.cannot.print=Erreur lors de l'impression
jaxx.application.error.desktop.print.not.supported=Erreur lors de l'impression
1
0
18 Aug '14
Author: kmorin
Date: 2014-08-18 15:51:14 +0200 (Mon, 18 Aug 2014)
New Revision: 570
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/570
Log:
fixes #5381 Permettre de transf?\195?\169rer les demandes d'un m?\195?\170me groupe et m?\195?\170me dossier
correction actions depuis la liste quand les demandes ne sont pas valides
Added:
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/OpenMailFolderChooserFromListAction.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/EmailServiceImpl.java
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ArchiveFromListAction.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenMailFolderChooserAction.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/TransmitAction.java
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/DemandeListUIModel.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/demande/DemandesUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/MailFolderChooserUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java
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-08-18 13:44:24 UTC (rev 569)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java 2014-08-18 13:51:14 UTC (rev 570)
@@ -52,6 +52,7 @@
import java.util.Date;
import java.util.List;
import java.util.Map;
+import java.util.Set;
/**
* @author Kevin Morin (Code Lutin)
@@ -93,6 +94,8 @@
String content, Collection<AttachmentFile> attachments,
String originalEmailId, FaxToMailUser user) throws EmailException, MessagingException, IOException;
+ void transmit(Collection<String> emailIds, MailFolder newFolder, FaxToMailUser currentUser);
+
AttachmentFile getAttachmentFileFromStream(InputStream contentStream);
AttachmentFile getAttachmentFile(String attachmentId, boolean original);
Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java
===================================================================
--- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-18 13:44:24 UTC (rev 569)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-18 13:51:14 UTC (rev 570)
@@ -119,7 +119,6 @@
.forTopiaIdEquals(id)
.addAllFetches(Email.PROPERTY_DEMAND_TYPE,
Email.PROPERTY_DEMAND_TYPE + "." + DemandType.PROPERTY_FIELDS,
- Email.PROPERTY_RANGE_ROW,
Email.PROPERTY_RANGE_ROW + "." + RangeRow.PROPERTY_RANGE,
Email.PROPERTY_HISTORY,
Email.PROPERTY_HISTORY + "." + History.PROPERTY_FAX_TO_MAIL_USER,
@@ -130,6 +129,7 @@
Email.PROPERTY_CLIENT,
Email.PROPERTY_EMAIL_GROUP,
Email.PROPERTY_EMAIL_GROUP + "." + EmailGroup.PROPERTY_EMAIL,
+ Email.PROPERTY_EMAIL_GROUP + "." + EmailGroup.PROPERTY_EMAIL +"." + Email.PROPERTY_MAIL_FOLDER,
Email.PROPERTY_ETAT_ATTENTE,
Email.PROPERTY_ETAT_ATTENTE + "." + EtatAttente.PROPERTY_INVALID_FORM_DISABLED_ACTIONS,
Email.PROPERTY_ETAT_ATTENTE + "." + EtatAttente.PROPERTY_VALID_FORM_DISABLED_ACTIONS,
@@ -573,6 +573,8 @@
Email.PROPERTY_CLIENT,
Email.PROPERTY_RANGE_ROW + "." + RangeRow.PROPERTY_RANGE,
Email.PROPERTY_ETAT_ATTENTE,
+ Email.PROPERTY_ETAT_ATTENTE + "." + EtatAttente.PROPERTY_INVALID_FORM_DISABLED_ACTIONS,
+ Email.PROPERTY_ETAT_ATTENTE + "." + EtatAttente.PROPERTY_VALID_FORM_DISABLED_ACTIONS,
Email.PROPERTY_TAKEN_BY,
Email.PROPERTY_REPLIES,
Email.PROPERTY_ATTACHMENT,
@@ -965,6 +967,27 @@
return email;
}
+ @Override
+ public void transmit(Collection<String> emailIds, MailFolder newFolder, FaxToMailUser currentUser) {
+ EmailTopiaDao dao = getPersistenceContext().getEmailDao();
+ HistoryTopiaDao historyDao = getPersistenceContext().getHistoryDao();
+
+ List<Email> emails = dao.forTopiaIdIn(emailIds).findAll();
+ for (Email email : emails) {
+ email.setDemandStatus(DemandStatus.QUALIFIED);
+ email.setMailFolder(newFolder);
+ email.setTakenBy(null);
+
+ History history = historyDao.create(History.PROPERTY_TYPE, HistoryType.TRANSMISSION,
+ History.PROPERTY_FAX_TO_MAIL_USER, currentUser,
+ History.PROPERTY_MODIFICATION_DATE, new Date());
+
+ email.addHistory(history);
+ }
+ dao.updateAll(emails);
+ getPersistenceContext().commit();
+ }
+
/**
* Save content stream into attachment file content.
*
Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java
===================================================================
--- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java 2014-08-18 13:44:24 UTC (rev 569)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/MailFolderServiceImpl.java 2014-08-18 13:51:14 UTC (rev 570)
@@ -154,7 +154,7 @@
if (folder.isChildrenNotEmpty()) {
for (MailFolder child : folder.getChildren()) {
- // if the child is in the readable roots, rmeove it to merge the branches
+ // if the child is in the readable roots, remove it to merge the branches
if (!readableRoots.remove(child)) {
browseReadableFolders(child, readableRoots, user, writable);
}
@@ -175,10 +175,11 @@
for (MailFolder folder : folders) {
MailFolder f = folder;
+ Boolean allowMoveDemandIntoFolder = folder.getAllowMoveDemandIntoFolder();
while (f.getParent() != null) {
f = f.getParent();
- // if the parent is already in the readable roots, remove the current folder from the roots
+ // if the parent is already in the moveable roots, remove the current folder from the roots
if (result.contains(f)) {
result.remove(folder);
folder = null;
@@ -186,23 +187,33 @@
}
fetchFolderAttributes(f);
+
+ if (allowMoveDemandIntoFolder == null) {
+ allowMoveDemandIntoFolder = f.getAllowMoveDemandIntoFolder();
+ }
}
if (folder != null) {
- browseMoveableFolders(folder, result, user);
+ browseMoveableFolders(folder, result, allowMoveDemandIntoFolder);
}
}
return result;
}
- protected void browseMoveableFolders(MailFolder folder, List<MailFolder> readableRoots, FaxToMailUser user) {
- folder.setFolderMoveable(true);
+ protected void browseMoveableFolders(MailFolder folder, List<MailFolder> readableRoots, boolean inheritedAllowMoveDemandIntoFolder) {
+ Boolean allowMoveDemandIntoFolder = folder.getAllowMoveDemandIntoFolder();
+ if (allowMoveDemandIntoFolder == null) {
+ allowMoveDemandIntoFolder = inheritedAllowMoveDemandIntoFolder;
+ } else {
+ inheritedAllowMoveDemandIntoFolder = allowMoveDemandIntoFolder;
+ }
+ folder.setFolderMoveable(allowMoveDemandIntoFolder);
if (folder.isChildrenNotEmpty()) {
for (MailFolder child : folder.getChildren()) {
- // if the child is in the readable roots, rmeove it to merge the branches
+ // if the child is in the moveable roots, remove it to merge the branches
if (!readableRoots.remove(child)) {
- browseMoveableFolders(child, readableRoots, user);
+ browseMoveableFolders(child, readableRoots, inheritedAllowMoveDemandIntoFolder);
}
}
}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ArchiveFromListAction.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ArchiveFromListAction.java 2014-08-18 13:44:24 UTC (rev 569)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ArchiveFromListAction.java 2014-08-18 13:51:14 UTC (rev 570)
@@ -26,6 +26,7 @@
import com.franciaflex.faxtomail.persistence.entities.DemandStatus;
import com.franciaflex.faxtomail.persistence.entities.Email;
+import com.franciaflex.faxtomail.persistence.entities.MailAction;
import com.franciaflex.faxtomail.persistence.entities.MailFolder;
import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeListUIHandler;
import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
@@ -34,6 +35,7 @@
import com.google.common.collect.Iterables;
import javax.swing.*;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -45,6 +47,8 @@
*/
public class ArchiveFromListAction extends SaveDemandeFromListAction {
+ protected List<DemandeUIModel> demandsToArchive;
+
public ArchiveFromListAction(DemandeListUIHandler handler) {
super(handler);
setActionDescription(t("faxtomail.action.archive.tip"));
@@ -52,27 +56,60 @@
@Override
public boolean prepareAction() throws Exception {
- int i = JOptionPane.showConfirmDialog(
- null,
- t("faxtomail.alert.archiveConfirmation.message"),
- t("faxtomail.alert.archiveConfirmation.title"),
- JOptionPane.YES_NO_OPTION,
- JOptionPane.QUESTION_MESSAGE);
+ boolean result = super.prepareAction();
- boolean result = i == JOptionPane.YES_OPTION;
+ demandsToArchive = new ArrayList<DemandeUIModel>();
+ List<DemandeUIModel> currentEmails = getModel().getSelectedEmails();
+
+ String notArchivableDemandTitles = "";
+ for (DemandeUIModel demandeUIModel : currentEmails) {
+ // is the demand archivable?
+ if (!demandeUIModel.isEditable() ||
+ !handler.isActionEnabled(demandeUIModel, MailAction.ARCHIVE, handler.getConfiguration())) {
+ notArchivableDemandTitles += "- " + demandeUIModel.getTitle() + "<br/>";
+
+ } else {
+ demandsToArchive.add(demandeUIModel);
+ }
+ }
+
+ if (demandsToArchive.isEmpty()) {
+ displayWarningMessage(t("faxtomail.alert.noDemandToArchive.title"),
+ t("faxtomail.alert.noDemandToArchive.message", notArchivableDemandTitles));
+ result = false;
+
+ } else {
+ String message;
+ if (!notArchivableDemandTitles.isEmpty()) {
+ message = t("faxtomail.alert.archivesWithNotArchivableConfirmation.message", notArchivableDemandTitles);
+
+ } else if (demandsToArchive.size() == 1) {
+ message = t("faxtomail.alert.archiveConfirmation.message");
+
+ } else {
+ message = t("faxtomail.alert.archivesConfirmation.message");
+ }
+ int i = JOptionPane.showConfirmDialog(null,
+ message,
+ t("faxtomail.alert.archiveConfirmation.title"),
+ JOptionPane.YES_NO_OPTION,
+ JOptionPane.QUESTION_MESSAGE);
+
+ result = i == JOptionPane.YES_OPTION;
+ }
+
return result;
}
@Override
public void doAction() throws Exception {
- List<DemandeUIModel> currentEmails = getModel().getSelectedEmails();
// déplacement du mail dans le dossier d'archive le plus proche
// cela permet de déplacer les archives dans d'autre dossier pour leur appliquer
// des droits différents
// les dossiers d'archive ne sont pas visible dans l'arbre des dossiers, mais les archives
// peuvent être consultées dans la recherche
- MailFolder folder = currentEmails.get(0).getMailFolder();
+ MailFolder folder = demandsToArchive.get(0).getMailFolder();
MailFolder archiveChild = null;
do {
if (folder.getChildren() != null) {
@@ -90,7 +127,7 @@
} while (archiveChild == null && folder != null);
- for (DemandeUIModel email : currentEmails) {
+ for (DemandeUIModel email : demandsToArchive) {
email.setArchiveDate(new Date());
email.setDemandStatus(DemandStatus.ARCHIVED);
email.setTakenBy(null);
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java 2014-08-18 13:44:24 UTC (rev 569)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/LoadFolderEmailsAction.java 2014-08-18 13:51:14 UTC (rev 570)
@@ -130,6 +130,7 @@
demand.setValid(handler.isDemandeValid(demand));
demand.setMailFolder(folder);
+ demand.setEditable(folder.isFolderWritable());
demands.add(demand);
}
@@ -139,15 +140,8 @@
}
@Override
- public void postSuccessAction() {
- super.postSuccessAction();
+ protected void releaseAction() {
+ super.releaseAction();
getUI().getNavigationTree().setEnabled(true);
}
-
- @Override
- public void postFailedAction(Throwable error) {
- super.postFailedAction(error);
- getUI().getNavigationTree().setEnabled(true);
- }
-
}
Added: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/OpenMailFolderChooserFromListAction.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/OpenMailFolderChooserFromListAction.java (rev 0)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/OpenMailFolderChooserFromListAction.java 2014-08-18 13:51:14 UTC (rev 570)
@@ -0,0 +1,74 @@
+package com.franciaflex.faxtomail.ui.swing.actions;
+
+import com.franciaflex.faxtomail.persistence.entities.MailAction;
+import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeListUI;
+import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeListUIHandler;
+import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeListUIModel;
+import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
+import com.franciaflex.faxtomail.ui.swing.content.transmit.MailFolderChooserUI;
+import com.franciaflex.faxtomail.ui.swing.content.transmit.MailFolderChooserUIModel;
+
+import javax.swing.*;
+import java.awt.*;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.nuiton.i18n.I18n.t;
+
+/**
+ * @author Kevin Morin (Code Lutin)
+ */
+public class OpenMailFolderChooserFromListAction extends AbstractFaxToMailAction<DemandeListUIModel, DemandeListUI, DemandeListUIHandler> {
+
+ protected List<DemandeUIModel> demandsToTransmit;
+ protected MailFolderChooserUI frameContent;
+
+ public OpenMailFolderChooserFromListAction(DemandeListUIHandler handler) {
+ super(handler, false);
+ }
+
+ @Override
+ public boolean prepareAction() throws Exception {
+ boolean result = super.prepareAction();
+
+ List<DemandeUIModel> selectedEmails = getModel().getSelectedEmails();
+ demandsToTransmit = new ArrayList<DemandeUIModel>();
+
+ String notTransmitableDemandsTitle = "";
+ for (DemandeUIModel demandeUIModel : selectedEmails) {
+ if (!demandeUIModel.isEditable() ||
+ !handler.isActionEnabled(demandeUIModel, MailAction.TRANSMIT, handler.getConfiguration())) {
+
+ notTransmitableDemandsTitle += "- " + demandeUIModel.getTitle() + "<br/>";
+ } else {
+ demandsToTransmit.add(demandeUIModel);
+ }
+ }
+
+
+ if (demandsToTransmit.isEmpty()) {
+ displayWarningMessage(t("faxtomail.alert.noDemandToTransmit.title"),
+ t("faxtomail.alert.noDemandToTransmit.message", notTransmitableDemandsTitle));
+ result = false;
+
+ } else if (!notTransmitableDemandsTitle.isEmpty()) {
+ displayWarningMessage(t("faxtomail.alert.demandsNotTransmittable.title"),
+ t("faxtomail.alert.demandsNotTransmittable.message", notTransmitableDemandsTitle));
+ }
+
+ return result;
+ }
+
+ @Override
+ public void doAction() throws Exception {
+ MailFolderChooserUIModel model = new MailFolderChooserUIModel();
+ model.setDemandeUIModels(demandsToTransmit);
+ frameContent = new MailFolderChooserUI(getUI(), model);
+ }
+
+ @Override
+ public void postSuccessAction() {
+ super.postSuccessAction();
+ getHandler().openModalFrame(frameContent, t("faxtomail.chooseMailFolder.title"), new Dimension(350, 500));
+ }
+}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java 2014-08-18 13:44:24 UTC (rev 569)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java 2014-08-18 13:51:14 UTC (rev 570)
@@ -25,9 +25,11 @@
*/
import com.franciaflex.faxtomail.persistence.entities.AttachmentFile;
+import com.franciaflex.faxtomail.persistence.entities.Configuration;
import com.franciaflex.faxtomail.persistence.entities.Email;
import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser;
import com.franciaflex.faxtomail.persistence.entities.HistoryType;
+import com.franciaflex.faxtomail.persistence.entities.MailAction;
import com.franciaflex.faxtomail.services.FaxToMailServiceContext;
import com.franciaflex.faxtomail.services.service.EmailService;
import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
@@ -60,6 +62,7 @@
protected Multimap<DemandeUIModel, AttachmentFile> attachmentsToPrintByDemand;
protected boolean take;
protected boolean printDemandDetails;
+ protected List<DemandeUIModel> notPrintableDemands;
public PrintOnDefaultPrinterAction(AbstractFaxToMailUIHandler handler,
Multimap<DemandeUIModel, AttachmentFile> attachmentsToPrintByDemand,
@@ -77,46 +80,55 @@
@Override
public void doAction() throws Exception {
FaxToMailUser currentUser = getContext().getCurrentUser();
+ AbstractFaxToMailUIHandler handler = (AbstractFaxToMailUIHandler) getHandler();
+ Configuration config = getContext().newServiceContext().getConfigurationService().getConfiguration();
Multimap<DemandeUIModel, AttachmentFile> nonPrintedAttachment = HashMultimap.create();
+ notPrintableDemands = new ArrayList<DemandeUIModel>();
for (DemandeUIModel demandeUIModel : attachmentsToPrintByDemand.keySet()) {
- if (take) {
- demandeUIModel.setTakenBy(currentUser);
- }
+ if(!handler.isActionEnabled(demandeUIModel, MailAction.PRINT, config)) {
+ notPrintableDemands.add(demandeUIModel);
- List<String> printedFiles = new ArrayList<String>();
+ } else {
+ if (take) {
+ demandeUIModel.setTakenBy(currentUser);
+ }
- FaxToMailServiceContext serviceContext = getContext().newServiceContext();
- if (printDemandDetails) {
- // generate details as pdf
- EmailService emailService = serviceContext.getEmailService();
- Email email = demandeUIModel.toEntity();
- final AttachmentFile demandDetailAttachment = emailService.getEmailDetailAsAttachment(email);
- // print details
- FaxToMailUIUtil.print(demandDetailAttachment, true);
- printedFiles.add(demandDetailAttachment.getFilename());
- }
+ List<String> printedFiles = new ArrayList<String>();
- for (AttachmentFile attachmentFile : attachmentsToPrintByDemand.get(demandeUIModel)) {
+ FaxToMailServiceContext serviceContext = getContext().newServiceContext();
+ if (printDemandDetails) {
+ // generate details as pdf
+ EmailService emailService = serviceContext.getEmailService();
+ Email email = demandeUIModel.toEntity();
+ final AttachmentFile demandDetailAttachment = emailService.getEmailDetailAsAttachment(email);
+ // print details
+ FaxToMailUIUtil.print(demandDetailAttachment, true);
+ printedFiles.add(demandDetailAttachment.getFilename());
+ }
- boolean printable = FaxToMailUIUtil.isFileTypeEditable(attachmentFile.getFilename());
- if (printable) {
- FaxToMailUIUtil.print(attachmentFile, true);
- printedFiles.add(attachmentFile.getFilename());
+ for (AttachmentFile attachmentFile : attachmentsToPrintByDemand.get(demandeUIModel)) {
+ if (attachmentFile != null) {
+ boolean printable = FaxToMailUIUtil.isFileTypeEditable(attachmentFile.getFilename());
+ if (printable) {
+ FaxToMailUIUtil.print(attachmentFile, true);
+ printedFiles.add(attachmentFile.getFilename());
- } else {
- nonPrintedAttachment.put(demandeUIModel, attachmentFile);
+ } else {
+ nonPrintedAttachment.put(demandeUIModel, attachmentFile);
+ }
+ }
}
+
+ Email email = serviceContext.getEmailService().addToHistory(demandeUIModel.getTopiaId(),
+ HistoryType.PRINTING,
+ getContext().getCurrentUser(),
+ new Date(),
+ printedFiles.toArray(new String[printedFiles.size()]));
+ demandeUIModel.setHistory(email.getHistory());
}
-
- Email email = serviceContext.getEmailService().addToHistory(demandeUIModel.getTopiaId(),
- HistoryType.PRINTING,
- getContext().getCurrentUser(),
- new Date(),
- printedFiles.toArray(new String[printedFiles.size()]));
- demandeUIModel.setHistory(email.getHistory());
}
// print another page for non printed attachments
@@ -126,6 +138,22 @@
}
}
+ @Override
+ public void postSuccessAction() {
+ super.postSuccessAction();
+
+ if (!notPrintableDemands.isEmpty()) {
+ String notPrintableDemandTitles = "";
+ for (DemandeUIModel demandeUIModel : notPrintableDemands) {
+ notPrintableDemandTitles += "- " + demandeUIModel.getTitle() + "<br/>";
+ }
+
+ displayWarningMessage(t("faxtomail.action.print.notPrintableDemands.title"),
+ t("faxtomail.action.print.notPrintableDemands.message",
+ notPrintableDemandTitles));
+ }
+ }
+
/**
* Retourne un flux de données qui correspond à une page de récapitulatif des pièces jointes
* non imprimées.
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenMailFolderChooserAction.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenMailFolderChooserAction.java 2014-08-18 13:44:24 UTC (rev 569)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SaveAndOpenMailFolderChooserAction.java 2014-08-18 13:51:14 UTC (rev 570)
@@ -24,6 +24,7 @@
* #L%
*/
+import com.franciaflex.faxtomail.persistence.entities.MailAction;
import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUI;
import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
import com.franciaflex.faxtomail.ui.swing.content.demande.DemandesUIHandler;
@@ -32,6 +33,7 @@
import java.awt.*;
import java.util.*;
+import java.util.List;
import static org.nuiton.i18n.I18n.t;
@@ -58,7 +60,7 @@
public void doAction() throws Exception {
super.doAction();
- java.util.List<DemandeUIModel> demandes = Collections.singletonList(getModel());
+ List<DemandeUIModel> demandes = Collections.singletonList(getModel());
MailFolderChooserUIModel model = new MailFolderChooserUIModel();
model.setDemandeUIModels(demandes);
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/TransmitAction.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/TransmitAction.java 2014-08-18 13:44:24 UTC (rev 569)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/TransmitAction.java 2014-08-18 13:51:14 UTC (rev 570)
@@ -26,20 +26,28 @@
import static org.nuiton.i18n.I18n.t;
+import com.franciaflex.faxtomail.persistence.entities.MailFolder;
+import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeListUIModel;
import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUI;
+import com.google.common.base.Function;
+import com.google.common.base.Predicate;
+import com.google.common.collect.Collections2;
import jaxx.runtime.JAXXContext;
import jaxx.runtime.JAXXUtil;
-import com.franciaflex.faxtomail.persistence.entities.DemandStatus;
-import com.franciaflex.faxtomail.persistence.entities.Email;
import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeListUI;
import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUI;
import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
-import com.franciaflex.faxtomail.ui.swing.content.demande.DemandesUI;
import com.franciaflex.faxtomail.ui.swing.content.transmit.MailFolderChooserUI;
import com.franciaflex.faxtomail.ui.swing.content.transmit.MailFolderChooserUIHandler;
import com.franciaflex.faxtomail.ui.swing.content.transmit.MailFolderChooserUIModel;
+import javax.swing.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
/**
* @author Kevin Morin (Code Lutin)
*
@@ -52,49 +60,79 @@
}
@Override
- public void doAction() throws Exception {
+ public boolean prepareAction() throws Exception {
+ boolean result = super.prepareAction();
+
MailFolderChooserUIModel model = getModel();
- for (DemandeUIModel demande : model.getDemandeUIModels()) {
- demande.setDemandStatus(DemandStatus.QUALIFIED);
- demande.setMailFolder(model.getMailFolder());
- demande.setTakenBy(null);
- }
+ List<DemandeUIModel> demandeUIModels = new ArrayList<DemandeUIModel>(model.getDemandeUIModels());
- // suivant la condition on est soit dans le cas d'une edition de demande
- // soit dans le cas d'une action contextuel depuis la liste des demandes
- FaxToMailUI parentDemandeListUI = (FaxToMailUI) getUI().getContextValue(JAXXContext.class, JAXXUtil.PARENT);
- if (parentDemandeListUI != null) {
- if (DemandeListUI.class.isAssignableFrom(parentDemandeListUI.getClass())) {
- // appel du service pour sauver les mails
- // mais il faudrai sauver tous les mails d'un seul coup
- for (DemandeUIModel demande : model.getDemandeUIModels()) {
- String topiaId = demande.getTopiaId();
- Email email = getContext().newServiceContext().getEmailService().getEmailById(topiaId);
- email = demande.toEntity(email);
- getContext().newServiceContext().getEmailService().saveEmail(email, null, Email.PROPERTY_MAIL_FOLDER);
+ for (DemandeUIModel demandeUIModel : model.getDemandeUIModels()) {
+
+ final MailFolder mailFolder = demandeUIModel.getMailFolder();
+ List<DemandeUIModel> groupedDemandes = demandeUIModel.getGroupedDemandes();
+ // on cherche les demandes groupées qui sont dans le même groupe, pour demander si on les déplace aussi
+ Collection<DemandeUIModel> sameFolderGroupedDemands =
+ Collections2.filter(groupedDemandes, new Predicate<DemandeUIModel>() {
+ @Override
+ public boolean apply(DemandeUIModel demandeUIModel) {
+ return mailFolder.equals(demandeUIModel.getMailFolder());
}
+ });
- // appel de l'action de rechargement de la liste
- getContext().getActionEngine().runInternalAction(parentDemandeListUI.getHandler(),
- LoadFolderEmailsAction.class);
+ if (!sameFolderGroupedDemands.isEmpty()) {
+ String groupedDemandTitles = "";
+ for (DemandeUIModel groupedDemand : sameFolderGroupedDemands) {
+ groupedDemandTitles += "- " + groupedDemand.getTitle() + "<br/>";
+ }
- } else {
- DemandesUI parentUI = (DemandesUI) getUI().getContextValue(JAXXContext.class, JAXXUtil.PARENT);
- DemandeUI demandeUI = (DemandeUI) parentUI.getDemandsTabPane().getSelectedComponent();
- getActionEngine().runInternalAction(demandeUI.getHandler(), SaveDemandeAction.class);
+ int i = JOptionPane.showConfirmDialog(null,
+ t("faxtomail.alert.transmit.groupedDemandsInSameFolder.message",
+ demandeUIModel.getTitle(),
+ groupedDemandTitles),
+ t("faxtomail.alert.transmit.groupedDemandsInSameFolder.title"),
+ JOptionPane.YES_NO_OPTION,
+ JOptionPane.QUESTION_MESSAGE);
+ if (i == JOptionPane.YES_OPTION) {
+ demandeUIModels.addAll(sameFolderGroupedDemands);
+ }
}
}
+ model.setDemandeUIModels(demandeUIModels);
+
+ return result;
}
@Override
+ public void doAction() throws Exception {
+ MailFolderChooserUIModel model = getModel();
+ Collection<String> emailIds = Collections2.transform(model.getDemandeUIModels(), new Function<DemandeUIModel, String>() {
+ @Override
+ public String apply(DemandeUIModel demandeUIModel) {
+ return demandeUIModel.getTopiaId();
+ }
+ });
+ getContext().newServiceContext().getEmailService().transmit(emailIds, model.getMailFolder(), getContext().getCurrentUser());
+ }
+
+ @Override
public void postSuccessAction() {
super.postSuccessAction();
MailFolderChooserUIHandler handler = getHandler();
- //FIXME works but ugly
- FaxToMailUI parentDemandeListUI = (FaxToMailUI) getUI().getContextValue(JAXXContext.class, JAXXUtil.PARENT);
- if (parentDemandeListUI != null && !DemandeListUI.class.isAssignableFrom(parentDemandeListUI.getClass())) {
- getActionEngine().runInternalAction(handler, GoToPreviousScreenAction.class);
+
+ FaxToMailUI parentUI = (FaxToMailUI) getUI().getContextValue(JAXXContext.class, JAXXUtil.PARENT);
+ if (parentUI != null) {
+ if (DemandeUI.class.isAssignableFrom(parentUI.getClass())) {
+ getActionEngine().runInternalAction(handler, GoToPreviousScreenAction.class);
+
+ } else if (DemandeListUI.class.isAssignableFrom(parentUI.getClass())) {
+ DemandeListUI demandeListUI = (DemandeListUI) parentUI;
+ DemandeListUIModel listModel = demandeListUI.getModel();
+ List<DemandeUIModel> demandList = new ArrayList<DemandeUIModel>(listModel.getEmails());
+ demandList.removeAll(getModel().getDemandeUIModels());
+ listModel.setEmails(demandList);
+ }
}
+
handler.closeFrame();
}
}
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-08-18 13:44:24 UTC (rev 569)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java 2014-08-18 13:51:14 UTC (rev 570)
@@ -57,10 +57,14 @@
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreePath;
+import com.franciaflex.faxtomail.persistence.entities.Configuration;
+import com.franciaflex.faxtomail.persistence.entities.MailAction;
+import com.franciaflex.faxtomail.ui.swing.actions.OpenMailFolderChooserFromListAction;
import jaxx.runtime.JAXXContext;
import jaxx.runtime.JAXXUtil;
import jaxx.runtime.validator.swing.SwingValidator;
+import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.swingx.JXTable;
@@ -111,6 +115,8 @@
/** Logger. */
private static final Log log = LogFactory.getLog(DemandeListUIHandler.class);
+ protected Configuration config;
+
protected ITableFilter<JTable> tableFilter;
public ITableFilter<JTable> getTableFilter() {
@@ -135,11 +141,16 @@
}
};
+ public Configuration getConfiguration() {
+ return config;
+ }
+
@Override
public void beforeInit(DemandeListUI ui) {
-
super.beforeInit(ui);
+ config = getContext().newServiceContext().getConfigurationService().getConfiguration();
+
DemandeListUIModel model = new DemandeListUIModel();
Collection<MailFolder> folders = getContext().newServiceContext().getMailFolderService()
.getRootMailFoldersWithReadingRights(getContext().getCurrentUser());
@@ -467,12 +478,17 @@
int selectedRowCount = getUI().getDataTable().getSelectedRowCount();
+
DemandeListUIModel model = getModel();
- model.setReplyEnabled(selectedRowCount == 1 && model.getSelectedEmails().get(0).isEditable());
- model.setArchiveEnabled(selectedRowCount > 1 ||
- selectedRowCount > 0 && model.getSelectedEmails().get(0).isEditable());
- model.setTransmitEnabled(selectedRowCount > 1 ||
- selectedRowCount > 0 && model.getSelectedEmails().get(0).isEditable());
+ DemandeUIModel firstDemandeUIModel = model.getSelectedEmails().get(0);
+
+ model.setReplyEnabled(selectedRowCount == 1
+ && firstDemandeUIModel.isEditable()
+ && isActionEnabled(firstDemandeUIModel, MailAction.REPLY, config));
+
+ model.setArchiveEnabled(selectedRowCount > 0);
+ model.setTransmitEnabled(selectedRowCount > 0);
+ model.setPrintEnabled(selectedRowCount > 0);
}
/**
@@ -554,16 +570,22 @@
for (DemandeUIModel demandeUIModel : model.getSelectedEmails()) {
- for (Attachment attachment : demandeUIModel.getAttachment()) {
- // force lazy loading
- // TODO kmorin 20140813 action ?
- FaxToMailUIUtil.forceAttachmentFileLoading(getContext(), attachment);
+ List<Attachment> attachments = demandeUIModel.getAttachment();
+ if (CollectionUtils.isEmpty(attachments)) {
+ attachmentToPrints.put(demandeUIModel, null);
- AttachmentFile attachmentFile = attachment.getEditedFile();
- if (attachmentFile == null) {
- attachmentFile = attachment.getOriginalFile();
+ } else {
+ for (Attachment attachment : attachments) {
+ // force lazy loading
+ // TODO kmorin 20140813 action ?
+ FaxToMailUIUtil.forceAttachmentFileLoading(getContext(), attachment);
+
+ AttachmentFile attachmentFile = attachment.getEditedFile();
+ if (attachmentFile == null) {
+ attachmentFile = attachment.getOriginalFile();
+ }
+ attachmentToPrints.put(demandeUIModel, attachmentFile);
}
- attachmentToPrints.put(demandeUIModel, attachmentFile);
}
}
@@ -594,21 +616,19 @@
}
public void archive() {
- ArchiveFromListAction saveAction =
- getContext().getActionFactory().createLogicAction(DemandeListUIHandler.this,
+ ArchiveFromListAction action =
+ getContext().getActionFactory().createLogicAction(this,
ArchiveFromListAction.class);
- getContext().getActionEngine().runAction(saveAction);
+ getContext().getActionEngine().runAction(action);
}
/**
* Display move popup for user to chose where to move all selected demands.
*/
public void transmit() {
- List<DemandeUIModel> selectedEmails = getModel().getSelectedEmails();
- MailFolderChooserUIModel model = new MailFolderChooserUIModel();
- model.setDemandeUIModels(selectedEmails);
- MailFolderChooserUI dialogContent = new MailFolderChooserUI(ui, model);
-
- openModalFrame(dialogContent, t("faxtomail.chooseMailFolder.title"), new Dimension(350, 500));
+ OpenMailFolderChooserFromListAction action =
+ getContext().getActionFactory().createLogicAction(this,
+ OpenMailFolderChooserFromListAction.class);
+ getContext().getActionEngine().runAction(action);
}
}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIModel.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIModel.java 2014-08-18 13:44:24 UTC (rev 569)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIModel.java 2014-08-18 13:51:14 UTC (rev 570)
@@ -52,6 +52,7 @@
public static final String PROPERTY_REPLY_ENABLED = "replyEnabled";
public static final String PROPERTY_ARCHIVE_ENABLED = "archiveEnabled";
public static final String PROPERTY_TRANSMIT_ENABLED = "transmitEnabled";
+ public static final String PROPERTY_PRINT_ENABLED = "printEnabled";
public static final String PROPERTY_COMPUTE_QUANTITIES_BY_RANGE_ENABLED = "computeQuantitiesByRangeEnabled";
public static final String PROPERTY_NEW_DEMAND_ENABLED = "newDemandEnabled";
public static final String PROPERTY_RESULT_PER_PAGE = "resultPerPage";
@@ -79,6 +80,8 @@
protected boolean transmitEnabled;
+ protected boolean printEnabled;
+
protected boolean computeQuantitiesByRangeEnabled;
protected boolean newDemandEnabled;
@@ -216,6 +219,16 @@
return transmitEnabled;
}
+ public void setPrintEnabled(boolean printEnabled) {
+ Object oldValue = this.printEnabled;
+ this.printEnabled = printEnabled;
+ firePropertyChange(PROPERTY_PRINT_ENABLED, oldValue, printEnabled);
+ }
+
+ public boolean isPrintEnabled() {
+ return printEnabled;
+ }
+
public void setTransmitEnabled(boolean transmitEnabled) {
Object oldValue = this.transmitEnabled;
this.transmitEnabled = transmitEnabled;
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-08-18 13:44:24 UTC (rev 569)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-08-18 13:51:14 UTC (rev 570)
@@ -782,6 +782,7 @@
demandeUIModel.setObject(email.getObject());
demandeUIModel.setCompanyReference(email.getCompanyReference());
demandeUIModel.setTopiaId(email.getTopiaId());
+ demandeUIModel.setMailFolder(email.getMailFolder());
groupedDemandes.add(demandeUIModel);
}
}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java 2014-08-18 13:44:24 UTC (rev 569)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java 2014-08-18 13:51:14 UTC (rev 570)
@@ -148,39 +148,25 @@
model.addDemand(currentEmail);
}
- protected boolean isActionEnabled(DemandeUIModel model, MailAction action) {
-
- EtatAttente etatAttente = model.getEtatAttente();
- boolean valid = model.isValid();
-
- boolean enabled =
- etatAttente == null && (valid || !config.containsInvalidFormDisabledActions(action))
- || etatAttente != null &&
- (valid && !etatAttente.containsValidFormDisabledActions(action)
- || !valid && !etatAttente.containsInvalidFormDisabledActions(action));
-
- return enabled;
- }
-
protected void updateButtonEnability() {
DemandeUIModel model = getModel().getCurrentDemand();
boolean editable = model.isEditable();
boolean archived = model.getArchiveDate() != null;
- boolean transmitEnabled = editable && isActionEnabled(model, MailAction.TRANSMIT);
+ boolean transmitEnabled = editable && isActionEnabled(model, MailAction.TRANSMIT, config);
getModel().setTransmitEnabled(transmitEnabled);
- boolean archiveEnabled = editable && isActionEnabled(model, MailAction.ARCHIVE);
+ boolean archiveEnabled = editable && isActionEnabled(model, MailAction.ARCHIVE, config);
getModel().setArchiveEnabled(archiveEnabled);
- boolean groupEnabled = isActionEnabled(model, MailAction.GROUP);
+ boolean groupEnabled = isActionEnabled(model, MailAction.GROUP, config);
getModel().setGroupEnabled(groupEnabled);
- boolean printEnabled = isActionEnabled(model, MailAction.PRINT);
+ boolean printEnabled = isActionEnabled(model, MailAction.PRINT, config);
getModel().setPrintEnabled(printEnabled);
- boolean replyEnabled = (editable || archived) && isActionEnabled(model, MailAction.REPLY);
+ boolean replyEnabled = (editable || archived) && isActionEnabled(model, MailAction.REPLY, config);
getModel().setReplyEnabled(replyEnabled);
}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/MailFolderChooserUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/MailFolderChooserUIHandler.java 2014-08-18 13:44:24 UTC (rev 569)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/transmit/MailFolderChooserUIHandler.java 2014-08-18 13:51:14 UTC (rev 570)
@@ -64,10 +64,6 @@
initUI(mailFolderChooserUI);
MailFolderChooserUIModel model = getModel();
-
- // fixme echatellier 20140808 : pour le dossier courant, on prend celui du premier mais
- // ce n'est pas forcement très correct pour la recherche car les demandes peuvent
- // provenir de dossier différents
MailFolder currentMailFolder = model.getDemandeUIModels().get(0).getMailFolder();
// on recupere seulement les dossiers qui accepte l'ensemble des états d'attentes de l'ensemble des demandes
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java 2014-08-18 13:44:24 UTC (rev 569)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java 2014-08-18 13:51:14 UTC (rev 570)
@@ -56,6 +56,10 @@
import javax.swing.event.TableModelListener;
import javax.swing.text.JTextComponent;
+import com.franciaflex.faxtomail.persistence.entities.Configuration;
+import com.franciaflex.faxtomail.persistence.entities.EtatAttente;
+import com.franciaflex.faxtomail.persistence.entities.MailAction;
+import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
import jaxx.runtime.JAXXUtil;
import jaxx.runtime.SwingUtil;
import jaxx.runtime.swing.editor.bean.BeanUIUtil;
@@ -437,4 +441,17 @@
});
}
+ public boolean isActionEnabled(DemandeUIModel model, MailAction action, Configuration config) {
+
+ EtatAttente etatAttente = model.getEtatAttente();
+ boolean valid = model.isValid();
+
+ boolean enabled =
+ etatAttente == null && (valid || !config.containsInvalidFormDisabledActions(action))
+ || etatAttente != null &&
+ (valid && !etatAttente.containsValidFormDisabledActions(action)
+ || !valid && !etatAttente.containsInvalidFormDisabledActions(action));
+
+ return enabled;
+ }
}
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-08-18 13:44:24 UTC (rev 569)
+++ trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties 2014-08-18 13:51:14 UTC (rev 570)
@@ -17,6 +17,8 @@
faxtomail.action.goto.search.tip=Aller à l'écran de recherche
faxtomail.action.group.tip=Grouper l'élément
faxtomail.action.loadFolderEmails.tip=Chargement des demandes du dossier %s
+faxtomail.action.print.notPrintableDemands.message=<html>Les éléments suivant n'ont pas été imprimés car ils n'étaient pas valides \:<br/>%s</html>
+faxtomail.action.print.notPrintableDemands.title=Éléments non imprimés
faxtomail.action.print.tip=Impression
faxtomail.action.reloadFaxToMail=Recharger FaxToMail
faxtomail.action.reply.tip=Envoyer la réponse
@@ -31,10 +33,20 @@
faxtomail.alert.alreadyTakenBy.title=Document déjà pris
faxtomail.alert.archiveConfirmation.message=<html>Êtes vous sûr de vouloir archiver cet élément ?<br/>L'archivage est définitif.</html>
faxtomail.alert.archiveConfirmation.title=Confirmation de l'archivage
+faxtomail.alert.archivesConfirmation.message=<html>Êtes vous sûr de vouloir archiver ces éléments ?<br/>L'archivage est définitif.</html>
+faxtomail.alert.archivesWithNotArchivableConfirmation.message=<html>Les éléments suivants ne peuvent pas être archivés car ils ne sont pas valides \:<br/>%sÊtes vous sûr de vouloir archiver les autres éléments ?<br/>L'archivage est définitif.</html>
+faxtomail.alert.demandsNotTransmittable.message=<html>Les éléments suivant ne seront pas déplacés car ils ne sont pas valides \:<br/>%s</html>
+faxtomail.alert.demandsNotTransmittable.title=Éléments non déplaçables
faxtomail.alert.emailMoved.message=<html>Depuis que vous avez chargé les éléments du dossier %1$s, l'élément<br/>%3$s<br/>a été déplacé dans le dossier %2$s.</html>
faxtomail.alert.emailMoved.title=Élément déplacé
faxtomail.alert.groupConfirmation.message=<html>Êtes vous sûr de vouloir grouper les éléments<br/>%1$s et<br/>%2$s ?<br/>Le groupement est définitif.</html>
faxtomail.alert.groupConfirmation.title=Confirmation du groupement
+faxtomail.alert.noDemandToArchive.message=<html>Les éléments suivants ne peuvent pas être archivés car ils ne sont pas valides \:<br/>%sIl n'y a pas d'autres éléments à archiver.</html>
+faxtomail.alert.noDemandToArchive.title=Aucun élément à archiver
+faxtomail.alert.noDemandToTransmit.message=<html>Les éléments suivants ne peuvent pas seront pas déplacés car ils ne sont pas valides \:<br/>%sIl n'y a pas d'autres éléments à déplacer.</html>
+faxtomail.alert.noDemandToTransmit.title=Aucun élément à déplacer
+faxtomail.alert.transmit.groupedDemandsInSameFolder.message=<html>L'élément %1$s a un ou plusieurs éléments groupés dans le même dossier \:<br/>%2$sVoulez-vous les déplacer aussi ?</html>
+faxtomail.alert.transmit.groupedDemandsInSameFolder.title=Déplacer les éléments groupés
faxtomail.alert.userNotAuthorizedToReadEmail.message=Vous n'avez pas le droit de lire les éléments du dossier %s
faxtomail.alert.userNotAuthorizedToReadEmail.title=Dossier interdit
faxtomail.attachment.editedFile.name=%s-annoté
1
0
r569 - trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande
by echatellier@users.forge.codelutin.com 18 Aug '14
by echatellier@users.forge.codelutin.com 18 Aug '14
18 Aug '14
Author: echatellier
Date: 2014-08-18 15:44:24 +0200 (Mon, 18 Aug 2014)
New Revision: 569
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/569
Log:
Translate validator label
Modified:
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css 2014-08-18 12:22:27 UTC (rev 568)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css 2014-08-18 13:44:24 UTC (rev 569)
@@ -57,6 +57,7 @@
#objectField {
text: {model.getObject()};
+ _validatorLabel: { t("faxtomail.demande.object.label") };
}
#receivedDateLabel {
@@ -110,6 +111,7 @@
property: priority;
selectedItem: { model.getPriority() };
showReset: true;
+ _validatorLabel: { t("faxtomail.demande.priority.label") };
}
#statusLabel {
@@ -135,6 +137,7 @@
property: etatAttente;
selectedItem: { model.getEtatAttente() };
showReset: true;
+ _validatorLabel: { t("faxtomail.demande.etatAttente.label") };
}
#projectReferenceLabel {
@@ -162,6 +165,7 @@
#commentField {
text: { model.getComment() };
+ _validatorLabel: { t("faxtomail.demande.comment.label") };
}
#toRecipientsLabel {
1
0
r568 - trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment
by echatellier@users.forge.codelutin.com 18 Aug '14
by echatellier@users.forge.codelutin.com 18 Aug '14
18 Aug '14
Author: echatellier
Date: 2014-08-18 14:22:27 +0200 (Mon, 18 Aug 2014)
New Revision: 568
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/568
Log:
Fix NPE with focus management
Modified:
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java 2014-08-18 10:48:40 UTC (rev 567)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java 2014-08-18 12:22:27 UTC (rev 568)
@@ -43,6 +43,8 @@
import org.jdesktop.swingx.decorator.HighlighterFactory;
import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.File;
@@ -229,15 +231,26 @@
}
}
- protected class AttachmentItemEditor extends AbstractCellEditor implements TableCellEditor {
+ protected class AttachmentItemEditor extends AbstractCellEditor implements TableCellEditor, ActionListener {
protected AttachmentItem attachmentItem;
public AttachmentItemEditor() {
attachmentItem = new AttachmentItem();
attachmentItem.setHandler(AttachmentEditorUIHandler.this);
+
+ // add action listener to stopCellEditing when a button is clicked
+ // this prevent strange NPE with focus change
+ attachmentItem.getOpenAttachmentButton().addActionListener(this);
+ attachmentItem.getEditAttachmentButton().addActionListener(this);
}
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ // stop cell editing when open or edit button is clicked
+ stopCellEditing();
+ }
+
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
Attachment attachment = (Attachment) value;
@@ -245,7 +258,7 @@
if (attachment != null) {
JLabel label = attachmentItem.getAttachmentNameLabel();
- String actionIconName = Boolean.TRUE.equals(attachment.isAddedByUser()) ? "user" : "email";
+ String actionIconName = attachment.isAddedByUser() ? "user" : "email";
Icon icon = SwingUtil.createActionIcon(actionIconName);
label.setIcon(icon);
}
@@ -259,7 +272,6 @@
public Object getCellEditorValue() {
return attachmentItem.getAttachment();
}
-
}
}
1
0
r567 - in trunk: faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply
by echatellier@users.forge.codelutin.com 18 Aug '14
by echatellier@users.forge.codelutin.com 18 Aug '14
18 Aug '14
Author: echatellier
Date: 2014-08-18 12:48:40 +0200 (Mon, 18 Aug 2014)
New Revision: 567
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/567
Log:
Disable forward button for replies popup displayed from list
Modified:
trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUI.jaxx
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/ButtonDemandReplies.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUI.jaxx
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandReplyItem.css
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandReplyItem.jaxx
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/RepliesCellEditor.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/RepliesCellRenderer.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.css
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIModel.java
Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java
===================================================================
--- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-18 08:33:46 UTC (rev 566)
+++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java 2014-08-18 10:48:40 UTC (rev 567)
@@ -33,7 +33,6 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Collection;
@@ -42,7 +41,6 @@
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -52,7 +50,6 @@
import javax.mail.MessagingException;
import com.franciaflex.faxtomail.services.service.exceptions.FolderNotReadableException;
-import com.google.common.collect.Collections2;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.Predicate;
import org.apache.commons.io.FileUtils;
@@ -75,7 +72,6 @@
import org.nuiton.csv.ImportRuntimeException;
import org.nuiton.jaxx.application.ApplicationTechnicalException;
import org.nuiton.topia.persistence.TopiaEntities;
-import org.nuiton.topia.persistence.TopiaQueryBuilderAddCriteriaOrRunQueryStep;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
import org.nuiton.util.pagination.PaginationParameter;
@@ -92,7 +88,6 @@
import com.google.common.base.Preconditions;
import com.google.common.base.Splitter;
import com.google.common.base.Strings;
-import com.google.common.collect.Collections2;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
@@ -798,7 +793,7 @@
@Override
public PaginationResult<Email> search(EmailFilter emailFilter, FaxToMailUser user, PaginationParameter pagination) {
-
+
// compute rigths
MailFolderTopiaDao mailFolderDao = getPersistenceContext().getMailFolderDao();
Set<MailFolder> readMailFolders = new HashSet<MailFolder>();
@@ -816,7 +811,6 @@
// compute search
EmailTopiaDao emailDao = getPersistenceContext().getEmailDao();
PaginationResult<Email> result = emailDao.search(emailFilter, readMailFolders, pagination);
-
return result;
}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUI.jaxx
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUI.jaxx 2014-08-18 08:33:46 UTC (rev 566)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUI.jaxx 2014-08-18 10:48:40 UTC (rev 567)
@@ -36,10 +36,6 @@
javax.swing.JComponent
</import>
- <!-- if true, display the form to add attachments
- and the button to remove existing attachments -->
- <Boolean id='editable' javaBean='true'/>
-
<AttachmentEditorUIModel id='model'
initializer='new AttachmentEditorUIModel()'/>
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css 2014-08-18 08:33:46 UTC (rev 566)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css 2014-08-18 10:48:40 UTC (rev 567)
@@ -30,7 +30,7 @@
_selectOnFocus: { true };
}
-JTextField, JXTable, BeanFilterableComboBox, #commentField, ButtonAttachment {
+JTextField, JXTable, BeanFilterableComboBox, #commentField, ButtonAttachment, ButtonDemandReplies {
editable: { model.isEditable() &&
!DemandStatus.TRANSMITTED_TO_EDI.equals(model.getDemandStatus()) };
}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/ButtonDemandReplies.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/ButtonDemandReplies.java 2014-08-18 08:33:46 UTC (rev 566)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/ButtonDemandReplies.java 2014-08-18 10:48:40 UTC (rev 567)
@@ -39,7 +39,7 @@
import static org.nuiton.i18n.I18n.n;
/**
- * Button to edit attachments.
+ * Button to edit replies.
*
* @author kmorin - morin(a)codelutin.com
*/
@@ -88,11 +88,15 @@
@Override
protected DemandRepliesUI createNewPopup() {
- return new DemandRepliesUI(FaxToMailUIContext.getApplicationContext());
+ DemandRepliesUI ui = new DemandRepliesUI(FaxToMailUIContext.getApplicationContext());
+ return ui;
}
public DemandeUIModel getBean() {
return popup.getModel();
}
+ public void setEditable(boolean editable) {
+ popup.setEditable(editable);
+ }
}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUI.jaxx
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUI.jaxx 2014-08-18 08:33:46 UTC (rev 566)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUI.jaxx 2014-08-18 10:48:40 UTC (rev 567)
@@ -32,6 +32,8 @@
org.jdesktop.swingx.JXTitledPanel
</import>
+ <Boolean id='editable' javaBean='null' />
+
<DemandeUIModel id='model'
javaBean='null'/>
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUIHandler.java 2014-08-18 08:33:46 UTC (rev 566)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUIHandler.java 2014-08-18 10:48:40 UTC (rev 567)
@@ -158,8 +158,10 @@
TableColumnModel columnModel = new DefaultTableColumnModel();
TableColumn column = new TableColumn();
- column.setCellRenderer(new DemandReplyItemRenderer());
- column.setCellEditor(new DemandReplyItemEditor());
+ DemandReplyItemRenderer renderer = new DemandReplyItemRenderer();
+ DemandReplyItemEditor editor = new DemandReplyItemEditor();
+ column.setCellRenderer(renderer);
+ column.setCellEditor(editor);
columnModel.addColumn(column);
table.setModel(demandRepliesTableModel);
@@ -181,16 +183,20 @@
return null;
}
- public void openReply(Reply reply) {
+ public void openReply(DemandReplyItem item) {
closeEditor();
+ Reply reply = item.getReply();
+ boolean editable = item.isEditable();
+
try {
ReplyFormUI dialogContent = new ReplyFormUI(ui);
// TODO echatellier 20140804 : c'est très technique et très bas niveau, ca devrait se trouver dans les services
Message message = new MimeMessage(null, new ByteArrayInputStream(reply.getEmailSource().getBytes()));
ReplyFormUIModel replyModel = dialogContent.getModel();
+ replyModel.setEditable(editable);
+ replyModel.setReadonly(true);
replyModel.setOriginalDemand(ui.getModel());
- replyModel.setReadonly(true);
replyModel.setReadSentDate(reply.getSentDate());
replyModel.setSubject(message.getSubject());
replyModel.setTo(message.getRecipients(RecipientType.TO)[0].toString());
@@ -218,14 +224,18 @@
}
- public void openForward(Reply reply) {
+ public void openForward(DemandReplyItem item) {
closeEditor();
+ Reply reply = item.getReply();
+ boolean editable = item.isEditable();
+
try {
ReplyFormUI dialogContent = new ReplyFormUI(ui);
// TODO echatellier 20140804 : c'est très technique et très bas niveau, ca devrait se trouver dans les services
Message message = new MimeMessage(null, new ByteArrayInputStream(reply.getEmailSource().getBytes()));
ReplyFormUIModel replyModel = dialogContent.getModel();
+ replyModel.setEditable(editable);
replyModel.setOriginalDemand(ui.getModel());
replyModel.setReadSentDate(reply.getSentDate());
replyModel.setSubject(t("faxtomail.reply.forwardsubject", message.getSubject()));
@@ -327,6 +337,8 @@
boolean isSelected, boolean hasFocus, int row, int column) {
Reply reply = (Reply) value;
setReply(reply);
+
+ setEditable(DemandRepliesUIHandler.this.getUI().isEditable());
return this;
}
}
@@ -343,7 +355,7 @@
boolean isSelected, int row, int column) {
Reply reply = (Reply) value;
demandReplyItem.setReply(reply);
-
+ demandReplyItem.setEditable(getUI().isEditable());
return demandReplyItem;
}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandReplyItem.css
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandReplyItem.css 2014-08-18 08:33:46 UTC (rev 566)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandReplyItem.css 2014-08-18 10:48:40 UTC (rev 567)
@@ -42,6 +42,7 @@
#openForwardButton {
actionIcon: "transmit";
toolTipText: "faxtomail.demandReplies.action.forward.tip";
+ visible: { isEditable() };
}
#openReplyButton {
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandReplyItem.jaxx
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandReplyItem.jaxx 2014-08-18 08:33:46 UTC (rev 566)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandReplyItem.jaxx 2014-08-18 10:48:40 UTC (rev 567)
@@ -30,6 +30,9 @@
static jaxx.runtime.JAXXUtil.getStringValue
</import>
+ <!-- if true, display the form to forward reply button -->
+ <Boolean id='editable' javaBean='true' />
+
<Reply id='reply' javaBean='null'/>
<DemandRepliesUIHandler id='handler'
@@ -47,9 +50,9 @@
<JToolBar id='toolbar' constraints='BorderLayout.EAST'>
<JButton id='openForwardButton'
- onActionPerformed='handler.openForward(reply)'/>
+ onActionPerformed='handler.openForward(this)'/>
<JButton id='openReplyButton'
- onActionPerformed='handler.openReply(reply)'/>
+ onActionPerformed='handler.openReply(this)'/>
</JToolBar>
</JPanel>
\ No newline at end of file
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/RepliesCellEditor.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/RepliesCellEditor.java 2014-08-18 08:33:46 UTC (rev 566)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/RepliesCellEditor.java 2014-08-18 10:48:40 UTC (rev 567)
@@ -42,7 +42,7 @@
import java.util.EventObject;
/**
- * To edit attachments from a table cell.
+ * To edit replies from a table cell.
*
* @author kmorin - morin(a)codelutin.com
*/
@@ -54,7 +54,6 @@
private static final Log log = LogFactory.getLog(RepliesCellEditor.class);
public static TableCellEditor newEditor(FaxToMailUI ui) {
-
return new RepliesCellEditor(FaxToMailUIContext.getApplicationContext());
}
@@ -67,6 +66,7 @@
this.editorButton = new ButtonDemandReplies("faxtomail.demandRepliesCellRenderer.text", null);
this.editorButton.setBorder(new LineBorder(Color.BLACK));
+ this.editorButton.setEditable(false);
addCellEditorListener(new CellEditorListener() {
@Override
public void editingStopped(ChangeEvent e) {
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/RepliesCellRenderer.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/RepliesCellRenderer.java 2014-08-18 08:33:46 UTC (rev 566)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/RepliesCellRenderer.java 2014-08-18 10:48:40 UTC (rev 567)
@@ -51,10 +51,6 @@
private final Decorator<Reply> decorator;
-// private Font defaulfFont;
-//
-// private Font selectedFont;
-
public static RepliesCellRenderer newRender(Decorator<Reply> decorator) {
return new RepliesCellRenderer(decorator);
}
@@ -106,15 +102,7 @@
setEnabled(editable);
setText(textValue);
setToolTipText(toolTipTextValue);
-// setBackground(null);
-// setForeground(Color.BLACK);
-// if (isSelected) {
-// setFont(selectedFont);
-// } else {
-// setFont(defaulfFont);
-// }
-
return this;
}
}
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.css
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.css 2014-08-18 08:33:46 UTC (rev 566)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.css 2014-08-18 10:48:40 UTC (rev 567)
@@ -124,6 +124,7 @@
actionIcon: transmit;
text: "faxtomail.reply.action.forward";
toolTipText: "faxtomail.reply.action.forward.tip";
+ visible: { getModel().isEditable() };
}
#closeButton {
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java 2014-08-18 08:33:46 UTC (rev 566)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java 2014-08-18 10:48:40 UTC (rev 567)
@@ -26,26 +26,11 @@
import static org.nuiton.i18n.I18n.t;
-import com.franciaflex.faxtomail.persistence.entities.AttachmentFileImpl;
-import com.franciaflex.faxtomail.persistence.entities.AttachmentImpl;
-import com.franciaflex.faxtomail.services.service.EmailService;
-import com.franciaflex.faxtomail.ui.swing.actions.AddAttachmentToReplyAction;
-import com.franciaflex.faxtomail.ui.swing.actions.OpenAttachmentAction;
-import com.google.common.base.Strings;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang3.ArrayUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.nuiton.validator.bean.simple.SimpleBeanValidator;
-
import java.awt.Component;
import java.awt.Dimension;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Method;
@@ -53,14 +38,6 @@
import java.util.Collection;
import java.util.List;
-import javax.activation.DataHandler;
-import javax.activation.DataSource;
-import javax.mail.BodyPart;
-import javax.mail.Message;
-import javax.mail.Part;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
-import javax.mail.internet.MimeMessage.RecipientType;
import javax.swing.ComboBoxEditor;
import javax.swing.JComboBox;
import javax.swing.JComponent;
@@ -70,18 +47,25 @@
import javax.swing.JTextField;
import jaxx.runtime.JAXXUtil;
+import jaxx.runtime.SwingUtil;
import jaxx.runtime.validator.swing.SwingValidator;
+import org.apache.commons.io.FileUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.jaxx.application.swing.util.Cancelable;
+import org.nuiton.validator.bean.simple.SimpleBeanValidator;
import com.franciaflex.faxtomail.persistence.entities.Attachment;
import com.franciaflex.faxtomail.persistence.entities.AttachmentFile;
+import com.franciaflex.faxtomail.persistence.entities.AttachmentFileImpl;
+import com.franciaflex.faxtomail.persistence.entities.AttachmentImpl;
import com.franciaflex.faxtomail.persistence.entities.MailFolder;
+import com.franciaflex.faxtomail.ui.swing.actions.AddAttachmentToReplyAction;
import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel;
import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler;
-import org.nuiton.jaxx.application.swing.util.Cancelable;
import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil;
+import com.google.common.base.Strings;
import com.google.common.collect.Lists;
/**
@@ -143,10 +127,6 @@
}
}
- JComboBox<AttachmentFile> addAttachmentFile = ui.getAddAttachmentFile();
- addAttachmentFile.setModel(newComboModel(model.getAvailableAttachments().toArray()));
- addAttachmentFile.setSelectedItem(null);
-
model.setFrom(demand.getRecipient());
model.setSubject(t("faxtomail.reply.subject", demand.getSubject()));
@@ -158,23 +138,33 @@
plainContent.replaceAll("\n", "\n> "));
model.setMessage(quotedReply);
- MailFolder folder = demand.getMailFolder();
- List<String> folderReplyAdresses = new ArrayList<String>();
- List<String> folderReplyDomains = new ArrayList<String>();
- while (folder != null) {
- folderReplyAdresses.addAll(folder.getReplyAddresses());
- folderReplyDomains.addAll(folder.getReplyDomains());
- folder = folder.getParent();
- }
- model.setSenderAllowedDomains(folderReplyDomains);
+ // this have to be disable for read only mode (useless)
+ if (!model.isReadonly()) {
+
+ // attachment combo
+ JComboBox<AttachmentFile> addAttachmentFile = ui.getAddAttachmentFile();
+ addAttachmentFile.setModel(SwingUtil.newComboModel(model.getAvailableAttachments().toArray()));
+ addAttachmentFile.setSelectedItem(null);
- List<String> replyToAddresses = Lists.newArrayList(demand.getRecipient());
- if (folderReplyAdresses != null) {
- replyToAddresses.addAll(folderReplyAdresses);
+ // sender combo
+ MailFolder folder = demand.getMailFolder();
+ List<String> folderReplyAdresses = new ArrayList<String>();
+ List<String> folderReplyDomains = new ArrayList<String>();
+ while (folder != null) {
+ folderReplyAdresses.addAll(folder.getReplyAddresses());
+ folderReplyDomains.addAll(folder.getReplyDomains());
+ folder = folder.getParent();
+ }
+ model.setSenderAllowedDomains(folderReplyDomains);
+
+ List<String> replyToAddresses = Lists.newArrayList(demand.getRecipient());
+ if (folderReplyAdresses != null) {
+ replyToAddresses.addAll(folderReplyAdresses);
+ }
+
+ ui.getFromComboBox().setModel(SwingUtil.newComboModel(replyToAddresses.toArray()));
+ model.setSenderAllowedAddresses(replyToAddresses);
}
-
- ui.getFromComboBox().setModel(newComboModel(replyToAddresses.toArray()));
- model.setSenderAllowedAddresses(replyToAddresses);
}
});
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIModel.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIModel.java 2014-08-18 08:33:46 UTC (rev 566)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIModel.java 2014-08-18 10:48:40 UTC (rev 567)
@@ -63,6 +63,7 @@
public static final String PROPERTY_SENDER_ALLOWED_DOMAINS = "senderAllowedDomains";
public static final String PROPERTY_SENDER_ALLOWED_ADDRESSES = "senderAllowedAddresses";
public static final String PROPERTY_READONLY = "readonly";
+ public static final String PROPERTY_EDITABLE = "editable";
public static final String PROPERTY_READ_SENT_DATE = "readSentDate";
protected String to;
@@ -75,9 +76,12 @@
protected long maxAttachmentLength = 0;
protected long totalAttachmentLength = 0;
protected boolean valid = true;
-
+
/** Flag pour marquer les champs non editables dans le cas d'une lecture d'une réponse déjà envoyée. */
protected boolean readonly = false;
+
+ /** Flag pour activer ou non la possibilité de transferer la demande. */
+ protected boolean editable = false;
/** Date d'envoi d'une réponse ouverte en lecture seule (peut être {@code null}). */
protected Date readSentDate;
@@ -220,6 +224,16 @@
firePropertyChange(PROPERTY_READONLY, oldValue, readonly);
}
+ public boolean isEditable() {
+ return editable;
+ }
+
+ public void setEditable(boolean editable) {
+ Object oldValue = isEditable();
+ this.editable = editable;
+ firePropertyChange(PROPERTY_EDITABLE, oldValue, editable);
+ }
+
public void setReadSentDate(Date readSentDate) {
Object oldValue = this.readSentDate;
this.readSentDate = readSentDate;
1
0
r566 - trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing
by echatellier@users.forge.codelutin.com 18 Aug '14
by echatellier@users.forge.codelutin.com 18 Aug '14
18 Aug '14
Author: echatellier
Date: 2014-08-18 10:33:46 +0200 (Mon, 18 Aug 2014)
New Revision: 566
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/566
Log:
Add log.error to not loose error stacktrace
Modified:
trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java
Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java
===================================================================
--- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java 2014-08-18 08:24:08 UTC (rev 565)
+++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java 2014-08-18 08:33:46 UTC (rev 566)
@@ -252,6 +252,9 @@
@Override
public void showErrorDialog(String message, Throwable cause) {
+ if (log.isErrorEnabled()) {
+ log.error(message, cause);
+ }
super.showErrorDialog(message, cause);
}
1
0
Author: echatellier
Date: 2014-08-18 10:24:08 +0200 (Mon, 18 Aug 2014)
New Revision: 565
Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/565
Log:
Update jaxx & jquey-ui
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2014-08-14 15:25:29 UTC (rev 564)
+++ trunk/pom.xml 2014-08-18 08:24:08 UTC (rev 565)
@@ -110,7 +110,7 @@
<hibernateVersion>4.3.6.Final</hibernateVersion>
<h2Version>1.3.176</h2Version>
- <jaxxVersion>2.9.1</jaxxVersion>
+ <jaxxVersion>2.10</jaxxVersion>
<!-- do not upgrade to 1.6.5-1 -->
<swingXVersion>1.6.4</swingXVersion>
<xworkVersion>2.3.16.3</xworkVersion>
@@ -529,7 +529,7 @@
<dependency>
<groupId>org.nuiton.js</groupId>
<artifactId>nuiton-js-jquery-ui</artifactId>
- <version>1.11.0-1</version>
+ <version>1.11.1-1</version>
<scope>runtime</scope>
</dependency>
1
0