branch develop updated (99e0b81 -> 140416b)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository faxtomail. See http://git.codelutin.com/faxtomail.git from 99e0b81 ajout de la suppression des signatures + validators new 140416b ajout de la suppression des signatures + validators 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 140416bc7156d03e1fdb630e02c60961a2f46c37 Author: Kevin Morin <morin@codelutin.com> Date: Wed Aug 26 14:24:05 2015 +0200 ajout de la suppression des signatures + validators Summary of changes: .../faxtomail/services/service/UserService.java | 1 + .../services/service/UserServiceImpl.java | 24 ++++++++++++++ .../ui/swing/content/reply/SigningSettingsUI.css | 14 ++++++-- .../ui/swing/content/reply/SigningSettingsUI.jaxx | 15 +++++---- .../content/reply/SigningSettingsUIHandler.java | 11 +++++-- .../content/reply/SigningSettingsUIModel.java | 9 +++-- .../content/reply/actions/DeleteSigningAction.java | 31 +++++++++++++++--- .../content/reply/actions/NewSigningAction.java | 2 +- .../reply/actions/OpenSigningSettingsAction.java | 2 +- .../content/reply/actions/SaveSigningAction.java | 5 +-- .../SigningSettingsUIModel-error-validation.xml | 38 +++------------------- .../i18n/faxtomail-ui-swing_fr_FR.properties | 8 ++++- 12 files changed, 103 insertions(+), 57 deletions(-) -- 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 http://git.codelutin.com/faxtomail.git commit 140416bc7156d03e1fdb630e02c60961a2f46c37 Author: Kevin Morin <morin@codelutin.com> Date: Wed Aug 26 14:24:05 2015 +0200 ajout de la suppression des signatures + validators --- .../faxtomail/services/service/UserService.java | 1 + .../services/service/UserServiceImpl.java | 24 ++++++++++++++ .../ui/swing/content/reply/SigningSettingsUI.css | 14 ++++++-- .../ui/swing/content/reply/SigningSettingsUI.jaxx | 15 +++++---- .../content/reply/SigningSettingsUIHandler.java | 11 +++++-- .../content/reply/SigningSettingsUIModel.java | 9 +++-- .../content/reply/actions/DeleteSigningAction.java | 31 +++++++++++++++--- .../content/reply/actions/NewSigningAction.java | 2 +- .../reply/actions/OpenSigningSettingsAction.java | 2 +- .../content/reply/actions/SaveSigningAction.java | 5 +-- .../SigningSettingsUIModel-error-validation.xml | 38 +++------------------- .../i18n/faxtomail-ui-swing_fr_FR.properties | 8 ++++- 12 files changed, 103 insertions(+), 57 deletions(-) diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/UserService.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/UserService.java index 1025e0a..78f2d80 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/UserService.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/UserService.java @@ -57,4 +57,5 @@ public interface UserService extends FaxToMailService { Stamp saveSigning(FaxToMailUser user, Stamp signing, boolean defaultSigning); + void deleteSigning(FaxToMailUser user, Stamp signing); } diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/UserServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/UserServiceImpl.java index d71bbf5..9cf99f1 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/UserServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/UserServiceImpl.java @@ -122,4 +122,28 @@ public class UserServiceImpl extends FaxToMailServiceSupport implements UserServ return signing; } + + @Override + public void deleteSigning(FaxToMailUser user, Stamp signing) { + Preconditions.checkNotNull(user); + Preconditions.checkNotNull(signing); + Preconditions.checkArgument(!signing.isPersisted() || user.containsSignings(signing)); + + + if (signing.isPersisted()) { + StampTopiaDao stampDao = getPersistenceContext().getStampDao(); + FaxToMailUserTopiaDao userDao = getPersistenceContext().getFaxToMailUserDao(); + + user.removeSignings(signing); + if (signing.equals(user.getDefaultSigning())) { + user.setDefaultSigning(null); + } + userDao.update(user); + + stampDao.delete(signing); + + getPersistenceContext().commit(); + } + + } } diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUI.css b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUI.css index 3501fd4..4baf2ea 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUI.css +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUI.css @@ -60,6 +60,8 @@ #noSigningSelected { text: "faxtomail.signings.settings.noSelection.label"; + horizontalAlignment: { SwingConstants.CENTER }; + enabled: false; } #cancelButton { @@ -73,7 +75,7 @@ text: "faxtomail.signings.settings.action.save"; toolTipText: "faxtomail.signings.settings.action.save.tip"; _applicationAction: { com.franciaflex.faxtomail.ui.swing.content.reply.actions.SaveSigningAction.class }; - enabled: { model.getSelectedSigning() != null && model.isModified() }; + enabled: { model.getSelectedSigning() != null && model.isModified() && validator.isValid() }; } #setDefaultButton { @@ -81,5 +83,13 @@ text: "faxtomail.signings.settings.action.default"; toolTipText: "faxtomail.signings.settings.action.default.tip"; _applicationAction: { com.franciaflex.faxtomail.ui.swing.content.reply.actions.SetDefaultSigningAction.class }; - enabled: { model.isSetDefaultButtonEnabled() }; + enabled: { model.isSetDefaultButtonEnabled() && validator.isValid() }; +} + +#deleteButton { + actionIcon: delete; + text: "faxtomail.signings.settings.action.delete"; + toolTipText: "faxtomail.signings.settings.action.delete.tip"; + _applicationAction: { com.franciaflex.faxtomail.ui.swing.content.reply.actions.DeleteSigningAction.class }; + enabled: { model.getSelectedSigning() != null }; } \ No newline at end of file diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUI.jaxx b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUI.jaxx index 26afbfa..8045303 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUI.jaxx +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUI.jaxx @@ -35,13 +35,11 @@ <SigningSettingsUIModel id='model' initializer='getContextValue(SigningSettingsUIModel.class)'/> - <!--<BeanValidator id='validator' bean='model'--> - <!--uiClass='jaxx.runtime.validator.swing.ui.ImageValidationUI'>--> - <!--<field name='from' component='fromComboBox'/>--> - <!--<field name='to' component='toField'/>--> - <!--<field name='subject' component='subjectField'/>--> - <!--<field name='totalAttachmentLength' component="attachmentsPanel"/>--> - <!--</BeanValidator>--> + <BeanValidator id='validator' bean='model' + uiClass='jaxx.runtime.validator.swing.ui.ImageValidationUI'> + <field name='selectedSigningName' component='nameField'/> + <field name='selectedSigningText' component='textField'/> + </BeanValidator> <CardLayout2Ext id='signingPanelLayout' constructorParams='this, "signingPanel"'/> @@ -67,6 +65,7 @@ <JPanel id="signingPanel" layout="{ signingPanelLayout }" constraints="BorderLayout.CENTER"> + <Table constraints='"true"'> <row> <cell> @@ -94,7 +93,9 @@ <JButton id="cancelButton" onActionPerformed="handler.cancel()"/> <JButton id="saveButton"/> <JButton id="setDefaultButton"/> + <JButton id="deleteButton"/> </JPanel> + </JPanel> </JSplitPane> diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUIHandler.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUIHandler.java index 3726c13..b90997a 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUIHandler.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUIHandler.java @@ -126,7 +126,8 @@ public class SigningSettingsUIHandler extends AbstractFaxToMailUIHandler<Signing Stamp selectedValue = list.getSelectedValue(); model.setSelectedSigning(selectedValue); - model.setSelectedSigningDefault(selectedValue.equals(getContext().getCurrentUser().getDefaultSigning())); + model.setSelectedSigningDefault(selectedValue != null && + selectedValue.equals(getContext().getCurrentUser().getDefaultSigning())); } } }); @@ -142,9 +143,15 @@ public class SigningSettingsUIHandler extends AbstractFaxToMailUIHandler<Signing public void onCloseUI() { } + + @Override + public Component getTopestUI() { + return getUI(); + } + @Override public SwingValidator<SigningSettingsUIModel> getValidator() { - return null; + return getUI().getValidator(); } @Override diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUIModel.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUIModel.java index c9ffc80..9c78e38 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUIModel.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUIModel.java @@ -62,8 +62,8 @@ public class SigningSettingsUIModel extends AbstractSerializableBean { this.selectedSigning = selectedSigning; firePropertyChange(PROPERTY_SELECTED_SIGNING, oldValue, selectedSigning); - setSelectedSigningName(selectedSigning.getLabel()); - setSelectedSigningText(selectedSigning.getText()); + setSelectedSigningName(selectedSigning != null ? selectedSigning.getLabel() : ""); + setSelectedSigningText(selectedSigning != null ? selectedSigning.getText() : ""); setModified(false); updateSetDefaultButtonEnabled(); @@ -86,6 +86,11 @@ public class SigningSettingsUIModel extends AbstractSerializableBean { firePropertyChange(PROPERTY_SIGNINGS, null, this.signings); } + public void removeSigning(Stamp signing) { + this.signings.remove(signing); + firePropertyChange(PROPERTY_SIGNINGS, null, this.signings); + } + public String getSelectedSigningName() { return selectedSigningName; } diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/DeleteSigningAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/DeleteSigningAction.java index 41f1b74..a0f0cc3 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/DeleteSigningAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/DeleteSigningAction.java @@ -34,6 +34,8 @@ import com.franciaflex.faxtomail.ui.swing.content.reply.SigningSettingsUIModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import static org.nuiton.i18n.I18n.t; + /** * @author Kevin Morin (Code Lutin) * @since 1.4 @@ -50,24 +52,43 @@ public class DeleteSigningAction extends AbstractFaxToMailAction<SigningSettings } @Override + public boolean prepareAction() throws Exception { + boolean result = super.prepareAction(); + + if (result) { + result = askBeforeDelete(t("faxtomail.signings.settings.action.delete.confirm.title"), + t("faxtomail.signings.settings.action.delete.confirm.message", + getModel().getSelectedSigningName())); + } + + return result; + } + + @Override public void doAction() throws Exception { SigningSettingsUIModel model = getModel(); Stamp signing = model.getSelectedSigning(); - signing.setLabel(model.getSelectedSigningName()); - signing.setText(model.getSelectedSigningText()); FaxToMailUser user = getContext().getCurrentUser(); UserService userService = getContext().newServiceContext().getUserService(); - userService.saveSigning(user, signing, user.isSigningsEmpty()); + userService.deleteSigning(user, signing); } @Override public void postSuccessAction() { super.postSuccessAction(); - getModel().updateSetDefaultButtonEnabled(); - getModel().setModified(false); + + SigningSettingsUIModel model = getModel(); + model.setModified(false); + + Stamp selectedSigning = model.getSelectedSigning(); + model.setSelectedSigning(null); + model.removeSigning(selectedSigning); + + model.updateSetDefaultButtonEnabled(); + getUI().getSigningList().repaint(); } } diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/NewSigningAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/NewSigningAction.java index 2d21658..487fe99 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/NewSigningAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/NewSigningAction.java @@ -69,9 +69,9 @@ public class NewSigningAction extends AbstractFaxToMailAction<SigningSettingsUIM SigningSettingsUIModel model = getModel(); model.addSigning(newSigning); + newSigning.setLabel(t("faxtomail.signings.settings.action.newSigning.name")); model.setSelectedSigning(newSigning); model.setSelectedSigningDefault(false); - model.setSelectedSigningName(t("faxtomail.signings.settings.action.newSigning.name")); model.updateSetDefaultButtonEnabled(); } diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/OpenSigningSettingsAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/OpenSigningSettingsAction.java index 18d9522..5890fab 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/OpenSigningSettingsAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/OpenSigningSettingsAction.java @@ -63,7 +63,7 @@ public class OpenSigningSettingsAction extends AbstractFaxToMailAction<ReplyForm super.postSuccessAction(); SigningSettingsUI signingSettingsUI = new SigningSettingsUI(getUI()); - handler.openDialog(signingSettingsUI, t("faxtomail.signings.settings.title"), new Dimension(600, 400)); + handler.openDialog(signingSettingsUI, t("faxtomail.signings.settings.title"), new Dimension(700, 400)); List<Stamp> signings = signingSettingsUI.getModel().getSignings(); getContext().getCurrentUser().setSignings(signings); diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/SaveSigningAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/SaveSigningAction.java index db3ed7b..976cdee 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/SaveSigningAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/SaveSigningAction.java @@ -66,8 +66,9 @@ public class SaveSigningAction extends AbstractFaxToMailAction<SigningSettingsUI @Override public void postSuccessAction() { super.postSuccessAction(); - getModel().updateSetDefaultButtonEnabled(); - getModel().setModified(false); + SigningSettingsUIModel model = getModel(); + model.updateSetDefaultButtonEnabled(); + model.setModified(false); getUI().getSigningList().repaint(); } } diff --git a/faxtomail-ui-swing/src/main/resources/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUIModel-error-validation.xml b/faxtomail-ui-swing/src/main/resources/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUIModel-error-validation.xml index 73b90d8..ecd3d6f 100644 --- a/faxtomail-ui-swing/src/main/resources/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUIModel-error-validation.xml +++ b/faxtomail-ui-swing/src/main/resources/com/franciaflex/faxtomail/ui/swing/content/reply/SigningSettingsUIModel-error-validation.xml @@ -29,45 +29,15 @@ <validators> - <field name="to"> + <field name="selectedSigningName"> <field-validator type="requiredstring" short-circuit="true"> - <message>faxtomail.validator.error.reply.to.required</message> - </field-validator> - <field-validator type="emails" short-circuit="true"> - <message>faxtomail.validator.error.reply.to.email</message> - </field-validator> - </field> - - <field name="cc"> - <field-validator type="emails" short-circuit="true"> - <message>faxtomail.validator.error.reply.cc.email</message> + <message>faxtomail.validator.error.signingSettings.name.required</message> </field-validator> </field> - <field name="cci"> - <field-validator type="emails" short-circuit="true"> - <message>faxtomail.validator.error.reply.cci.email</message> - </field-validator> - </field> - - <field name="from"> - <field-validator type="requiredstring" short-circuit="true"> - <message>faxtomail.validator.error.reply.from.required</message> - </field-validator> - <field-validator type="fieldexpression" short-circuit="true"> - <param name="expression"> - <![CDATA[ isValid("from") ]]> - </param> - <message>faxtomail.validator.error.reply.from.invalidDomain</message> - </field-validator> - <field-validator type="email" short-circuit="true"> - <message>faxtomail.validator.error.reply.from.email</message> - </field-validator> - </field> - - <field name="subject"> + <field name="selectedSigningText"> <field-validator type="requiredstring" short-circuit="true"> - <message>faxtomail.validator.error.reply.subject.required</message> + <message>faxtomail.validator.error.signingSettings.text.required</message> </field-validator> </field> 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 9f05d21..50357dc 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 @@ -322,6 +322,10 @@ faxtomail.signings.settings.action.cancel=Fermer faxtomail.signings.settings.action.cancel.tip=Fermer la configuration des signatures sans enregistrer faxtomail.signings.settings.action.default=Par défault faxtomail.signings.settings.action.default.tip=Signature par défault +faxtomail.signings.settings.action.delete=Supprimer +faxtomail.signings.settings.action.delete.confirm.message=Vous êtes sur le point de supprimer la signature %s. +faxtomail.signings.settings.action.delete.confirm.title=Suppression de signature +faxtomail.signings.settings.action.delete.tip=Supprimer la signature faxtomail.signings.settings.action.newSigning.name=Nouvelle signature faxtomail.signings.settings.action.newSigning.tip=Créer une nouvelle signature faxtomail.signings.settings.action.save=Enregistrer @@ -329,7 +333,7 @@ faxtomail.signings.settings.action.save.tip=Enregistrer les modifications faites faxtomail.signings.settings.label=Signatures faxtomail.signings.settings.name.label=Nom faxtomail.signings.settings.noSelection.label=Sélectionnez une signature pour l'éditer -faxtomail.signings.settings.saveBeforeLeaving=Vous avez modifié la signature. +faxtomail.signings.settings.saveBeforeLeaving=Vous avez modifié la signature %s. Voulez-vous l'enregistrer avant d'éditer une autre signature ? faxtomail.signings.settings.text.label=Texte faxtomail.signings.settings.title=Configuration des signatures faxtomail.systemUser=Système @@ -350,6 +354,8 @@ faxtomail.validator.error.reply.from.required= 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.signingSettings.name.required= +faxtomail.validator.error.signingSettings.text.required= jaxx.application.error.cannot.mail=Erreur lors de l'ouverture du client mail jaxx.application.error.cannot.open=Erreur lors de l'ouverture de la pièce jointe jaxx.application.error.cannot.print=Erreur lors de l'impression -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm