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 1bfb1c1 [OPENMEETINGS-2177] import of external users is fixed
1bfb1c1 is described below
commit 1bfb1c1f1ea489968203ff65bcb234a5c00005f3
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Fri Mar 27 20:53:32 2020 +0700
[OPENMEETINGS-2177] import of external users is fixed
---
.../org/apache/openmeetings/backup/BackupImport.java | 4 ++++
.../apache/openmeetings/backup/TestImportUser.java | 6 +++++-
.../org/apache/openmeetings/backup/user/users.xml | 20 ++++++++++++++++++++
3 files changed, 29 insertions(+), 1 deletion(-)
diff --git
a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
index 7cbe33a..af849b6 100644
---
a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
+++
b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
@@ -661,6 +661,10 @@ public class BackupImport {
if (AuthLevelUtil.hasLoginLevel(u.getRights()) &&
!Strings.isEmpty(u.getActivatehash())) {
u.setActivatehash(null);
}
+ if (u.getExternalType() != null) {
+ Group g =
groupDao.getExternal(u.getExternalType());
+ u.addGroup(g);
+ }
userDao.update(u, Long.valueOf(-1));
userMap.put(userId, u.getId());
});
diff --git
a/openmeetings-web/src/test/java/org/apache/openmeetings/backup/TestImportUser.java
b/openmeetings-web/src/test/java/org/apache/openmeetings/backup/TestImportUser.java
index 0709af4..e493689 100644
---
a/openmeetings-web/src/test/java/org/apache/openmeetings/backup/TestImportUser.java
+++
b/openmeetings-web/src/test/java/org/apache/openmeetings/backup/TestImportUser.java
@@ -19,9 +19,11 @@
package org.apache.openmeetings.backup;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.io.File;
+import org.apache.openmeetings.db.entity.user.User;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -39,7 +41,9 @@ public class TestImportUser extends AbstractTestImport {
long userCount = userDao.count();
File configs = new
File(getClass().getClassLoader().getResource("org/apache/openmeetings/backup/user/users.xml").toURI());
backupImport.importUsers(configs.getParentFile());
- assertEquals(userCount + 7, userDao.count(), "Users should be
added");
+ assertEquals(userCount + 8, userDao.count(), "Users should be
added");
+ User ext = userDao.getExternalUser("234", "TheBestCms");
+ assertNotNull(ext, "External user should be imported");
}
@Test
diff --git
a/openmeetings-web/src/test/resources/org/apache/openmeetings/backup/user/users.xml
b/openmeetings-web/src/test/resources/org/apache/openmeetings/backup/user/users.xml
index 2e2bf56..3d28b60 100644
---
a/openmeetings-web/src/test/resources/org/apache/openmeetings/backup/user/users.xml
+++
b/openmeetings-web/src/test/resources/org/apache/openmeetings/backup/user/users.xml
@@ -221,5 +221,25 @@ see http://openmeetings.apache.org/Upgrade.html for Details
<type><![CDATA[UsER]]></type>
<rights class="org.apache.openjpa.util.java$util$HashSet$proxy"/>
</user>
+ <user>
+ <user_id><![CDATA[8]]></user_id>
+ <firstname><![CDATA[Bogin]]></firstname>
+ <lastname><![CDATA[Mig]]></lastname>
+ <login><![CDATA[bogin.mig]]></login>
+ <deleted><![CDATA[false]]></deleted>
+ <language_id><![CDATA[3]]></language_id>
+ <address>
+ <country><![CDATA[DE]]></country>
+ <mail><![CDATA[bogin.mig@local]]></mail>
+ </address>
+ <forceTimeZoneCheck><![CDATA[false]]></forceTimeZoneCheck>
+ <sendSMS>false</sendSMS>
+ <showContactData><![CDATA[false]]></showContactData>
+
<showContactDataToContacts><![CDATA[false]]></showContactDataToContacts>
+ <type><![CDATA[eXtErNaL]]></type>
+ <rights class="org.apache.openjpa.util.java$util$HashSet$proxy"/>
+ <externalUserId>234</externalUserId>
+ <externalUserType>TheBestCms</externalUserType>
+ </user>
</users>
</root>