This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository faxtomail. See http://git.codelutin.com/faxtomail.git commit d756fd83971fc5fc51d0e1685e2d54d2022735c0 Author: Kevin Morin <morin@codelutin.com> Date: Wed Aug 26 17:50:31 2015 +0200 remplacement du champ code client par une combobox de clients (refs #7422) --- .../faxtomail/services/service/ClientService.java | 4 ++ .../services/service/ClientServiceImpl.java | 14 ++++++ .../faxtomail/services/service/EmailService.java | 2 +- .../services/service/EmailServiceImpl.java | 41 +++++++++--------- .../services/service/InitFaxToMailServiceImpl.java | 2 +- .../services/service/InitTestDataImpl.java | 2 +- .../ui/swing/actions/ShowDemandeAction.java | 18 +++++++- .../ui/swing/content/demande/DemandeUI.css | 10 ++++- .../ui/swing/content/demande/DemandeUI.jaxx | 50 +++++++++++----------- .../ui/swing/content/demande/DemandeUIHandler.java | 4 +- .../ui/swing/content/demande/DemandeUIModel.java | 40 +++++++---------- .../content/demande/actions/SaveDemandeAction.java | 32 +++++++------- .../actions/OpenGroupedDemandAction.java | 13 +++++- 13 files changed, 136 insertions(+), 96 deletions(-) diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientService.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientService.java index 271aecf..5a4bceb 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientService.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientService.java @@ -26,6 +26,7 @@ package com.franciaflex.faxtomail.services.service; import com.franciaflex.faxtomail.persistence.entities.Client; import com.franciaflex.faxtomail.persistence.entities.Email; +import com.franciaflex.faxtomail.persistence.entities.MailFolder; import com.franciaflex.faxtomail.services.FaxToMailService; import java.util.List; @@ -34,9 +35,12 @@ import java.util.List; * @author Kevin Morin (Code Lutin) */ public interface ClientService extends FaxToMailService { + List<Client> getClientForEmailAddress(String emailAddress, Email email, String company, List<String> brand); Client getClientForCode(String code, String company); + List<Client> getClientsForFolder(MailFolder folder); + void updateNewClients(); } diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientServiceImpl.java index ea916a3..005fba7 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientServiceImpl.java @@ -30,6 +30,7 @@ import com.franciaflex.faxtomail.persistence.entities.ClientTopiaDao; import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUserTopiaDao; +import com.franciaflex.faxtomail.persistence.entities.MailFolder; import com.franciaflex.faxtomail.persistence.entities.NewClient; import com.franciaflex.faxtomail.services.FaxToMailServiceSupport; import com.google.common.base.Function; @@ -144,6 +145,19 @@ public class ClientServiceImpl extends FaxToMailServiceSupport implements Client return client; } + @Override + public List<Client> getClientsForFolder(MailFolder folder) { + while (!folder.isUseCurrentLevelCompany() && folder.getParent() != null) { + folder = folder.getParent(); + } + + String company = folder.getCompany(); + + ClientTopiaDao clientDao = getPersistenceContext().getClientDao(); + List<Client> result = clientDao.forCompanyEquals(company).findAll(); + return result; + } + /** * Récupère les information de la table NewClient pour mettre à jour la table Client. */ diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java index 3da0a7b..f8352a8 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java @@ -74,7 +74,7 @@ public interface EmailService extends FaxToMailService { Email saveEmail(Email email, FaxToMailUser user, String... modifiedFields) throws InvalidClientException; - Email saveEmail(Email email, Collection<Attachment> attachments, Collection<Reply> replies, String clientCode, + Email saveEmail(Email email, Collection<Attachment> attachments, Collection<Reply> replies, FaxToMailUser user, String... modifiedFields) throws InvalidClientException; void transmitPendingDemandsToEdi(); diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java index b4b99a2..5bc93e0 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java @@ -246,12 +246,11 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe */ @Override public Email saveEmail(Email email, FaxToMailUser user, String... modifiedFields) throws InvalidClientException { - Client client = email.getClient(); - return saveEmail(email, null, email.getReplies(), client != null ? client.getCode() : null, user, modifiedFields); + return saveEmail(email, null, email.getReplies(), user, modifiedFields); } @Override - public Email saveEmail(Email email, Collection<Attachment> attachments, Collection<Reply> replies, String clientCode, + public Email saveEmail(Email email, Collection<Attachment> attachments, Collection<Reply> replies, FaxToMailUser user, String... modifiedFields) throws InvalidClientException { Date now = getNow(); EmailTopiaDao dao = getPersistenceContext().getEmailDao(); @@ -261,24 +260,25 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe while (!folder.isUseCurrentLevelCompany() && folder.getParent() != null) { folder = folder.getParent(); } - String company = folder.getCompany(); - // if client code is null, do not manage client at all - Client client = null; - if (StringUtils.isNotBlank(clientCode)) { - Client emailClient = email.getClient(); - if (emailClient != null && clientCode.equals(email.getClient().getCode())) { - client = emailClient; +// String company = folder.getCompany(); - } else { - client = getClientService().getClientForCode(clientCode, company); - if (client == null) { - String message = t("faxtomail.service.email.save.clientCode.error", clientCode); - throw new InvalidClientException(message); - } - } - } - email.setClient(client); + // if client code is null, do not manage client at all +// Client client = null; +// if (StringUtils.isNotBlank(clientCode)) { +// Client emailClient = email.getClient(); +// if (emailClient != null && clientCode.equals(email.getClient().getCode())) { +// client = emailClient; +// +// } else { +// client = getClientService().getClientForCode(clientCode, company); +// if (client == null) { +// String message = t("faxtomail.service.email.save.clientCode.error", clientCode); +// throw new InvalidClientException(message); +// } +// } +// } +// email.setClient(client); if (attachments != null) { updateAttachments(email, attachments, user); @@ -1194,8 +1194,7 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe History.PROPERTY_EMAIL, email); email.addHistory(history); - Client client = email.getClient(); - email = saveEmail(email, null, null, client != null ? client.getCode() : null, user); + email = saveEmail(email, null, null, user); return email; } diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailServiceImpl.java index d629b37..458a782 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/InitFaxToMailServiceImpl.java @@ -440,7 +440,7 @@ public class InitFaxToMailServiceImpl extends FaxToMailServiceSupport implements email.setDemandType(demandType); email.setPriority(priorities.get(random.nextInt(priorities.size()))); email.setRangeRow(rangeRows); - getEmailService().saveEmail(email, null, null, email.getClient().getCode(), user, + getEmailService().saveEmail(email, null, null, user, Email.PROPERTY_DEMAND_TYPE, Email.PROPERTY_PRIORITY, Email.PROPERTY_RANGE_ROW); } } diff --git a/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestDataImpl.java b/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestDataImpl.java index 504a70d..f9f3128 100644 --- a/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestDataImpl.java +++ b/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/InitTestDataImpl.java @@ -353,7 +353,7 @@ public class InitTestDataImpl extends FaxToMailServiceSupport implements InitTes email.setDemandType(demandType); email.setPriority(priorities.get(0)); email.setRangeRow(rangeRows); - getEmailService().saveEmail(email, null, null, email.getClient().getCode(), user, Email.PROPERTY_DEMAND_TYPE, Email.PROPERTY_PRIORITY, + getEmailService().saveEmail(email, null, null, user, Email.PROPERTY_DEMAND_TYPE, Email.PROPERTY_PRIORITY, Email.PROPERTY_RANGE_ROW); } } diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java index 97f2c8e..cd7ea57 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeAction.java @@ -22,6 +22,7 @@ package com.franciaflex.faxtomail.ui.swing.actions; * #L% */ +import com.franciaflex.faxtomail.persistence.entities.Client; import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; import com.franciaflex.faxtomail.persistence.entities.MailFolder; @@ -43,6 +44,8 @@ import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; +import java.util.List; + import static org.nuiton.i18n.I18n.t; /** @@ -146,9 +149,11 @@ public class ShowDemandeAction extends AbstractMainUIFaxToMailAction { @Override public void doAction() throws Exception { DemandeUIModel currentEmail = getContext().getCurrentEmail(); + MailFolder folder = currentEmail.getMailFolder(); + + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); if (StringUtils.isNotBlank(currentEmail.getTopiaId())) { - FaxToMailServiceContext serviceContext = getContext().newServiceContext(); Email email = serviceContext.getEmailService().openEmail(currentEmail.getTopiaId(), getContext().getCurrentUser(), @@ -166,7 +171,6 @@ public class ShowDemandeAction extends AbstractMainUIFaxToMailAction { currentEmail.fromEntity(email); - MailFolder folder = currentEmail.getMailFolder(); if (currentEmail.getArchiveDate() != null || !folder.isFolderWritable() || !currentEmail.getDemandStatus().isEditableStatus()) { @@ -174,6 +178,16 @@ public class ShowDemandeAction extends AbstractMainUIFaxToMailAction { } } + List<Client> allowedClients = serviceContext.getClientService().getClientsForFolder(folder); + currentEmail.setAllowedClients(allowedClients); + } + + @Override + public void postSuccessAction() { + super.postSuccessAction(); + + DemandeUIModel currentEmail = getContext().getCurrentEmail(); + frame = getContext().getFrameForDemande(currentEmail); if (frame == null) { diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css index 9e482c5..2dc88e5 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css @@ -74,11 +74,16 @@ JTextField, JXTable, BeanFilterableComboBox, #commentField, ButtonAttachment, Bu text: "faxtomail.demande.clientCode.label"; } -#clientField { +/*#clientField { text: { model.getClientCode() }; +}*/ + +#clientComboBox { + property: client; + selectedItem: { model.getClient() }; _validatorLabel: { t("faxtomail.demande.clientCode.label") }; } - +/* #brandLabel { text: "faxtomail.demande.clientBrand.label"; } @@ -86,6 +91,7 @@ JTextField, JXTable, BeanFilterableComboBox, #commentField, ButtonAttachment, Bu #brandField { text: {model.getClientBrand()}; } +*/ #warningClient { actionIcon: warning; diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.jaxx b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.jaxx index 85a81b1..6c263be 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.jaxx +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.jaxx @@ -31,6 +31,7 @@ com.franciaflex.faxtomail.ui.swing.content.demande.history.ButtonHistory com.franciaflex.faxtomail.ui.swing.content.demande.replies.ButtonDemandReplies + com.franciaflex.faxtomail.persistence.entities.Client com.franciaflex.faxtomail.persistence.entities.Email com.franciaflex.faxtomail.persistence.entities.DemandType com.franciaflex.faxtomail.persistence.entities.DemandStatus @@ -67,7 +68,7 @@ <BeanValidator id='validator' bean='model' uiClass='jaxx.runtime.validator.swing.ui.ImageValidationUI'> - <field name='clientCode' component='clientField'/> + <field name='client' component='clientComboBox'/> <field name='object' component='objectField'/> <field name='demandType' component='docTypeComboBox'/> <field name='projectReference' component='projectReferenceField'/> @@ -110,7 +111,7 @@ <cell> <JLabel id='senderLabel'/> </cell> - <cell columns="4"> + <cell columns="2"> <JLabel id='senderField'/> </cell> </row> @@ -118,7 +119,7 @@ <cell> <JLabel id='objectLabel'/> </cell> - <cell weightx='1' columns="4"> + <cell weightx='1' columns="2"> <JTextField id='objectField' onKeyReleased='handler.setText(event, "object")'/> </cell> @@ -131,23 +132,24 @@ <JButton id='warningClient' onActionPerformed="handler.showMatchingClientsPopup(event)"/> </cell> <cell weightx='1'> - <JTextField id='clientField' - onKeyReleased='handler.setText(event, "clientCode")'/> - </cell> - <cell> - <JLabel id='brandLabel'/> - </cell> - <cell weightx='1'> - <!--<JTextField id='brandField'--> - <!--onKeyReleased='handler.setText(event, "clientBrand")'/>--> - <JLabel id='brandField'/> + <BeanFilterableComboBox id='clientComboBox' + constructorParams='this' + genericType="Client"/> </cell> + <!--<cell>--> + <!--<JLabel id='brandLabel'/>--> + <!--</cell>--> + <!--<cell weightx='1'>--> + <!--<!–<JTextField id='brandField'–>--> + <!--<!–onKeyReleased='handler.setText(event, "clientBrand")'/>–>--> + <!--<JLabel id='brandField'/>--> + <!--</cell>--> </row> <row> <cell> <JLabel id='docTypeLabel'/> </cell> - <cell weightx='1' columns="4"> + <cell weightx='1' columns="2"> <BeanFilterableComboBox id='docTypeComboBox' constructorParams='this' genericType="DemandType"/> @@ -157,7 +159,7 @@ <cell> <JLabel id='priorityLabel'/> </cell> - <cell weightx='1' columns="4"> + <cell weightx='1' columns="2"> <BeanFilterableComboBox id='priorityComboBox' constructorParams='this' genericType="Priority"/> @@ -167,7 +169,7 @@ <cell> <JLabel id='projectReferenceLabel'/> </cell> - <cell weightx='1' columns="4"> + <cell weightx='1' columns="2"> <JTextField id='projectReferenceField' onKeyReleased='handler.setText(event, "projectReference")'/> </cell> @@ -176,7 +178,7 @@ <cell> <JLabel id='companyReferenceLabel'/> </cell> - <cell weightx='1' columns="4"> + <cell weightx='1' columns="2"> <JTextField id='companyReferenceField' onKeyReleased='handler.setText(event, "companyReference")'/> </cell> @@ -185,7 +187,7 @@ <cell> <JLabel id='waitingStateLabel'/> </cell> - <cell weightx='1' columns="4"> + <cell weightx='1' columns="2"> <BeanFilterableComboBox id='waitingStateComboBox' constructorParams='this' genericType="WaitingState"/> @@ -195,7 +197,7 @@ <cell> <JLabel id='statusLabel'/> </cell> - <cell weightx='1' columns="4"> + <cell weightx='1' columns="2"> <JPanel layout="{new BorderLayout()}"> <JLabel id='statusField' constraints='BorderLayout.NORTH'/> <BeanFilterableComboBox id='statusComboBox' @@ -209,19 +211,19 @@ <cell> <JLabel id="takenByLabel"/> </cell> - <cell weightx='1' columns="4"> + <cell weightx='1' columns="2"> <JLabel id="takenByField"/> </cell> </row> <row> - <cell columns="4" insets="10"> + <cell columns="3" insets="10"> <JSeparator/> </cell> </row> <row> - <cell columns='4'> + <cell columns='3'> <JPanel styleClass="text-row"> <JLabel id="firstOpenedLabel"/> <JLabel id="firstOpenedByLabel"/> @@ -232,7 +234,7 @@ </cell> </row> <row> - <cell columns='4'> + <cell columns='3'> <JPanel styleClass="text-row"> <JLabel id="lastModifiedLabel"/> <JLabel id="lastModifiedByLabel"/> @@ -243,7 +245,7 @@ </cell> </row> <row> - <cell columns='4'> + <cell columns='3'> <JPanel id="lastAttachmentOpeningPanel" styleClass="text-row"> <JLabel id="lastAttachmentOpeningLabel"/> diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java index 5c277bd..210a838 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIHandler.java @@ -433,7 +433,9 @@ public class DemandeUIHandler extends AbstractFaxToMailUIHandler<DemandeUIModel, } } - listModelIsModify(getModel()); + initBeanFilterableComboBox(ui.getClientComboBox(), model.getAllowedClients(), model.getClient()); + + listModelIsModify(model); } @Override diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java index bbc845f..1901b8b 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java @@ -109,10 +109,6 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU protected int savNb; - protected String clientCode; - - protected String clientBrand; - protected boolean editable = true; protected String htmlContent; @@ -125,6 +121,8 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU protected List<String> ccRecipients; + protected List<Client> allowedClients; + protected boolean closeable; protected static final Binder<DemandeUIModel, Email> toBeanBinder = @@ -362,12 +360,6 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU return originalEmail != null ? originalEmail.getContent() : null; } - public void setClientCode(String clientCode) { - Object oldValue = getClientCode(); - this.clientCode = clientCode; - firePropertyChanged(PROPERTY_CLIENT_CODE, oldValue, clientCode); - } - public boolean isFax() { return editObject.isFax(); } @@ -381,10 +373,6 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU public void setClient(Client client) { Object oldValue = getClient(); editObject.setClient(client); - if (client != null) { - setClientCode(client.getCode()); - setClientBrand(client.getBrand()); - } firePropertyChanged(Email.PROPERTY_CLIENT, oldValue, client); } @@ -393,17 +381,13 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU } public String getClientCode() { - return clientCode; - } - - public void setClientBrand(String clientBrand) { - Object oldValue = getClientBrand(); - this.clientBrand = clientBrand; - firePropertyChanged(PROPERTY_CLIENT_BRAND, oldValue, clientBrand); + Client client = getClient(); + return client != null ? client.getCode() : null; } public String getClientBrand() { - return clientBrand; + Client client = getClient(); + return client != null ? client.getBrand() : null; } public Collection<Client> getMatchingClients() { @@ -836,6 +820,14 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU setValidRangeRowModels(validRangeRowModels); } + public List<Client> getAllowedClients() { + return allowedClients; + } + + public void setAllowedClients(List<Client> allowedClients) { + this.allowedClients = allowedClients; + } + /** * Appelée par la validation. * @@ -848,9 +840,9 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU DemandType demandType = getDemandType(); boolean result = demandType == null; if (!result) { - if (PROPERTY_CLIENT_CODE.equals(field)) { + if (Email.PROPERTY_CLIENT.equals(field)) { result = !FaxToMailServiceUtils.contains(demandType.getRequiredFields(), MailField.CLIENT) - || StringUtils.isNotBlank(getClientCode()); + || getClient() != null; } else if (PROPERTY_VALID_RANGE_ROW_MODELS.equals(field)) { result = !FaxToMailServiceUtils.contains(demandType.getRequiredFields(), MailField.RANGE_ROW) diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/SaveDemandeAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/SaveDemandeAction.java index 1a5aadc..ae1fe1b 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/SaveDemandeAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/SaveDemandeAction.java @@ -33,7 +33,6 @@ import com.franciaflex.faxtomail.persistence.entities.MailFolder; import com.franciaflex.faxtomail.persistence.entities.RangeRow; import com.franciaflex.faxtomail.persistence.entities.Reply; import com.franciaflex.faxtomail.services.FaxToMailServiceContext; -import com.franciaflex.faxtomail.services.service.exceptions.InvalidClientException; import com.franciaflex.faxtomail.ui.swing.FaxToMailUIContext; import com.franciaflex.faxtomail.ui.swing.actions.AbstractFaxToMailAction; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUI; @@ -129,11 +128,10 @@ public class SaveDemandeAction extends AbstractFaxToMailAction<DemandeUIModel, D Collection<Attachment> attachments = model.getAttachment(); Collection<Reply> replies = model.getReplies(); - String clientCode = model.getClientCode(); BeanMonitor monitor = getHandler().getMonitor(); String[] modifiedProperties = monitor.getModifiedProperties(); - email = serviceContext.getEmailService().saveEmail(email, attachments, replies, clientCode, currentUser, modifiedProperties); + email = serviceContext.getEmailService().saveEmail(email, attachments, replies, currentUser, modifiedProperties); model.fromEntity(email); MailFolder folder = model.getMailFolder(); @@ -153,18 +151,18 @@ public class SaveDemandeAction extends AbstractFaxToMailAction<DemandeUIModel, D monitor.clearModified(); } - public void postFailedAction(Throwable error) { - - if (error instanceof InvalidClientException) { - DemandeUIModel model = getModel(); -// BeanMonitor monitor = getHandler().getMonitor(); -// String previousClientCode = (String) monitor.getOriginalValues().get(DemandeUIModel.PROPERTY_CLIENT_CODE); - model.setClientCode(null); - - // reset the range rows of the model -// BeanMonitor monitor = getHandler().getMonitor(); -// List<RangeRow> rangeRows = (List<RangeRow>) monitor.getOriginalValues().get(Email.PROPERTY_RANGE_ROW); -// model.setRangeRow(rangeRows); - } - } +// public void postFailedAction(Throwable error) { +// +// if (error instanceof InvalidClientException) { +// DemandeUIModel model = getModel(); +//// BeanMonitor monitor = getHandler().getMonitor(); +//// String previousClientCode = (String) monitor.getOriginalValues().get(DemandeUIModel.PROPERTY_CLIENT_CODE); +// model.setClientCode(null); +// +// // reset the range rows of the model +//// BeanMonitor monitor = getHandler().getMonitor(); +//// List<RangeRow> rangeRows = (List<RangeRow>) monitor.getOriginalValues().get(Email.PROPERTY_RANGE_ROW); +//// model.setRangeRow(rangeRows); +// } +// } } diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/actions/OpenGroupedDemandAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/actions/OpenGroupedDemandAction.java index c70ca0a..a9742ba 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/actions/OpenGroupedDemandAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/demandgroup/actions/OpenGroupedDemandAction.java @@ -24,6 +24,7 @@ package com.franciaflex.faxtomail.ui.swing.content.demande.demandgroup.actions; * #L% */ +import com.franciaflex.faxtomail.persistence.entities.Client; import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; import com.franciaflex.faxtomail.persistence.entities.MailFolder; @@ -41,6 +42,8 @@ import org.nuiton.jaxx.application.swing.AbstractApplicationUIHandler; import javax.swing.*; +import java.util.List; + import static org.nuiton.i18n.I18n.t; /** @@ -144,8 +147,11 @@ public class OpenGroupedDemandAction extends AbstractFaxToMailAction<DemandeUIMo @Override public void doAction() throws Exception { + MailFolder folder = demandToOpen.getMailFolder(); + + FaxToMailServiceContext serviceContext = getContext().newServiceContext(); + if (StringUtils.isNotBlank(demandToOpen.getTopiaId())) { - FaxToMailServiceContext serviceContext = getContext().newServiceContext(); Email email = serviceContext.getEmailService().openEmail(demandToOpen.getTopiaId(), getContext().getCurrentUser(), @@ -154,14 +160,17 @@ public class OpenGroupedDemandAction extends AbstractFaxToMailAction<DemandeUIMo demandToOpen.fromEntity(email); demandToOpen.recomputeValidRangeRows(); - MailFolder folder = demandToOpen.getMailFolder(); if (demandToOpen.getArchiveDate() != null || !folder.isFolderWritable() || !demandToOpen.getDemandStatus().isEditableStatus()) { demandToOpen.setEditable(false); } demandToOpen.setCloseable(true); + } + + List<Client> allowedClients = serviceContext.getClientService().getClientsForFolder(folder); + demandToOpen.setAllowedClients(allowedClients); } @Override -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.