branch feature/7419 updated (53ec3ff -> 0810bf0)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7419 in repository faxtomail. See http://git.codelutin.com/faxtomail.git from 53ec3ff ajout de la signature dans le formulaire de réponse + début d'écran de configuration des signatures (refs #7419) new 0810bf0 - modif du modèle de signatures (plus de Signing, directement des stamp et un lien entre le stamp et le user pour le default) - enregistrement des signatures et mise par défaut refs #7419 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 0810bf027973d5c82750fa6d6e67e35624d7024a Author: Kevin Morin <morin@codelutin.com> Date: Tue Aug 25 18:29:50 2015 +0200 - modif du modèle de signatures (plus de Signing, directement des stamp et un lien entre le stamp et le user pour le default) - enregistrement des signatures et mise par défaut refs #7419 Summary of changes: faxtomail-persistence/src/main/xmi/faxtomail.zargo | Bin 32665 -> 32540 bytes .../faxtomail/services/DecoratorServiceImpl.java | 13 --- .../services/service/LdapServiceImpl.java | 2 +- .../faxtomail/services/service/UserService.java | 4 + .../services/service/UserServiceImpl.java | 31 +++++++ .../services/service/ldap/LdapServiceMock.java | 3 +- .../h2/V1_4_0_150817__add_signings_to_users.sql | 27 ++----- .../V1_4_0_150817__add_signings_to_users.sql | 29 ++----- .../ui/swing/actions/OpenGroupedDemandAction.java | 13 +-- .../ui/swing/content/reply/ReplyFormUI.css | 11 +-- .../ui/swing/content/reply/ReplyFormUI.jaxx | 6 +- .../ui/swing/content/reply/ReplyFormUIHandler.java | 28 +++---- .../ui/swing/content/reply/ReplyFormUIModel.java | 18 ++--- .../ui/swing/content/reply/SigningSettingsUI.css | 6 +- .../ui/swing/content/reply/SigningSettingsUI.jaxx | 4 +- .../content/reply/SigningSettingsUIHandler.java | 90 +++++++++++++++++++-- .../content/reply/SigningSettingsUIModel.java | 77 +++++++++++++++--- .../content/reply/actions/NewSigningAction.java | 21 +++-- .../reply/actions/OpenSigningSettingsAction.java | 12 ++- .../content/reply/actions/SaveSigningAction.java | 49 +++++++++++ .../reply/actions/SetDefaultSigningAction.java | 50 ++++++++++++ .../i18n/faxtomail-ui-swing_fr_FR.properties | 5 +- 22 files changed, 358 insertions(+), 141 deletions(-) create mode 100644 faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/SaveSigningAction.java create mode 100644 faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/SetDefaultSigningAction.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 feature/7419 in repository faxtomail. See http://git.codelutin.com/faxtomail.git commit 0810bf027973d5c82750fa6d6e67e35624d7024a Author: Kevin Morin <morin@codelutin.com> Date: Tue Aug 25 18:29:50 2015 +0200 - modif du modèle de signatures (plus de Signing, directement des stamp et un lien entre le stamp et le user pour le default) - enregistrement des signatures et mise par défaut refs #7419 --- faxtomail-persistence/src/main/xmi/faxtomail.zargo | Bin 32665 -> 32540 bytes .../faxtomail/services/DecoratorServiceImpl.java | 13 --- .../services/service/LdapServiceImpl.java | 2 +- .../faxtomail/services/service/UserService.java | 4 + .../services/service/UserServiceImpl.java | 31 +++++++ .../services/service/ldap/LdapServiceMock.java | 3 +- .../h2/V1_4_0_150817__add_signings_to_users.sql | 27 ++----- .../V1_4_0_150817__add_signings_to_users.sql | 29 ++----- .../ui/swing/actions/OpenGroupedDemandAction.java | 13 +-- .../ui/swing/content/reply/ReplyFormUI.css | 11 +-- .../ui/swing/content/reply/ReplyFormUI.jaxx | 6 +- .../ui/swing/content/reply/ReplyFormUIHandler.java | 28 +++---- .../ui/swing/content/reply/ReplyFormUIModel.java | 18 ++--- .../ui/swing/content/reply/SigningSettingsUI.css | 6 +- .../ui/swing/content/reply/SigningSettingsUI.jaxx | 4 +- .../content/reply/SigningSettingsUIHandler.java | 90 +++++++++++++++++++-- .../content/reply/SigningSettingsUIModel.java | 77 +++++++++++++++--- .../content/reply/actions/NewSigningAction.java | 21 +++-- .../reply/actions/OpenSigningSettingsAction.java | 12 ++- .../content/reply/actions/SaveSigningAction.java | 49 +++++++++++ .../reply/actions/SetDefaultSigningAction.java | 50 ++++++++++++ .../i18n/faxtomail-ui-swing_fr_FR.properties | 5 +- 22 files changed, 358 insertions(+), 141 deletions(-) diff --git a/faxtomail-persistence/src/main/xmi/faxtomail.zargo b/faxtomail-persistence/src/main/xmi/faxtomail.zargo index f89ff84..dc84d52 100644 Binary files a/faxtomail-persistence/src/main/xmi/faxtomail.zargo and b/faxtomail-persistence/src/main/xmi/faxtomail.zargo differ diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/DecoratorServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/DecoratorServiceImpl.java index f4c78f9..18c6ceb 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/DecoratorServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/DecoratorServiceImpl.java @@ -30,11 +30,9 @@ import com.franciaflex.faxtomail.persistence.entities.Client; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; import com.franciaflex.faxtomail.persistence.entities.HasLabel; import com.franciaflex.faxtomail.persistence.entities.Reply; -import com.franciaflex.faxtomail.persistence.entities.Signing; import com.franciaflex.faxtomail.services.service.ldap.Contact; import org.nuiton.decorator.Decorator; import org.nuiton.decorator.DecoratorProvider; -import org.nuiton.decorator.JXPathDecorator; import java.text.DateFormat; import java.util.Date; @@ -142,17 +140,6 @@ public class DecoratorServiceImpl extends FaxToMailServiceSupport implements Dec registerMultiJXPathDecorator(Reply.class, "${sentDate}$s#${subject}$s", SEPARATOR, " - "); registerMultiJXPathDecorator(FaxToMailUser.class, "${lastName}$s#${firstName}$s#${trigraph}$s", SEPARATOR, " "); registerMultiJXPathDecorator(Client.class, "${code}$s#${name}$s#${brand}$s", SEPARATOR, " - "); - registerDecorator(new JXPathDecorator<Signing>(Signing.class, "", null) { - private static final long serialVersionUID = 1L; - - @Override - public String toString(Object bean) { - if (bean == null) { - return ""; - } - return ((Signing) bean).getStamp().getLabel(); - } - }); } }; } diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/LdapServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/LdapServiceImpl.java index 4ec9421..9045b20 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/LdapServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/LdapServiceImpl.java @@ -390,7 +390,7 @@ public class LdapServiceImpl extends FaxToMailServiceSupport implements LdapServ // force collection loading to force non lazy collections user.isAffectedFoldersEmpty(); user.isUserGroupsEmpty(); - user.isStampSigningEmpty(); + user.isSigningsEmpty(); return user; } 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 9dbb6bf..1025e0a 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 @@ -26,6 +26,7 @@ package com.franciaflex.faxtomail.services.service; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUserGroup; +import com.franciaflex.faxtomail.persistence.entities.Stamp; import com.franciaflex.faxtomail.services.FaxToMailService; import java.util.List; @@ -53,4 +54,7 @@ public interface UserService extends FaxToMailService { List<FaxToMailUserGroup> getAllActiveUserGroups(); FaxToMailUser getUser(String topiaId); + + Stamp saveSigning(FaxToMailUser user, Stamp signing, boolean defaultSigning); + } 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 ab10244..d71bbf5 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 @@ -28,7 +28,10 @@ import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUserGroup; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUserGroupTopiaDao; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUserTopiaDao; +import com.franciaflex.faxtomail.persistence.entities.Stamp; +import com.franciaflex.faxtomail.persistence.entities.StampTopiaDao; import com.franciaflex.faxtomail.services.FaxToMailServiceSupport; +import com.google.common.base.Preconditions; import org.hibernate.Hibernate; import java.util.List; @@ -91,4 +94,32 @@ public class UserServiceImpl extends FaxToMailServiceSupport implements UserServ Hibernate.initialize(user.getAffectedFolders()); return user; } + + @Override + public Stamp saveSigning(FaxToMailUser user, Stamp signing, boolean defaultSigning) { + Preconditions.checkNotNull(user); + Preconditions.checkNotNull(signing); + Preconditions.checkArgument(!signing.isPersisted() || user.containsSignings(signing)); + + StampTopiaDao stampDao = getPersistenceContext().getStampDao(); + FaxToMailUserTopiaDao userDao = getPersistenceContext().getFaxToMailUserDao(); + + if (signing.isPersisted()) { + stampDao.update(signing); + + } else { + stampDao.create(signing); + user.addSignings(signing); + userDao.update(user); + } + + if (defaultSigning) { + user.setDefaultSigning(signing); + userDao.update(user); + } + + getPersistenceContext().commit(); + + return signing; + } } diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ldap/LdapServiceMock.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ldap/LdapServiceMock.java index 2771fed..fe29972 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ldap/LdapServiceMock.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ldap/LdapServiceMock.java @@ -109,7 +109,8 @@ public class LdapServiceMock extends LdapServiceImpl { // force collection loading to force non lazy collections result.isAffectedFoldersEmpty(); result.isUserGroupsEmpty(); - result.isStampSigningEmpty(); + result.isSigningsEmpty(); + return result; } } diff --git a/faxtomail-service/src/main/resources/db/migration/h2/V1_4_0_150817__add_signings_to_users.sql b/faxtomail-service/src/main/resources/db/migration/h2/V1_4_0_150817__add_signings_to_users.sql index 6362b12..2404832 100644 --- a/faxtomail-service/src/main/resources/db/migration/h2/V1_4_0_150817__add_signings_to_users.sql +++ b/faxtomail-service/src/main/resources/db/migration/h2/V1_4_0_150817__add_signings_to_users.sql @@ -1,25 +1,5 @@ -- add signings -create table SIGNING ( - topiaId varchar(255) not null, - topiaVersion bigint not null, - topiaCreateDate timestamp, - defaultsigning boolean, - stamp varchar(255), - faxtomailuser varchar(255), - primary key (topiaId) -); - -alter table SIGNING - add constraint FK_GD2AAMHXEMVLK1YBJO29P2GE5_INDEX_A - foreign key (faxtomailuser) - references faxtomailuser; - -alter table SIGNING - add constraint FK_QACW13RQL32JL97IM0EOHSL4Y_INDEX_A - foreign key (stamp) - references stamp; - alter table stamp add signing boolean; alter table stamp add faxtomailuser varchar(255); @@ -30,3 +10,10 @@ alter table stamp update stamp set signing = 'f'; +-- add default signing + +alter table faxtomailuser add defaultsigning varchar(255); +alter table faxtomailuser + add constraint FK_CDWL91T1FPNO1PW07532VPN21_INDEX_7 + foreign key (defaultsigning) + references stamp; diff --git a/faxtomail-service/src/main/resources/db/migration/sqlserver/V1_4_0_150817__add_signings_to_users.sql b/faxtomail-service/src/main/resources/db/migration/sqlserver/V1_4_0_150817__add_signings_to_users.sql index 62e34ae..3b9c353 100644 --- a/faxtomail-service/src/main/resources/db/migration/sqlserver/V1_4_0_150817__add_signings_to_users.sql +++ b/faxtomail-service/src/main/resources/db/migration/sqlserver/V1_4_0_150817__add_signings_to_users.sql @@ -1,28 +1,8 @@ -- add signings -create table SIGNING ( - topiaId varchar(255) not null, - topiaVersion bigint not null, - topiaCreateDate datetime2, - defaultsigning bit, - stamp varchar(255), - faxtomailuser varchar(255), - primary key (topiaId) -); - -alter table SIGNING - add constraint FK_GD2AAMHXEMVLK1YBJO29P2GE5_INDEX_A - foreign key (faxtomailuser) - references faxtomailuser; - -alter table SIGNING - add constraint FK_QACW13RQL32JL97IM0EOHSL4Y_INDEX_A - foreign key (stamp) - references stamp; - alter table stamp add signing bit; -alter table stamp add faxtomailuser varchar(255); +alter table stamp add faxtomailuser varchar(255); alter table stamp add constraint FK_KPY7QI4OX3LIY20GRSP7D449M_INDEX_4 foreign key (faxtomailuser) @@ -30,3 +10,10 @@ alter table stamp update stamp set signing = 0; +-- add default signing + +alter table faxtomailuser add defaultsigning varchar(255); +alter table faxtomailuser + add constraint FK_CDWL91T1FPNO1PW07532VPN21_INDEX_7 + foreign key (defaultsigning) + references stamp; \ No newline at end of file diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/OpenGroupedDemandAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/OpenGroupedDemandAction.java index d8bc25d..eab1fc3 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/OpenGroupedDemandAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/OpenGroupedDemandAction.java @@ -27,23 +27,18 @@ package com.franciaflex.faxtomail.ui.swing.actions; import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; import com.franciaflex.faxtomail.persistence.entities.MailFolder; -import com.franciaflex.faxtomail.persistence.entities.RangeRow; import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import com.franciaflex.faxtomail.services.service.EmailService; import com.franciaflex.faxtomail.services.service.exceptions.AlreadyLockedMailException; import com.franciaflex.faxtomail.services.service.exceptions.FolderNotReadableException; -import com.franciaflex.faxtomail.ui.swing.content.MainUIHandler; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandesUI; -import com.franciaflex.faxtomail.ui.swing.content.demande.RangeRowModel; import com.franciaflex.faxtomail.ui.swing.content.demande.demandgroup.DemandGroupUI; import com.franciaflex.faxtomail.ui.swing.content.demande.demandgroup.DemandGroupUIHandler; import org.apache.commons.lang3.StringUtils; import org.nuiton.jaxx.application.swing.AbstractApplicationUIHandler; import javax.swing.*; -import java.util.ArrayList; -import java.util.Collection; import static org.nuiton.i18n.I18n.t; @@ -65,8 +60,8 @@ public class OpenGroupedDemandAction extends AbstractFaxToMailAction<DemandeUIMo public boolean prepareAction() throws Exception { boolean result = super.prepareAction(); - MainUIHandler mainUIHandler = getContext().getMainUI().getHandler(); - DemandesUI parentContainer = (DemandesUI) mainUIHandler.getCurrentBody(); + JFrame currentFrame = getContext().getFrameForDemande(getModel()); + DemandesUI parentContainer = (DemandesUI) currentFrame.getContentPane(); if (parentContainer.getModel().containsDemand(demandToOpen)) { openDemandScreen(); result = false; @@ -175,8 +170,8 @@ public class OpenGroupedDemandAction extends AbstractFaxToMailAction<DemandeUIMo } protected void openDemandScreen() { - MainUIHandler mainUIHandler = getContext().getMainUI().getHandler(); - DemandesUI parentContainer = (DemandesUI) mainUIHandler.getCurrentBody(); + JFrame currentFrame = getContext().getFrameForDemande(getModel()); + DemandesUI parentContainer = (DemandesUI) currentFrame.getContentPane(); parentContainer.getModel().addDemand(demandToOpen); } } diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.css b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.css index 4cd1704..7389a8a 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.css +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.css @@ -121,26 +121,27 @@ editable: { !model.isReadonly() }; } -#signingComboBox { +#stampComboBox { showReset: true; showDecorator: false; bean: {model}; - property: signing; - selectedItem: { model.getSigning() }; + property: stamp; + selectedItem: { model.getStamp() }; } #configureSigningButton { - actionIcon: config; + actionIcon: settings; toolTipText: "faxtomail.reply.action.signing.configure.tip"; _applicationAction: { com.franciaflex.faxtomail.ui.swing.content.reply.actions.OpenSigningSettingsAction.class }; } #signingScrollPanel { - visible: { model.getSigning() != null }; + visible: { model.getStamp() != null }; } #signingPanel { editable: false; + text: { model.getStamp().getText() }; } #attachmentsPanel { diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.jaxx b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.jaxx index fb7b213..b9785cf 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.jaxx +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.jaxx @@ -23,7 +23,7 @@ implements='com.franciaflex.faxtomail.ui.swing.util.FaxToMailUI<ReplyFormUIModel, ReplyFormUIHandler>'> <import> - com.franciaflex.faxtomail.persistence.entities.Signing + com.franciaflex.faxtomail.persistence.entities.Stamp com.franciaflex.faxtomail.services.service.ldap.Contact com.franciaflex.faxtomail.ui.swing.util.FaxToMailUI com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil @@ -159,9 +159,9 @@ <Table fill="both"> <row> <cell weightx="1"> - <BeanComboBox id="signingComboBox" + <BeanComboBox id="stampComboBox" constructorParams='this' - genericType="Signing"/> + genericType="Stamp"/> </cell> <cell> <JButton id="configureSigningButton"/> diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java index 497aa67..a2f4c59 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java @@ -28,23 +28,20 @@ import com.franciaflex.faxtomail.persistence.entities.Attachment; import com.franciaflex.faxtomail.persistence.entities.AttachmentFile; import com.franciaflex.faxtomail.persistence.entities.AttachmentFileImpl; import com.franciaflex.faxtomail.persistence.entities.AttachmentImpl; +import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; import com.franciaflex.faxtomail.persistence.entities.MailFolder; -import com.franciaflex.faxtomail.persistence.entities.Signing; +import com.franciaflex.faxtomail.persistence.entities.Stamp; import com.franciaflex.faxtomail.services.service.ldap.Contact; import com.franciaflex.faxtomail.ui.swing.actions.AddAttachmentToReplyAction; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler; import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil; -import com.google.common.base.Optional; -import com.google.common.base.Predicate; import com.google.common.base.Strings; -import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import jaxx.runtime.JAXXUtil; import jaxx.runtime.SwingUtil; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.io.FileUtils; -import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -211,23 +208,16 @@ public class ReplyFormUIHandler extends AbstractFaxToMailUIHandler<ReplyFormUIMo } }); - Collection<Signing> stampSigning = getContext().getCurrentUser().getStampSigning(); - List<Signing> signings = new ArrayList<>(); + FaxToMailUser currentUser = getContext().getCurrentUser(); + Collection<Stamp> userStamps = currentUser.getSignings(); + List<Stamp> stamps = new ArrayList<>(); - if (stampSigning != null) { - signings.addAll(stampSigning); - Optional<Signing> signingOptional = Iterables.tryFind(stampSigning, new Predicate<Signing>() { - @Override - public boolean apply(Signing input) { - return BooleanUtils.isTrue(input.getDefaultSigning()); - } - }); - if (signingOptional.isPresent()) { - model.setSigning(signingOptional.get()); - } + if (userStamps != null) { + stamps.addAll(userStamps); + model.setStamp(currentUser.getDefaultSigning()); } - initBeanComboBox(ui.getSigningComboBox(), signings, model.getSigning()); + initBeanComboBox(ui.getStampComboBox(), stamps, model.getStamp()); } @Override diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIModel.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIModel.java index fa51d61..4deecc8 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIModel.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIModel.java @@ -24,7 +24,7 @@ package com.franciaflex.faxtomail.ui.swing.content.reply; * #L% */ -import com.franciaflex.faxtomail.persistence.entities.Signing; +import com.franciaflex.faxtomail.persistence.entities.Stamp; import com.franciaflex.faxtomail.services.service.ldap.Contact; import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; import com.google.common.base.Preconditions; @@ -54,7 +54,7 @@ public class ReplyFormUIModel extends AbstractSerializableBean { public static final String PROPERTY_SUBJECT = "subject"; public static final String PROPERTY_MESSAGE = "message"; public static final String PROPERTY_ORIGINAL_DEMAND = "originalDemand"; - public static final String PROPERTY_SIGNING = "signing"; + public static final String PROPERTY_STAMP = "stamp"; public static final String PROPERTY_ATTACHMENT = "attachment"; public static final String PROPERTY_MAX_ATTACHMENT_LENGTH = "maxAttachmentLength"; public static final String PROPERTY_TOTAL_ATTACHMENT_LENGTH = "totalAttachmentLength"; @@ -73,7 +73,7 @@ public class ReplyFormUIModel extends AbstractSerializableBean { protected String subject; protected String message; protected DemandeUIModel originalDemand; - protected Signing signing; + protected Stamp stamp; protected long maxAttachmentLength = 0; protected long totalAttachmentLength = 0; protected boolean valid = true; @@ -180,14 +180,14 @@ public class ReplyFormUIModel extends AbstractSerializableBean { firePropertyChange(PROPERTY_ORIGINAL_DEMAND, oldValue, originalDemand); } - public Signing getSigning() { - return signing; + public Stamp getStamp() { + return stamp; } - public void setSigning(Signing signing) { - Object oldValue = getSigning(); - this.signing = signing; - firePropertyChange(PROPERTY_SIGNING, oldValue, signing); + public void setStamp(Stamp stamp) { + Object oldValue = getStamp(); + this.stamp = stamp; + firePropertyChange(PROPERTY_STAMP, oldValue, stamp); } public Set<ReplyAttachmentModel> getAttachments() { 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 6d3f5ed..15c8e8f 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 @@ -49,12 +49,14 @@ actionIcon: save; text: "faxtomail.signings.settings.action.save"; toolTipText: "faxtomail.signings.settings.action.save.tip"; - //_applicationAction: { com.franciaflex.faxtomail.ui.swing.actions.ReplyAction.class }; + _applicationAction: { com.franciaflex.faxtomail.ui.swing.content.reply.actions.SaveSigningAction.class }; + enabled: { model.getSelectedSigning() != null && model.isModified() }; } #setDefaultButton { actionIcon: default; text: "faxtomail.signings.settings.action.default"; toolTipText: "faxtomail.signings.settings.action.default.tip"; - //_applicationAction: { com.franciaflex.faxtomail.ui.swing.actions.ReplyAction.class }; + _applicationAction: { com.franciaflex.faxtomail.ui.swing.content.reply.actions.SetDefaultSigningAction.class }; + enabled: { model.isSetDefaultButtonEnabled() }; } \ 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 860fee1..26afbfa 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 @@ -23,7 +23,7 @@ implements='com.franciaflex.faxtomail.ui.swing.util.FaxToMailUI<SigningSettingsUIModel, SigningSettingsUIHandler>'> <import> - com.franciaflex.faxtomail.persistence.entities.Signing + com.franciaflex.faxtomail.persistence.entities.Stamp com.franciaflex.faxtomail.ui.swing.util.FaxToMailUI com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil @@ -57,7 +57,7 @@ </row> <row> <cell columns="2" weighty="1.0" fill="both"> - <JList id="signingList" genericType="Signing"/> + <JList id="signingList" genericType="Stamp"/> </cell> </row> </Table> 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 234e5c7..f0723e7 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 @@ -1,23 +1,37 @@ package com.franciaflex.faxtomail.ui.swing.content.reply; -import com.franciaflex.faxtomail.persistence.entities.Signing; +import com.franciaflex.faxtomail.persistence.entities.Stamp; +import com.franciaflex.faxtomail.ui.swing.content.reply.actions.SaveSigningAction; import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailUIHandler; +import jaxx.runtime.swing.renderer.DecoratorListCellRenderer; import jaxx.runtime.validator.swing.SwingValidator; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.decorator.Decorator; import org.nuiton.jaxx.application.swing.util.Cancelable; import javax.swing.*; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; import java.awt.*; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.Collection; import java.util.List; +import static org.nuiton.i18n.I18n.t; + /** * @author Kevin Morin (Code Lutin) * @since 1.4 */ public class SigningSettingsUIHandler extends AbstractFaxToMailUIHandler<SigningSettingsUIModel, SigningSettingsUI> implements Cancelable { + /** + * Logger. + */ + private static final Log log = LogFactory.getLog(SigningSettingsUIHandler.class); + @Override public void beforeInit(SigningSettingsUI ui) { super.beforeInit(ui); @@ -36,16 +50,63 @@ public class SigningSettingsUIHandler extends AbstractFaxToMailUIHandler<Signing @Override public void propertyChange(PropertyChangeEvent evt) { - List<Signing> signings = (List<Signing>) evt.getNewValue(); - JList<Signing> signingList = getUI().getSigningList(); - signingList.setListData(signings.toArray(new Signing[signings.size()])); + List<Stamp> signings = (List<Stamp>) evt.getNewValue(); + JList<Stamp> signingList = getUI().getSigningList(); + signingList.setListData(signings.toArray(new Stamp[signings.size()])); + } + }); + + model.addPropertyChangeListener(SigningSettingsUIModel.PROPERTY_SELECTED_SIGNING, new PropertyChangeListener() { + @Override + public void propertyChange(PropertyChangeEvent evt) { + getUI().getSigningList().setSelectedValue(evt.getNewValue(), true); } }); - Collection<Signing> stampSigning = getContext().getCurrentUser().getStampSigning(); + Collection<Stamp> stampSigning = getContext().getCurrentUser().getSignings(); model.setSignings(stampSigning); - getUI().getSigningList().setCellRenderer(newListCellRender(Signing.class)); + JList<Stamp> signingList = getUI().getSigningList(); + + Decorator<Stamp> signingDecorator = getDecorator(Stamp.class, null); + ListCellRenderer listCellRenderer = new SigningListCellRenderer(signingDecorator); + signingList.setCellRenderer(listCellRenderer); + + signingList.addListSelectionListener(new ListSelectionListener() { + @Override + public void valueChanged(ListSelectionEvent e) { + if (!e.getValueIsAdjusting()) { + + SigningSettingsUIModel model = getModel(); + JList<Stamp> list = (JList<Stamp>) e.getSource(); + + if (model.isModified()) { + int saveAnswer = askSaveBeforeLeaving(t("faxtomail.signings.settings.saveBeforeLeaving", + model.getSelectedSigningName())); + switch (saveAnswer) { + case JOptionPane.CANCEL_OPTION: + model.setModified(false); // don't cause yet another prompt when reverting selection + list.setSelectedValue(model.getSelectedSigning(), true); + model.setModified(true); + return; + + case JOptionPane.YES_OPTION: + getContext().getActionEngine().runActionAndWait(SigningSettingsUIHandler.this, SaveSigningAction.class); + break; + + case JOptionPane.NO_OPTION: + model.resetSelectedSigning(); + break; + } + } + + Stamp selectedValue = list.getSelectedValue(); + model.setSelectedSigning(selectedValue); + model.setSelectedSigningDefault(selectedValue.equals(getContext().getCurrentUser().getDefaultSigning())); + } + } + }); + } @Override @@ -66,4 +127,21 @@ public class SigningSettingsUIHandler extends AbstractFaxToMailUIHandler<Signing protected JComponent getComponentToFocus() { return null; } + + private class SigningListCellRenderer extends DecoratorListCellRenderer { + + public SigningListCellRenderer(Decorator<Stamp> decorator) { + super(decorator); + } + + @Override + protected Object decorateValue(Object value, int index) { + String label = (String) super.decorateValue(value, index); + Stamp signing = (Stamp) value; + if (signing != null && signing.equals(getContext().getCurrentUser().getDefaultSigning())) { + label = "<html><strong>" + label + "</strong></html>"; + } + return label; + } + } } 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 46a5f3c..cdb40dd 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 @@ -1,6 +1,6 @@ package com.franciaflex.faxtomail.ui.swing.content.reply; -import com.franciaflex.faxtomail.persistence.entities.Signing; +import com.franciaflex.faxtomail.persistence.entities.Stamp; import org.jdesktop.beans.AbstractSerializableBean; import java.util.ArrayList; @@ -17,25 +17,39 @@ public class SigningSettingsUIModel extends AbstractSerializableBean { public static final String PROPERTY_SELECTED_SIGNING = "selectedSigning"; public static final String PROPERTY_SELECTED_SIGNING_NAME = "selectedSigningName"; public static final String PROPERTY_SELECTED_SIGNING_TEXT = "selectedSigningText"; + public static final String PROPERTY_SELECTED_SIGNING_DEFAULT = "selectedSigningDefault"; + public static final String PROPERTY_SET_DEFAULT_BUTTON_ENABLED = "setDefaultButtonEnabled"; + public static final String PROPERTY_MODIFIED = "modified"; - protected List<Signing> signings = new ArrayList<>(); - protected Signing selectedSigning; - public Signing getSelectedSigning() { + protected List<Stamp> signings = new ArrayList<>(); + protected Stamp selectedSigning; + protected String selectedSigningName; + protected String selectedSigningText; + protected boolean selectedSigningDefault; + protected boolean modified; + + public Stamp getSelectedSigning() { return selectedSigning; } - public void setSelectedSignings(Signing selectedSigning) { + public void setSelectedSigning(Stamp selectedSigning) { Object oldValue = getSelectedSigning(); this.selectedSigning = selectedSigning; firePropertyChange(PROPERTY_SELECTED_SIGNING, oldValue, selectedSigning); + + setSelectedSigningName(selectedSigning.getLabel()); + setSelectedSigningText(selectedSigning.getText()); + + setModified(false); + updateSetDefaultButtonEnabled(); } - public List<Signing> getSignings() { + public List<Stamp> getSignings() { return signings; } - public void setSignings(Collection<Signing> signings) { + public void setSignings(Collection<Stamp> signings) { this.signings.clear(); if (signings != null) { this.signings.addAll(signings); @@ -43,28 +57,67 @@ public class SigningSettingsUIModel extends AbstractSerializableBean { firePropertyChange(PROPERTY_SIGNINGS, null, this.signings); } - public void addSigning(Signing signing) { + public void addSigning(Stamp signing) { this.signings.add(signing); firePropertyChange(PROPERTY_SIGNINGS, null, this.signings); } public String getSelectedSigningName() { - return selectedSigning != null ? selectedSigning.getStamp().getLabel() : null; + return selectedSigningName; } public void setSelectedSigningName(String selectedSigningName) { Object oldValue = getSelectedSigningName(); - selectedSigning.getStamp().setLabel(selectedSigningName); + this.selectedSigningName = selectedSigningName; firePropertyChange(PROPERTY_SELECTED_SIGNING_NAME, oldValue, selectedSigningName); + setModified(true); } public String getSelectedSigningText() { - return selectedSigning != null ? selectedSigning.getStamp().getText() : null; + return selectedSigningText; } public void setSelectedSigningText(String selectedSigningText) { Object oldValue = getSelectedSigningText(); - selectedSigning.getStamp().setText(selectedSigningText); + this.selectedSigningText = selectedSigningText; firePropertyChange(PROPERTY_SELECTED_SIGNING_TEXT, oldValue, selectedSigningText); + setModified(true); + } + + public boolean isSelectedSigningDefault() { + return selectedSigningDefault; + } + + public void setSelectedSigningDefault(boolean selectedSigningDefault) { + Object oldValue = isSelectedSigningDefault(); + this.selectedSigningDefault = selectedSigningDefault; + firePropertyChange(PROPERTY_SELECTED_SIGNING_DEFAULT, oldValue, selectedSigningDefault); + updateSetDefaultButtonEnabled(); + } + + public boolean isSetDefaultButtonEnabled() { + return selectedSigning != null + && selectedSigning.isPersisted() + && !selectedSigningDefault; + } + + public void updateSetDefaultButtonEnabled() { + firePropertyChange(PROPERTY_SET_DEFAULT_BUTTON_ENABLED, null, isSetDefaultButtonEnabled()); + } + + public boolean isModified() { + return modified; + } + + public void setModified(boolean modified) { + Object oldValue = isModified(); + this.modified = modified; + firePropertyChange(PROPERTY_MODIFIED, oldValue, modified); + } + + public void resetSelectedSigning() { + setSelectedSigningName(selectedSigning.getLabel()); + setSelectedSigningText(selectedSigning.getText()); + setModified(false); } } 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 4902471..1fa4c5b 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 @@ -1,7 +1,5 @@ package com.franciaflex.faxtomail.ui.swing.content.reply.actions; -import com.franciaflex.faxtomail.persistence.entities.Signing; -import com.franciaflex.faxtomail.persistence.entities.SigningImpl; import com.franciaflex.faxtomail.persistence.entities.Stamp; import com.franciaflex.faxtomail.persistence.entities.StampImpl; import com.franciaflex.faxtomail.ui.swing.actions.AbstractFaxToMailAction; @@ -24,7 +22,7 @@ public class NewSigningAction extends AbstractFaxToMailAction<SigningSettingsUIM */ private static final Log log = LogFactory.getLog(NewSigningAction.class); - protected Signing newSigning; + protected Stamp newSigning; public NewSigningAction(SigningSettingsUIHandler handler) { super(handler, false); @@ -37,22 +35,21 @@ public class NewSigningAction extends AbstractFaxToMailAction<SigningSettingsUIM @Override public void doAction() throws Exception { - newSigning = new SigningImpl(); - Stamp stamp = new StampImpl(); - newSigning.setStamp(stamp); + newSigning = new StampImpl(); + newSigning.setSigning(true); } @Override public void postSuccessAction() { super.postSuccessAction(); - getModel().addSigning(newSigning); - getModel().setSelectedSignings(newSigning); - getModel().setSelectedSigningName(t("faxtomail.signings.settings.action.newSigning.name")); + SigningSettingsUIModel model = getModel(); + model.addSigning(newSigning); + model.setSelectedSigning(newSigning); + model.setSelectedSigningDefault(false); + model.setSelectedSigningName(t("faxtomail.signings.settings.action.newSigning.name")); + model.updateSetDefaultButtonEnabled(); - if (log.isInfoEnabled()) { - log.info("new singning : " + getModel().getSelectedSigning().getStamp().getLabel()); - } } @Override 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 79a6144..6faec84 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 @@ -1,5 +1,6 @@ package com.franciaflex.faxtomail.ui.swing.content.reply.actions; +import com.franciaflex.faxtomail.persistence.entities.Stamp; import com.franciaflex.faxtomail.ui.swing.actions.AbstractFaxToMailAction; import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyFormUI; import com.franciaflex.faxtomail.ui.swing.content.reply.ReplyFormUIHandler; @@ -9,6 +10,9 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import java.awt.*; +import java.util.List; + +import static org.nuiton.i18n.I18n.t; /** * @author Kevin Morin (Code Lutin) @@ -35,10 +39,10 @@ public class OpenSigningSettingsAction extends AbstractFaxToMailAction<ReplyForm super.postSuccessAction(); SigningSettingsUI signingSettingsUI = new SigningSettingsUI(getUI()); - handler.openDialog(signingSettingsUI, "test", new Dimension(600, 400)); + handler.openDialog(signingSettingsUI, t("faxtomail.signings.settings.title"), new Dimension(600, 400)); - if (log.isInfoEnabled()) { - log.info("setting closed"); - } + List<Stamp> signings = signingSettingsUI.getModel().getSignings(); + getContext().getCurrentUser().setSignings(signings); + getUI().getStampComboBox().setData(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 new file mode 100644 index 0000000..bc9a2c5 --- /dev/null +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/SaveSigningAction.java @@ -0,0 +1,49 @@ +package com.franciaflex.faxtomail.ui.swing.content.reply.actions; + +import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; +import com.franciaflex.faxtomail.persistence.entities.Stamp; +import com.franciaflex.faxtomail.services.service.UserService; +import com.franciaflex.faxtomail.ui.swing.actions.AbstractFaxToMailAction; +import com.franciaflex.faxtomail.ui.swing.content.reply.SigningSettingsUI; +import com.franciaflex.faxtomail.ui.swing.content.reply.SigningSettingsUIHandler; +import com.franciaflex.faxtomail.ui.swing.content.reply.SigningSettingsUIModel; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * @author Kevin Morin (Code Lutin) + * @since 1.4 + */ +public class SaveSigningAction extends AbstractFaxToMailAction<SigningSettingsUIModel, SigningSettingsUI, SigningSettingsUIHandler> { + + /** + * Logger. + */ + private static final Log log = LogFactory.getLog(SaveSigningAction.class); + + public SaveSigningAction(SigningSettingsUIHandler handler) { + super(handler, false); + } + + @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()); + + } + + @Override + public void postSuccessAction() { + super.postSuccessAction(); + getModel().updateSetDefaultButtonEnabled(); + getModel().setModified(false); + getUI().getSigningList().repaint(); + } +} diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/SetDefaultSigningAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/SetDefaultSigningAction.java new file mode 100644 index 0000000..242c3cb --- /dev/null +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/actions/SetDefaultSigningAction.java @@ -0,0 +1,50 @@ +package com.franciaflex.faxtomail.ui.swing.content.reply.actions; + +import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; +import com.franciaflex.faxtomail.persistence.entities.Stamp; +import com.franciaflex.faxtomail.services.service.UserService; +import com.franciaflex.faxtomail.ui.swing.actions.AbstractFaxToMailAction; +import com.franciaflex.faxtomail.ui.swing.content.reply.SigningSettingsUI; +import com.franciaflex.faxtomail.ui.swing.content.reply.SigningSettingsUIHandler; +import com.franciaflex.faxtomail.ui.swing.content.reply.SigningSettingsUIModel; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * @author Kevin Morin (Code Lutin) + * @since 1.4 + */ +public class SetDefaultSigningAction extends AbstractFaxToMailAction<SigningSettingsUIModel, SigningSettingsUI, SigningSettingsUIHandler> { + + /** + * Logger. + */ + private static final Log log = LogFactory.getLog(SetDefaultSigningAction.class); + + public SetDefaultSigningAction(SigningSettingsUIHandler handler) { + super(handler, false); + } + + @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, true); + } + + @Override + public void postSuccessAction() { + super.postSuccessAction(); + + getModel().setSelectedSigningDefault(true); + getModel().updateSetDefaultButtonEnabled(); + getModel().setModified(false); + getUI().getSigningList().repaint(); + } +} 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 05027fa..55a061f 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 @@ -317,8 +317,8 @@ faxtomail.searchToGroup.action.cancel.tip=Fermer la fenêtre sans grouper l'él faxtomail.searchToGroup.action.group=Grouper faxtomail.searchToGroup.action.group.tip=Grouper avec l'élément courant faxtomail.searchToGroup.title=Recherche de l'élément avec lequel grouper l'élément %s -faxtomail.signings.settings.action.cancel=Annuler -faxtomail.signings.settings.action.cancel.tip=Annuler et fermer la configuration des signatures +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.newSigning.name=Nouvelle signature @@ -329,6 +329,7 @@ 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.text.label=Texte +faxtomail.signings.settings.title=Configuration des signatures faxtomail.systemUser=Système faxtomail.validator.error.email.clientCode.required=Code client requis faxtomail.validator.error.email.comment.required=Message requis -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm