branch develop updated (e22af4ef -> 280e0a73)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git from e22af4ef Merge branch 'feature/9526' into 'develop' new 280e0a73 refs #9526 move the takenby validation in an action The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 280e0a737e29bb94623e01c93c393d2f714e1ccf Author: Kevin Morin <morin@codelutin.com> Date: Fri Dec 15 15:14:49 2017 +0100 refs #9526 move the takenby validation in an action Summary of changes: .../ui/swing/content/demande/DemandeListUI.css | 1 + .../content/demande/TakenByFormUIHandler.java | 89 ---------------------- .../demande/actions/OpenTakenByFormAction.java | 8 +- .../demande/{ => takenby}/TakenByFormUI.css | 1 + .../demande/{ => takenby}/TakenByFormUI.jaxx | 31 +++----- .../demande/takenby/TakenByFormUIHandler.java | 55 +++++++++++++ .../demande/{ => takenby}/TakenByFormUIModel.java | 3 +- .../demande/takenby/actions/TakenByAction.java | 84 ++++++++++++++++++++ .../i18n/faxtomail-ui-swing_fr_FR.properties | 1 + 9 files changed, 157 insertions(+), 116 deletions(-) delete mode 100644 faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/TakenByFormUIHandler.java rename faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/{ => takenby}/TakenByFormUI.css (92%) rename faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/{ => takenby}/TakenByFormUI.jaxx (73%) create mode 100644 faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/TakenByFormUIHandler.java rename faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/{ => takenby}/TakenByFormUIModel.java (92%) create mode 100644 faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/actions/TakenByAction.java -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit 280e0a737e29bb94623e01c93c393d2f714e1ccf Author: Kevin Morin <morin@codelutin.com> Date: Fri Dec 15 15:14:49 2017 +0100 refs #9526 move the takenby validation in an action --- .../ui/swing/content/demande/DemandeListUI.css | 1 + .../content/demande/TakenByFormUIHandler.java | 89 ---------------------- .../demande/actions/OpenTakenByFormAction.java | 8 +- .../demande/{ => takenby}/TakenByFormUI.css | 1 + .../demande/{ => takenby}/TakenByFormUI.jaxx | 31 +++----- .../demande/takenby/TakenByFormUIHandler.java | 55 +++++++++++++ .../demande/{ => takenby}/TakenByFormUIModel.java | 3 +- .../demande/takenby/actions/TakenByAction.java | 84 ++++++++++++++++++++ .../i18n/faxtomail-ui-swing_fr_FR.properties | 1 + 9 files changed, 157 insertions(+), 116 deletions(-) diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUI.css b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUI.css index 7805ff36..6cc6db38 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUI.css +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUI.css @@ -119,6 +119,7 @@ } #takenByMenu { + actionIcon: user; text: "faxtomail.demandeList.action.takenBy"; toolTipText: "faxtomail.demandeList.action.takenBy.tip"; visible: { model.isTakenByActivated() }; diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/TakenByFormUIHandler.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/TakenByFormUIHandler.java deleted file mode 100644 index 9e0b6adb..00000000 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/TakenByFormUIHandler.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.franciaflex.faxtomail.ui.swing.content.demande; - -import com.franciaflex.faxtomail.persistence.entities.Email; -import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; -import com.franciaflex.faxtomail.services.FaxToMailServiceContext; -import com.franciaflex.faxtomail.services.service.EmailService; -import com.franciaflex.faxtomail.ui.swing.FaxToMailUIContext; -import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyFormUIModel; -import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler; -import jaxx.runtime.validator.swing.SwingValidator; -import org.nuiton.jaxx.application.swing.util.Cancelable; -import org.nuiton.validator.bean.simple.SimpleBeanValidator; - -import javax.swing.*; -import java.awt.*; -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; -import java.util.Collection; - -public class TakenByFormUIHandler extends AbstractFaxToMailUIHandler<TakenByFormUIModel, TakenByFormUI> implements Cancelable { - - @Override - public void afterInit(TakenByFormUI ui) { - initUI(ui); - - // users - initBeanFilterableComboBox(ui.getTakenByComboBox(), getModel().getUsers(), getModel().getTakenBy()); - - getValidator().addPropertyChangeListener(SimpleBeanValidator.VALID_PROPERTY, new PropertyChangeListener() { - @Override - public void propertyChange(PropertyChangeEvent evt) { - getModel().setValid((Boolean) evt.getNewValue()); - } - }); - } - - @Override - public void cancel() { - closeFrame(); - } - - @Override - public void onCloseUI() { - } - - @Override - public SwingValidator<TakenByFormUIModel> getValidator() { - return getUI().getValidator(); - } - - @Override - protected JComponent getComponentToFocus() { - return getUI().getTakenByComboBox(); - } - - @Override - public Component getTopestUI() { - return getParentContainer(Window.class); - } - - public void validate(){ - Collection<DemandeUIModel> demands = getModel().getDemandsToTake(); - FaxToMailUser user = (FaxToMailUser) getUI().getTakenByComboBox().getSelectedItem(); - - for (DemandeUIModel demand:demands){ - demand.setTakenBy(user); - } - - FaxToMailUIContext context = getContext(); - - FaxToMailServiceContext serviceContext = context.newServiceContext(); - EmailService emailService = serviceContext.getEmailService(); - - for (DemandeUIModel demand : getModel().getDemandsToTake()) { - - String topiaId = demand.getTopiaId(); - Email persistedEmail = emailService.getFullEmailById(topiaId); - - FaxToMailUser currentUser = context.getCurrentUser(); - Email email = demand.toEntity(persistedEmail); - - email = emailService.saveEmail(email, currentUser, Email.PROPERTY_TAKEN_BY); - demand.fromEntity(email); - } - - closeFrame(); - } - -} diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/OpenTakenByFormAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/OpenTakenByFormAction.java index 22331e26..97c27ed7 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/OpenTakenByFormAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/OpenTakenByFormAction.java @@ -9,8 +9,8 @@ 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.demande.TakenByFormUI; -import com.franciaflex.faxtomail.ui.swing.content.demande.TakenByFormUIModel; +import com.franciaflex.faxtomail.ui.swing.content.demande.takenby.TakenByFormUI; +import com.franciaflex.faxtomail.ui.swing.content.demande.takenby.TakenByFormUIModel; import javax.swing.JFrame; import javax.swing.SwingUtilities; @@ -46,7 +46,7 @@ public class OpenTakenByFormAction extends AbstractFaxToMailAction<DemandeListUI MailFolder folder = demand.getMailFolder(); MailFolderService mailFolderService = getContext().newServiceContext().getMailFolderService(); - List<FaxToMailUser> users = (List<FaxToMailUser>)mailFolderService.getUsersForFolder(folder.getTopiaId()); + List<FaxToMailUser> users = (List<FaxToMailUser>) mailFolderService.getUsersForFolder(folder.getTopiaId()); model.setUsers(users); getUI().setContextValue(model); @@ -59,7 +59,7 @@ public class OpenTakenByFormAction extends AbstractFaxToMailAction<DemandeListUI super.postSuccessAction(); frame = getHandler().openModalFrame(frameContent, t("faxtomail.takenby.modalTitle"), - new Dimension(300, 30)); + new Dimension(300, 40)); getContext().addPropertyChangeListener(FaxToMailUIContext.PROPERTY_BUSY, new PropertyChangeListener() { @Override diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/TakenByFormUI.css b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/TakenByFormUI.css similarity index 92% rename from faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/TakenByFormUI.css rename to faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/TakenByFormUI.css index c1332a13..a777c0b2 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/TakenByFormUI.css +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/TakenByFormUI.css @@ -44,5 +44,6 @@ actionIcon: reply; text: "faxtomail.takenby.action.validate"; toolTipText: "faxtomail.takenby.action.validate.tip"; + _applicationAction: { com.franciaflex.faxtomail.ui.swing.content.demande.takenby.actions.TakenByAction.class }; enabled: { model.isValid() }; } diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/TakenByFormUI.jaxx b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/TakenByFormUI.jaxx similarity index 73% rename from faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/TakenByFormUI.jaxx rename to faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/TakenByFormUI.jaxx index b5515579..cc6cb1a1 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/TakenByFormUI.jaxx +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/TakenByFormUI.jaxx @@ -28,12 +28,8 @@ com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler - - java.awt.CardLayout java.awt.Color - java.awt.FlowLayout - jaxx.runtime.swing.CardLayout2Ext jaxx.runtime.swing.editor.bean.BeanFilterableComboBox jaxx.runtime.swing.editor.bean.BeanComboBox @@ -56,32 +52,23 @@ <TakenByFormUIModel id='model' initializer='getContextValue(TakenByFormUIModel.class)'/> - <Table constraints='BorderLayout.NORTH' - fill='both'> - <row> + <Table constraints='BorderLayout.CENTER' fill='both'> + <row weighty="1" > <cell> <JLabel id="takenByListLabel"/> </cell> - <cell weightx='1' columns="4"> - <JPanel id="takenByListPanel"> - <BeanFilterableComboBox id="takenByComboBox" - constructorParams='this' - genericType="FaxToMailUser" - constraints='"false"'/> - </JPanel> + <cell weightx='1' columns="3"> + <BeanFilterableComboBox id="takenByComboBox" + constructorParams='this' + genericType="FaxToMailUser"/> </cell> </row> - </Table> - - <Table id="buttonPanel" - fill="both" insets="0" - constraints='BorderLayout.SOUTH'> <row> - <cell insets="0" weightx="1"> + <cell insets="0" weightx="1" columns="2"> <JButton id='cancelButton' onActionPerformed='handler.cancel()'/> </cell> - <cell insets="0" weightx="1"> - <JButton id='validateButton' onActionPerformed='handler.validate()'/> + <cell insets="0" weightx="1" columns="2"> + <JButton id='validateButton'/> </cell> </row> </Table> diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/TakenByFormUIHandler.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/TakenByFormUIHandler.java new file mode 100644 index 00000000..ed759833 --- /dev/null +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/TakenByFormUIHandler.java @@ -0,0 +1,55 @@ +package com.franciaflex.faxtomail.ui.swing.content.demande.takenby; + +import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler; +import jaxx.runtime.validator.swing.SwingValidator; +import org.nuiton.jaxx.application.swing.util.Cancelable; +import org.nuiton.validator.bean.simple.SimpleBeanValidator; + +import javax.swing.JComponent; +import java.awt.Component; +import java.awt.Window; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; + +public class TakenByFormUIHandler extends AbstractFaxToMailUIHandler<TakenByFormUIModel, TakenByFormUI> implements Cancelable { + + @Override + public void afterInit(TakenByFormUI ui) { + initUI(ui); + + // users + initBeanFilterableComboBox(ui.getTakenByComboBox(), getModel().getUsers(), getModel().getTakenBy()); + + getValidator().addPropertyChangeListener(SimpleBeanValidator.VALID_PROPERTY, new PropertyChangeListener() { + @Override + public void propertyChange(PropertyChangeEvent evt) { + getModel().setValid((Boolean) evt.getNewValue()); + } + }); + } + + @Override + public void cancel() { + closeFrame(); + } + + @Override + public void onCloseUI() { + } + + @Override + public SwingValidator<TakenByFormUIModel> getValidator() { + return getUI().getValidator(); + } + + @Override + protected JComponent getComponentToFocus() { + return getUI().getTakenByComboBox(); + } + + @Override + public Component getTopestUI() { + return getParentContainer(Window.class); + } + +} diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/TakenByFormUIModel.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/TakenByFormUIModel.java similarity index 92% rename from faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/TakenByFormUIModel.java rename to faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/TakenByFormUIModel.java index 38e0cdb8..15db1c4b 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/TakenByFormUIModel.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/TakenByFormUIModel.java @@ -1,7 +1,8 @@ -package com.franciaflex.faxtomail.ui.swing.content.demande; +package com.franciaflex.faxtomail.ui.swing.content.demande.takenby; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; import org.jdesktop.beans.AbstractSerializableBean; import java.util.List; diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/actions/TakenByAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/actions/TakenByAction.java new file mode 100644 index 00000000..63e2cc0c --- /dev/null +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/takenby/actions/TakenByAction.java @@ -0,0 +1,84 @@ +package com.franciaflex.faxtomail.ui.swing.content.demande.takenby.actions; + +/* + * #%L + * FaxToMail :: UI + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2014 Mac-Groupe, Code Lutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.franciaflex.faxtomail.persistence.entities.Email; +import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; +import com.franciaflex.faxtomail.services.service.EmailService; +import com.franciaflex.faxtomail.ui.swing.FaxToMailUIContext; +import com.franciaflex.faxtomail.ui.swing.actions.AbstractFaxToMailAction; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; +import com.franciaflex.faxtomail.ui.swing.content.demande.takenby.TakenByFormUI; +import com.franciaflex.faxtomail.ui.swing.content.demande.takenby.TakenByFormUIHandler; +import com.franciaflex.faxtomail.ui.swing.content.demande.takenby.TakenByFormUIModel; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.util.Collection; + +import static org.nuiton.i18n.I18n.t; + +/** + * @author Kevin Morin (Code Lutin) + * + */ +public class TakenByAction extends AbstractFaxToMailAction<TakenByFormUIModel, TakenByFormUI, TakenByFormUIHandler> { + + private static final Log log = LogFactory.getLog(TakenByAction.class); + + public TakenByAction(TakenByFormUIHandler handler) { + super(handler, false); + setActionDescription(t("faxtomail.action.takenBy.tip")); + } + + @Override + public void doAction() throws Exception { + FaxToMailUIContext context = getContext(); + EmailService emailService = context.newServiceContext().getEmailService(); + + FaxToMailUser user = getModel().getTakenBy(); + FaxToMailUser currentUser = context.getCurrentUser(); + + Collection<DemandeUIModel> demands = getModel().getDemandsToTake(); + for (DemandeUIModel demand : demands) { + + demand.setTakenBy(user); + + String topiaId = demand.getTopiaId(); + Email persistedEmail = emailService.getFullEmailById(topiaId); + + Email email = demand.toEntity(persistedEmail); + + email = emailService.saveEmail(email, currentUser, Email.PROPERTY_TAKEN_BY); + demand.fromEntity(email); + } + } + + @Override + public void postSuccessAction() { + super.postSuccessAction(); + handler.closeFrame(); + } +} diff --git a/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties b/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties index 6e4894b9..ae3dd5df 100644 --- a/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties +++ b/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties @@ -29,6 +29,7 @@ faxtomail.action.reply.tip=Envoyer la réponse faxtomail.action.save.tip=Enregistrer faxtomail.action.search.tip=Rechercher faxtomail.action.senderChanged.tip=Changement d'expéditeur +faxtomail.action.takenBy.tip=Pris par 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é -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm