Author: kmorin Date: 2014-04-02 15:47:41 +0200 (Wed, 02 Apr 2014) New Revision: 24 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/24 Log: refs #4654 [ECRAN] Liste des mails / fax refs #4655 [ECRAN] D?\195?\169tail d'un mail / fax refs #4666 [ECRAN] Pi?\195?\168ces jointes gestion des statuts, diff?\195?\169rentiation des pi?\195?\168ces jointes d'origine et ajout?\195?\169es par l'utilisateur refs #4658 [TECH] Archivage Added: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/DemandStatus.java trunk/faxtomail-ui-swing/src/main/resources/icons/action-group.png trunk/faxtomail-ui-swing/src/main/resources/icons/action-left.png trunk/faxtomail-ui-swing/src/main/resources/icons/action-right.png trunk/faxtomail-ui-swing/src/main/resources/icons/action-user.png Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/HistoryType.java trunk/faxtomail-persistence/src/main/resources/i18n/faxtomail-persistence_en_GB.properties trunk/faxtomail-persistence/src/main/resources/i18n/faxtomail-persistence_fr_FR.properties trunk/faxtomail-persistence/src/main/xmi/faxtomail.zargo trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/DecoratorService.java trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailService.java trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ReferentielService.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ArchiveAction.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/DemandeUI.css trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.jaxx trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUI.css trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java 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/attachment/AttachmentEditorUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/attachment/ButtonAttachment.java trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_en_GB.properties trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/admin/ConfigurationAction.java Added: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/DemandStatus.java =================================================================== --- trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/DemandStatus.java (rev 0) +++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/DemandStatus.java 2014-04-02 13:47:41 UTC (rev 24) @@ -0,0 +1,31 @@ +package com.franciaflex.faxtomail.persistence.entities; + +import static org.nuiton.i18n.I18n.n; +import static org.nuiton.i18n.I18n.t; + +/** + * @author Kevin Morin (Code Lutin) + * @since x.x + */ +public enum DemandStatus implements HasLabel { + + UNTREATED(n("faxtomail.demandStatus.untreated")), + IN_PROGRESS(n("faxtomail.demandStatus.inProgress")), + TRANSMITTED_TO_EDI(n("faxtomail.demandStatus.transmittedToEdi")), + QUALIFIED(n("faxtomail.demandStatus.qualified")), + ARCHIVED(n("faxtomail.demandStatus.archive")); + + protected String labelKey; + + private DemandStatus(String labelKey) { + this.labelKey = labelKey; + } + + public String getLabelKey() { + return labelKey; + } + + public String getLabel() { + return t(labelKey); + } +} Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/HistoryType.java =================================================================== --- trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/HistoryType.java 2014-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/HistoryType.java 2014-04-02 13:47:41 UTC (rev 24) @@ -25,12 +25,13 @@ */ import static org.nuiton.i18n.I18n.n; +import static org.nuiton.i18n.I18n.t; /** * @author Kevin Morin (Code Lutin) * @since x.x */ -public enum HistoryType { +public enum HistoryType implements HasLabel { CREATION(n("faxtomail.historyType.creation")), OPENING(n("faxtomail.historyType.opening")), @@ -45,7 +46,7 @@ this.labelKey = labelKey; } - public String getLabelKey() { - return labelKey; + public String getLabel() { + return t(labelKey); } } Modified: trunk/faxtomail-persistence/src/main/resources/i18n/faxtomail-persistence_en_GB.properties =================================================================== --- trunk/faxtomail-persistence/src/main/resources/i18n/faxtomail-persistence_en_GB.properties 2014-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-persistence/src/main/resources/i18n/faxtomail-persistence_en_GB.properties 2014-04-02 13:47:41 UTC (rev 24) @@ -20,6 +20,11 @@ faxtomail.config.option.ui.showNumberEditorButton.description= faxtomail.config.option.version.description= faxtomail.config.parse.error= +faxtomail.demandStatus.archive= +faxtomail.demandStatus.inProgress= +faxtomail.demandStatus.qualified= +faxtomail.demandStatus.transmittedToEdi= +faxtomail.demandStatus.untreated= faxtomail.historyType.archive= faxtomail.historyType.creation= faxtomail.historyType.modification= 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-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-persistence/src/main/resources/i18n/faxtomail-persistence_fr_FR.properties 2014-04-02 13:47:41 UTC (rev 24) @@ -20,12 +20,17 @@ faxtomail.config.option.ui.showNumberEditorButton.description= faxtomail.config.option.version.description= faxtomail.config.parse.error= -faxtomail.historyType.archive= +faxtomail.demandStatus.archive=Archive +faxtomail.demandStatus.inProgress=En cours +faxtomail.demandStatus.qualified=Qualifié +faxtomail.demandStatus.transmittedToEdi=Transmis à l'EDI +faxtomail.demandStatus.untreated=Non traité +faxtomail.historyType.archive=Archivage faxtomail.historyType.creation=Création faxtomail.historyType.modification=Modification faxtomail.historyType.opening=Ouverture -faxtomail.historyType.printing= -faxtomail.historyType.reply= +faxtomail.historyType.printing=Impression +faxtomail.historyType.reply=Réponse faxtomail.persistence.loader.error= faxtomail.persistence.mkDir.error= faxtomail.service.config.deleteTempDirectory.error= Modified: trunk/faxtomail-persistence/src/main/xmi/faxtomail.zargo =================================================================== (Binary files differ) Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/DecoratorService.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/DecoratorService.java 2014-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/DecoratorService.java 2014-04-02 13:47:41 UTC (rev 24) @@ -27,22 +27,12 @@ import com.franciaflex.faxtomail.persistence.entities.Attachment; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; import com.franciaflex.faxtomail.persistence.entities.HasLabel; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; import org.nuiton.decorator.DecoratorProvider; -import java.io.File; import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Collection; import java.util.Date; -import java.util.List; -import static org.nuiton.i18n.I18n.n; -import static org.nuiton.i18n.I18n.t; - /** * Tutti decorator service. * 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-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java 2014-04-02 13:47:41 UTC (rev 24) @@ -2,6 +2,7 @@ import com.franciaflex.faxtomail.persistence.entities.Attachment; import com.franciaflex.faxtomail.persistence.entities.AttachmentTopiaDao; +import com.franciaflex.faxtomail.persistence.entities.DemandStatus; import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.persistence.entities.EmailTopiaDao; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; @@ -48,6 +49,12 @@ EmailTopiaDao dao = getPersistenceContext().getEmailDao(); HistoryTopiaDao historyDao = getPersistenceContext().getHistoryDao(); + Set<String> fieldSet = Sets.newHashSet(modifiedFields); + if (modifiedFields.length > 0) { + email.setTakenBy(user); + fieldSet.add(Email.PROPERTY_TAKEN_BY); + } + if (email.getAttachment() != null) { AttachmentTopiaDao attachmentDao = getPersistenceContext().getAttachmentDao(); for (Attachment attachment : email.getAttachment()) { @@ -78,9 +85,17 @@ email = dao.create(email); } + if (email.getDemandStatus() == DemandStatus.UNTREATED + && fieldSet.containsAll(Sets.newHashSet(Email.PROPERTY_CLIENT, + Email.PROPERTY_DEMAND_TYPE, + Email.PROPERTY_PROJECT_REFERENCE))) { + email.setDemandStatus(DemandStatus.IN_PROGRESS); + //TODO transmit to EDI + } + History history = historyDao.create(History.PROPERTY_TYPE, HistoryType.MODIFICATION, History.PROPERTY_FAX_TO_MAIL_USER, user, - History.PROPERTY_FIELDS, Sets.newHashSet(modifiedFields), + History.PROPERTY_FIELDS, fieldSet, History.PROPERTY_MODIFICATION_DATE, now); email.addHistory(history); @@ -94,6 +109,7 @@ EmailTopiaDao dao = getPersistenceContext().getEmailDao(); List<Email> result = new ArrayList<>(dao.forMailFolderEquals(folder) .addNull(Email.PROPERTY_ARCHIVE_DATE) + .addNotEquals(Email.PROPERTY_DEMAND_STATUS, DemandStatus.ARCHIVED) .setOrderByArguments(Email.PROPERTY_RECEPTION_DATE) .findAll()); return result; @@ -128,15 +144,6 @@ email.addHistory(history); - if (email.getTakenBy() == null) { - history = historyDao.create(History.PROPERTY_TYPE, HistoryType.MODIFICATION, - History.PROPERTY_FAX_TO_MAIL_USER, user, - History.PROPERTY_FIELDS, Sets.newHashSet(Email.PROPERTY_TAKEN_BY), - History.PROPERTY_MODIFICATION_DATE, date); - email.setTakenBy(user); - email.addHistory(history); - } - email = emailDao.update(email); getPersistenceContext().commit(); Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailService.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailService.java 2014-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailService.java 2014-04-02 13:47:41 UTC (rev 24) @@ -30,7 +30,6 @@ import com.franciaflex.faxtomail.persistence.entities.CompanyTopiaDao; import com.franciaflex.faxtomail.persistence.entities.ConfigurationTopiaDao; import com.franciaflex.faxtomail.persistence.entities.DemandStatus; -import com.franciaflex.faxtomail.persistence.entities.DemandStatusTopiaDao; import com.franciaflex.faxtomail.persistence.entities.DemandType; import com.franciaflex.faxtomail.persistence.entities.DemandTypeTopiaDao; import com.franciaflex.faxtomail.persistence.entities.Email; @@ -165,15 +164,6 @@ demandTypeDao.create(DemandType.PROPERTY_LABEL, "Autres") ); - DemandStatusTopiaDao demandStatusDao = getPersistenceContext().getDemandStatusDao(); - List<DemandStatus> statuses = Lists.newArrayList( - demandStatusDao.create(DemandStatus.PROPERTY_LABEL, "Non traîté"), - demandStatusDao.create(DemandStatus.PROPERTY_LABEL, "En cours"), - demandStatusDao.create(DemandStatus.PROPERTY_LABEL, "Transmis EDI"), - demandStatusDao.create(DemandStatus.PROPERTY_LABEL, "Transféré"), - demandStatusDao.create(DemandStatus.PROPERTY_LABEL, "Archive") - ); - EtatAttenteTopiaDao etatAttenteDao = getPersistenceContext().getEtatAttenteDao(); List<EtatAttente> etatAttentes = Lists.newArrayList( etatAttenteDao.create(Range.PROPERTY_LABEL, "REM Attente Remise-accord expo"), @@ -249,19 +239,19 @@ MailFolder cyrilFolder = folderDao.create(MailFolder.PROPERTY_NAME, "Cyril"); int r = random.nextInt(10) + 5; for (int i = 0 ; i < r ; i++) { - createEmail(random, historyDao, rangeRowDao, emailDao, ranges, clients, types, statuses, priorities, cyrilFolder, cyril); + createEmail(random, historyDao, rangeRowDao, emailDao, ranges, clients, types, priorities, cyrilFolder, cyril); } MailFolder claireFolder = folderDao.create(MailFolder.PROPERTY_NAME, "Claire"); r = random.nextInt(10) + 5; for (int i = 0 ; i < r ; i++) { - createEmail(random, historyDao, rangeRowDao, emailDao, ranges, clients, types, statuses, priorities, claireFolder, claire); + createEmail(random, historyDao, rangeRowDao, emailDao, ranges, clients, types, priorities, claireFolder, claire); } MailFolder agatheFolder = folderDao.create(MailFolder.PROPERTY_NAME, "Agathe"); r = random.nextInt(10) + 5; for (int i = 0 ; i < r ; i++) { - createEmail(random, historyDao, rangeRowDao, emailDao, ranges, clients, types, statuses, priorities, agatheFolder, agathe); + createEmail(random, historyDao, rangeRowDao, emailDao, ranges, clients, types, priorities, agatheFolder, agathe); } folders.add(folderDao.create(MailFolder.PROPERTY_NAME, "Chargés de clientèle", @@ -270,19 +260,19 @@ MailFolder marcFolder = folderDao.create(MailFolder.PROPERTY_NAME, "Marc"); r = random.nextInt(10) + 5; for (int i = 0 ; i < r ; i++) { - createEmail(random, historyDao, rangeRowDao, emailDao, ranges, clients, types, statuses, priorities, marcFolder, marc); + createEmail(random, historyDao, rangeRowDao, emailDao, ranges, clients, types, priorities, marcFolder, marc); } MailFolder fredericFolder = folderDao.create(MailFolder.PROPERTY_NAME, "Frédéric"); r = random.nextInt(10) + 5; for (int i = 0 ; i < r ; i++) { - createEmail(random, historyDao, rangeRowDao, emailDao, ranges, clients, types, statuses, priorities, fredericFolder, frederic); + createEmail(random, historyDao, rangeRowDao, emailDao, ranges, clients, types, priorities, fredericFolder, frederic); } MailFolder jeanneFolder = folderDao.create(MailFolder.PROPERTY_NAME, "Jeanne"); r = random.nextInt(10) + 5; for (int i = 0 ; i < r ; i++) { - createEmail(random, historyDao, rangeRowDao, emailDao, ranges, clients, types, statuses, priorities, jeanneFolder, jeanne); + createEmail(random, historyDao, rangeRowDao, emailDao, ranges, clients, types, priorities, jeanneFolder, jeanne); } folders.add(folderDao.create(MailFolder.PROPERTY_NAME, "SAV", MailFolder.PROPERTY_CHILDREN, Lists.newArrayList(marcFolder, fredericFolder, jeanneFolder))); @@ -311,7 +301,6 @@ List<Range> ranges, List<Client> clients, List<DemandType> types, - List<DemandStatus> statuses, List<Priority> priorities, MailFolder folder, FaxToMailUser user) { @@ -356,7 +345,7 @@ Email.PROPERTY_OBJECT, client.getCaracteristic1() + " / " + client.getCode() + " / " + client.getName() + " / " + client.getFaxNumber() + " / " + dateDecorator.toString(now), Email.PROPERTY_RECEPTION_DATE, now, Email.PROPERTY_MAIL_FOLDER, folder, - Email.PROPERTY_DEMAND_STATUS, statuses.get(opened ? 1 : 0), + Email.PROPERTY_DEMAND_STATUS, opened ? DemandStatus.IN_PROGRESS : DemandStatus.UNTREATED, Email.PROPERTY_HISTORY, Lists.newArrayList(history)); @@ -389,7 +378,7 @@ Email.PROPERTY_OBJECT, client.getCaracteristic1() + " / " + client.getCode() + " / " + client.getName() + " / " + client.getFaxNumber() + " / " + dateDecorator.toString(yesterday), Email.PROPERTY_RECEPTION_DATE, yesterday, Email.PROPERTY_MAIL_FOLDER, folder, - Email.PROPERTY_DEMAND_STATUS, statuses.get(opened ? 1 : 0), + Email.PROPERTY_DEMAND_STATUS, opened ? DemandStatus.IN_PROGRESS : DemandStatus.UNTREATED, Email.PROPERTY_HISTORY, Lists.newArrayList(history)); Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ReferentielService.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ReferentielService.java 2014-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ReferentielService.java 2014-04-02 13:47:41 UTC (rev 24) @@ -2,8 +2,6 @@ import com.franciaflex.faxtomail.persistence.entities.Client; import com.franciaflex.faxtomail.persistence.entities.ClientTopiaDao; -import com.franciaflex.faxtomail.persistence.entities.DemandStatus; -import com.franciaflex.faxtomail.persistence.entities.DemandStatusTopiaDao; import com.franciaflex.faxtomail.persistence.entities.DemandType; import com.franciaflex.faxtomail.persistence.entities.DemandTypeTopiaDao; import com.franciaflex.faxtomail.persistence.entities.EtatAttente; @@ -35,11 +33,6 @@ */ public class ReferentielService extends FaxToMailServiceSupport { - public List<DemandStatus> getAllDemandStatus() { - DemandStatusTopiaDao dao = getPersistenceContext().getDemandStatusDao(); - return new ArrayList<>(dao.findAll()); - } - public List<DemandType> getAllDemandType() { DemandTypeTopiaDao dao = getPersistenceContext().getDemandTypeDao(); return new ArrayList<>(dao.findAll()); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ArchiveAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ArchiveAction.java 2014-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ArchiveAction.java 2014-04-02 13:47:41 UTC (rev 24) @@ -1,6 +1,8 @@ package com.franciaflex.faxtomail.ui.swing.actions; +import com.franciaflex.faxtomail.persistence.entities.DemandStatus; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIHandler; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; import org.nuiton.jaxx.application.swing.AbstractApplicationUIHandler; import javax.swing.*; @@ -19,27 +21,24 @@ super(handler); } - //TODO kmorin 20140326 ask confirmation -// @Override -// public boolean prepareAction() throws Exception { -// String htmlMessage = String.format( -// AbstractApplicationUIHandler.CONFIRMATION_FORMAT, -// message, -// t("jaxx.application.common.askCancelEditBeforeLeaving.help")); -// int i = JOptionPane.showConfirmDialog( -// null, -// htmlMessage, -// t("jaxx.application.common.askCancelEditBeforeLeaving.title"), -// JOptionPane.OK_CANCEL_OPTION, -// JOptionPane.QUESTION_MESSAGE); -// -// boolean result = i == JOptionPane.OK_OPTION; -// return result; -// } + @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 = i == JOptionPane.YES_OPTION; + return result; + } + @Override public void doAction() throws Exception { - getModel().setArchiveDate(new Date()); + DemandeUIModel model = getModel(); + model.setArchiveDate(new Date()); + model.setDemandStatus(DemandStatus.ARCHIVED); super.doAction(); } } 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-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/TransmitAction.java 2014-04-02 13:47:41 UTC (rev 24) @@ -1,5 +1,6 @@ package com.franciaflex.faxtomail.ui.swing.actions; +import com.franciaflex.faxtomail.persistence.entities.DemandStatus; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; import com.franciaflex.faxtomail.ui.swing.content.demande.MailFolderChooserUI; import com.franciaflex.faxtomail.ui.swing.content.demande.MailFolderChooserUIHandler; @@ -16,6 +17,9 @@ @Override public void doAction() throws Exception { + DemandeUIModel model = getModel(); + model.setDemandStatus(DemandStatus.QUALIFIED); + //TODO kmorin 20140306 // SaveDemandeAction action = getContext().getActionFactory().createLogicAction(getContext().getMainUI().getHandler(), SaveDemandeAction.class); // action.setDemandeModel(getModel()); 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-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css 2014-04-02 13:47:41 UTC (rev 24) @@ -259,7 +259,7 @@ #saveButton { text: "faxtomail.demande.save.button.label"; actionIcon: save; - enabled: { model.isValid() && model.isEditable() }; + enabled: { model.isEditable() }; _applicationAction: { com.franciaflex.faxtomail.ui.swing.actions.SaveDemandeAndExitAction.class }; } @@ -277,18 +277,18 @@ #archiveButton { text: "faxtomail.demande.archive.button.label"; - enabled: { model.isValid() && model.isEditable() }; + enabled: { model.isEditable() }; _applicationAction: { com.franciaflex.faxtomail.ui.swing.actions.ArchiveAction.class }; } #replyButton { text: "faxtomail.demande.reply.button.label"; actionIcon: reply; - enabled: { model.isValid() && model.isEditable() }; + enabled: { model.isEditable() }; } -#linkButton { - text: "faxtomail.demande.link.button.label"; - actionIcon: link; - enabled: { model.isValid() && model.isEditable() }; +#groupButton { + text: "faxtomail.demande.group.button.label"; + actionIcon: group; + enabled: { model.isEditable() }; } 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-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.jaxx 2014-04-02 13:47:41 UTC (rev 24) @@ -293,7 +293,7 @@ <JButton id="printButton" onActionPerformed="handler.print()"/> <JButton id="archiveButton"/> <JButton id="replyButton" onActionPerformed="handler.reply()"/> - <JButton id="linkButton" onActionPerformed="handler.link()"/> + <JButton id="groupButton" onActionPerformed="handler.group()"/> </JPanel> </JPanel> \ No newline at end of file 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-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java 2014-04-02 13:47:41 UTC (rev 24) @@ -346,7 +346,7 @@ @Override public boolean quitUI() { boolean result = quitScreen( - getModel().isValid(), + true, getModel().isModify(), t("faxtomail.demande.askCancelEditBeforeLeaving.cancelSave"), t("faxtomail.demande.askSaveBeforeLeaving.save"), @@ -402,7 +402,7 @@ openFrame(dialogContent, t("faxtomail.reply.title", getModel().getObject()), new Dimension(800, 600)); } - public void link() { + public void group() { //TODO } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUI.css =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUI.css 2014-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUI.css 2014-04-02 13:47:41 UTC (rev 24) @@ -107,9 +107,9 @@ text: "faxtomail.demande.client.label"; } -#clientField { +/*#clientField { text: {model.getClientCode()}; -} +}*/ #docTypeLabel { text: "faxtomail.demande.docType.label"; Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java 2014-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java 2014-04-02 13:47:41 UTC (rev 24) @@ -22,6 +22,7 @@ * #L% */ +import com.franciaflex.faxtomail.persistence.entities.DemandStatus; import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.services.service.ReferentielService; import com.franciaflex.faxtomail.ui.swing.actions.ShowDemandeAction; @@ -52,6 +53,7 @@ import java.awt.event.MouseEvent; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; +import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.List; @@ -123,7 +125,7 @@ referentielService.getAllEtatAttente(), null); initBeanFilterableComboBox(ui.getStatusComboBox(), - referentielService.getAllDemandStatus(), + Arrays.asList(DemandStatus.values()), null); JXTable dataTable = getUI().getDataTable(); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java 2014-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java 2014-04-02 13:47:41 UTC (rev 24) @@ -2,6 +2,7 @@ import com.franciaflex.faxtomail.persistence.entities.Attachment; import com.franciaflex.faxtomail.persistence.entities.Company; +import com.franciaflex.faxtomail.persistence.entities.DemandStatus; import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.persistence.entities.HasLabel; import com.franciaflex.faxtomail.persistence.entities.Priority; @@ -117,6 +118,8 @@ break; case Email.PROPERTY_DEMAND_STATUS: + tableCellRenderer = newTableCellRender(DemandStatus.class); + break; case Email.PROPERTY_DEMAND_TYPE: case Email.PROPERTY_ETAT_ATTENTE: tableCellRenderer = newTableCellRender(HasLabel.class); 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-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java 2014-04-02 13:47:41 UTC (rev 24) @@ -115,12 +115,6 @@ Preconditions.checkNotNull(type); Decorator decorator = decoratorService.getDecoratorByType(type, name); - if (decorator == null) { - - if (HasLabel.class.isAssignableFrom(type)) { - decorator = getDecorator(HasLabel.class, null); - } - } Preconditions.checkNotNull(decorator); return decorator; } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/attachment/AttachmentEditorUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/attachment/AttachmentEditorUIHandler.java 2014-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/attachment/AttachmentEditorUIHandler.java 2014-04-02 13:47:41 UTC (rev 24) @@ -7,6 +7,7 @@ import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; +import jaxx.runtime.SwingUtil; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.collections4.CollectionUtils; import org.jdesktop.swingx.JXTable; @@ -139,7 +140,7 @@ public void addAttachment() { Attachment attachment = new AttachmentImpl(); - + attachment.setAddedByUser(true); File file = ui.getFile().getSelectedFile(); if (file != null) { attachment.setOriginalFile(file); @@ -218,6 +219,14 @@ boolean isSelected, boolean hasFocus, int row, int column) { Attachment attachment = (Attachment) value; setAttachment(attachment); + + if (attachment != null) { + JLabel label = getAttachmentNameLabel(); + String actionIconName = Boolean.TRUE.equals(attachment.getAddedByUser()) ? "user" : "email"; + Icon icon = SwingUtil.createActionIcon(actionIconName); + label.setIcon(icon); + } + return this; } } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/attachment/ButtonAttachment.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/attachment/ButtonAttachment.java 2014-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/attachment/ButtonAttachment.java 2014-04-02 13:47:41 UTC (rev 24) @@ -41,7 +41,7 @@ } } } - };; + }; public ButtonAttachment(AttachmentModelAware model) { this("faxtomail.attachmentEditor.text", model); Modified: trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_en_GB.properties =================================================================== --- trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_en_GB.properties 2014-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_en_GB.properties 2014-04-02 13:47:41 UTC (rev 24) @@ -18,6 +18,9 @@ faxtomail.alert.alreadyTakenBy.help= faxtomail.alert.alreadyTakenBy.message= faxtomail.alert.alreadyTakenBy.title= +faxtomail.alert.archiveConfirmation.help= +faxtomail.alert.archiveConfirmation.message= +faxtomail.alert.archiveConfirmation.title= faxtomail.archive.button.label= faxtomail.attachmentCellRenderer.text= faxtomail.attachmentEditor.action.add.mnemonic= @@ -126,6 +129,7 @@ faxtomail.demande.firstOpenedBy.label= faxtomail.demande.firstOpeningDate.label= faxtomail.demande.gamme.label= +faxtomail.demande.group.button.label= faxtomail.demande.history.label= faxtomail.demande.lastModificationDate.label= faxtomail.demande.lastModified.label= 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-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties 2014-04-02 13:47:41 UTC (rev 24) @@ -8,6 +8,8 @@ faxtomail.alert.alreadyTakenBy.help=Voulez-vous le prendre ?<ul><li><strong>Annuler</strong> pour ne retourner à la liste</li><li><strong>Non</strong> pour visualiser l'élément en lecture seule</li><li><strong>Oui</strong> pour le prendre</li></ul> faxtomail.alert.alreadyTakenBy.message=L'élément est déjà pris par %s. faxtomail.alert.alreadyTakenBy.title=Document déjà pris +faxtomail.alert.archiveConfirmation.message=Êtes vous sûr de vouloir archiver cet élément ? L'archivage est définitif. +faxtomail.alert.archiveConfirmation.title=Archivage faxtomail.attachmentCellRenderer.text=(%s) faxtomail.attachmentEditor.action.add.tip=Ajouter une pièce jointe faxtomail.attachmentEditor.action.closeAttachment.tip=Fermer la fenêtre des pièces-jointes @@ -41,6 +43,7 @@ faxtomail.demande.askSaveBeforeLeaving.save=Vous avez modifié l'élément mais vous n'avez pas enregistré ces modifications. faxtomail.demande.attachment.label=Pièces-jointes faxtomail.demande.back.button.label=Quitter +faxtomail.demande.client.label= faxtomail.demande.clientBrand.label=Marque faxtomail.demande.clientCode.label=Client faxtomail.demande.companyReference.label=Notre référence @@ -51,8 +54,8 @@ faxtomail.demande.etatAttente.label=État attente faxtomail.demande.fax.label=Fax faxtomail.demande.firstOpened.label=Première ouverture +faxtomail.demande.group.button.label=Grouper faxtomail.demande.lastModified.label=Dernière modification -faxtomail.demande.link.button.label=Coupler faxtomail.demande.mailBody.label=Corps du mail faxtomail.demande.mailFolder.label=Dossier faxtomail.demande.message.label=Message Added: trunk/faxtomail-ui-swing/src/main/resources/icons/action-group.png =================================================================== (Binary files differ) Property changes on: trunk/faxtomail-ui-swing/src/main/resources/icons/action-group.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/faxtomail-ui-swing/src/main/resources/icons/action-left.png =================================================================== (Binary files differ) Property changes on: trunk/faxtomail-ui-swing/src/main/resources/icons/action-left.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/faxtomail-ui-swing/src/main/resources/icons/action-right.png =================================================================== (Binary files differ) Property changes on: trunk/faxtomail-ui-swing/src/main/resources/icons/action-right.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/faxtomail-ui-swing/src/main/resources/icons/action-user.png =================================================================== (Binary files differ) Property changes on: trunk/faxtomail-ui-swing/src/main/resources/icons/action-user.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/admin/ConfigurationAction.java =================================================================== --- trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/admin/ConfigurationAction.java 2014-03-31 16:30:02 UTC (rev 23) +++ trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/admin/ConfigurationAction.java 2014-04-02 13:47:41 UTC (rev 24) @@ -158,7 +158,7 @@ result.put(Email.PROPERTY_PRIORITY, "Priorité"); result.put(Email.PROPERTY_RANGE_ROW, "Gamme"); result.put(Email.PROPERTY_MAIL_FOLDER, "Dossier"); - result.put(Email.PROPERTY_CLIENT_CODE, "Code Client"); + result.put(Email.PROPERTY_CLIENT, "Code Client"); result.put(Email.PROPERTY_DEMAND_STATUS, "Statut"); result.put(Email.PROPERTY_DEMAND_TYPE, "Type"); result.put(Email.PROPERTY_TAKEN_BY, "Pris par");