From bd7fa4bbecfeaa78c2ea22370ea733e9eb415e00 Mon Sep 17 00:00:00 2001 From: Jens Pelzetter Date: Sat, 3 Oct 2020 19:00:23 +0200 Subject: [PATCH] Bugfixes --- .../usersgroupsroles/EmailFormController.java | 47 ++++++++++--------- .../usersgroupsroles/EmailFormModel.java | 42 +++++++++++++---- .../UsersGroupsRolesPage.java | 1 + .../admin/users-groups-roles/email-form.xhtml | 4 +- .../users-groups-roles/user-details.xhtml | 8 ++-- 5 files changed, 68 insertions(+), 34 deletions(-) diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/EmailFormController.java b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/EmailFormController.java index 6f1bc5e81..df68fb66a 100644 --- a/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/EmailFormController.java +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/EmailFormController.java @@ -74,17 +74,17 @@ public class EmailFormController { @Inject private UserRepository userRepository; - @MvcBinding - @FormParam("address") - @NotBlank - @Email - private String address; - - @FormParam("bouncing") - private boolean bouncing; - - @FormParam("verified") - private boolean verified; +// @MvcBinding +// @FormParam("address") +// @NotBlank +// @Email +// private String address; +// +// @FormParam("bouncing") +// private boolean bouncing; +// +// @FormParam("verified") +// private boolean verified; @GET @Path("/new") @@ -94,6 +94,10 @@ public class EmailFormController { public String getNewEmailAddressForm( @PathParam("userIdentifier") final String userIdentifierParam ) { + emailFormModel.setUserIdentifier(userIdentifierParam); + emailFormModel.setAddress("example@example.org"); + emailFormModel.setBouncing(false); + emailFormModel.setVerified(false); return "org/libreccm/ui/admin/users-groups-roles/email-form.xhtml"; } @@ -129,9 +133,9 @@ public class EmailFormController { final User user = result.get(); final EmailAddress emailAddress = new EmailAddress(); - emailAddress.setAddress(address); - emailAddress.setBouncing(bouncing); - emailAddress.setVerified(verified); + emailAddress.setAddress(emailFormModel.getAddress()); + emailAddress.setBouncing(emailAddress.isBouncing()); + emailAddress.setVerified(emailFormModel.isVerified()); user.addEmailAddress(emailAddress); userRepository.save(user); @@ -194,6 +198,7 @@ public class EmailFormController { final EmailAddress emailAddress = user .getEmailAddresses() .get(emailId); + emailFormModel.setEmailId(emailId); emailFormModel.setAddress(emailAddress.getAddress()); emailFormModel.setBouncing(emailAddress.isBouncing()); emailFormModel.setVerified(emailAddress.isVerified()); @@ -213,7 +218,7 @@ public class EmailFormController { return "org/libreccm/ui/admin/users-groups-roles/user-not-found.xhtml"; } } - + @POST @Path("/{emailId}") @AuthorizationRequired @@ -254,13 +259,13 @@ public class EmailFormController { final EmailAddress emailAddress = user .getEmailAddresses() .get(emailId); - - emailAddress.setAddress(address); - emailAddress.setBouncing(bouncing); - emailAddress.setVerified(verified); - + + emailAddress.setAddress(emailFormModel.getAddress()); + emailAddress.setBouncing(emailFormModel.isBouncing()); + emailAddress.setVerified(emailFormModel.isVerified()); + userRepository.save(user); - + return "org/libreccm/ui/admin/users-groups-roles/email-form.xhtml"; } } else { diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/EmailFormModel.java b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/EmailFormModel.java index d85904d25..20f2bd830 100644 --- a/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/EmailFormModel.java +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/EmailFormModel.java @@ -27,27 +27,52 @@ import javax.inject.Named; * * @author Jens Pelzetter */ - @RequestScoped @Named("EmailFormModel") public class EmailFormModel { + + private String userIdentifier; + private int emailId; + private String address; - + private boolean bouncing; - + private boolean verified; - - public void setEmailAddress(final EmailAddress emailAddress) { + + public void setEmailAddress( + final String userIdentifier, + final int emailId, + final EmailAddress emailAddress + ) { + this.userIdentifier = userIdentifier; + this.emailId = emailId; address = emailAddress.getAddress(); bouncing = emailAddress.isBouncing(); verified = emailAddress.isVerified(); } public boolean isNew() { - return address == null; + return emailId == 0; + } + + public String getUserIdentifier() { + return userIdentifier; + } + + public void setUserIdentifier(final String userIdentifier) { + this.userIdentifier = userIdentifier; } + public int getEmailId() { + return emailId; + } + + public void setEmailId(final int emailId) { + this.emailId = emailId; + } + public String getAddress() { return address; } @@ -71,6 +96,7 @@ public class EmailFormModel { public void setVerified(boolean verified) { this.verified = verified; } - - + + + } diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/UsersGroupsRolesPage.java b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/UsersGroupsRolesPage.java index e770cd38a..7585eac63 100644 --- a/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/UsersGroupsRolesPage.java +++ b/ccm-core/src/main/java/org/libreccm/ui/admin/usersgroupsroles/UsersGroupsRolesPage.java @@ -41,6 +41,7 @@ public class UsersGroupsRolesPage implements AdminPage { classes.add(RolesController.class); classes.add(UsersController.class); classes.add(UserFormController.class); + classes.add(EmailFormController.class); return classes; } diff --git a/ccm-core/src/main/resources/WEB-INF/views/org/libreccm/ui/admin/users-groups-roles/email-form.xhtml b/ccm-core/src/main/resources/WEB-INF/views/org/libreccm/ui/admin/users-groups-roles/email-form.xhtml index c57e40915..1b81c451c 100644 --- a/ccm-core/src/main/resources/WEB-INF/views/org/libreccm/ui/admin/users-groups-roles/email-form.xhtml +++ b/ccm-core/src/main/resources/WEB-INF/views/org/libreccm/ui/admin/users-groups-roles/email-form.xhtml @@ -25,7 +25,7 @@ #{UserDetailsModel.name} - @@ -36,7 +36,7 @@ #{error} -