This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new 542cbbe  [OPENMEETINGS-2295] restore will fail if email/login exists
542cbbe is described below

commit 542cbbef12670a0fbed7dbbf160012aa0581426f
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Sat Jun 6 22:19:20 2020 +0700

    [OPENMEETINGS-2295] restore will fail if email/login exists
---
 .../apache/openmeetings/web/admin/users/UserForm.java  | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
index d574583..8629113 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
@@ -199,8 +199,20 @@ public class UserForm extends AdminBaseForm<User> {
 
        @Override
        protected void onRestoreSubmit(AjaxRequestTarget target, Form<?> form) {
-               getModelObject().setDeleted(false);
-               onSaveSubmit(target, form);
+               User u = getModelObject();
+               u.setDeleted(false);
+               if (!userDao.checkLogin(u.getLogin(), u.getType(), 
u.getDomainId(), u.getId())) {
+                       error(getString("error.login.inuse"));
+               }
+               if (u.getAddress() != null && 
!userDao.checkEmail(u.getAddress().getEmail(), u.getType(), u.getDomainId(), 
u.getId())) {
+                       error(getString("error.email.inuse"));
+               }
+               if (hasError()) {
+                       u.setDeleted(true);
+                       target.add(this);
+               } else {
+                       onSaveSubmit(target, form);
+               }
        }
 
        @Override
@@ -351,7 +363,7 @@ public class UserForm extends AdminBaseForm<User> {
        @Override
        protected void onValidate() {
                User u = getModelObject();
-               if(!userDao.checkLogin(login.getConvertedInput(), u.getType(), 
u.getDomainId(), u.getId())) {
+               if (!userDao.checkLogin(login.getConvertedInput(), u.getType(), 
u.getDomainId(), u.getId())) {
                        error(getString("error.login.inuse"));
                }
                super.onValidate();

Reply via email to