Revision: 3865
Author: seba.wagner
Date: Sun Jun 26 04:01:56 2011
Log: Calls to manage external users via SOAP
http://code.google.com/p/openmeetings/source/detail?r=3865
Modified:
/trunk/singlewebapp/src/app/org/openmeetings/app/data/user/Usermanagement.java
/trunk/singlewebapp/src/userservice/org/openmeetings/axis/services/UserService.java
=======================================
---
/trunk/singlewebapp/src/app/org/openmeetings/app/data/user/Usermanagement.java
Wed Nov 10 03:53:07 2010
+++
/trunk/singlewebapp/src/app/org/openmeetings/app/data/user/Usermanagement.java
Sun Jun 26 04:01:56 2011
@@ -921,6 +921,48 @@
}
return null;
}
+
+ public Long registerUserNoEmail(String login, String Userpass, String
lastname,
+ String firstname, String email, Date age, String street,
+ String additionalname, String fax, String zip, long
states_id,
+ String town, long language_id, String phone,
+ boolean generateSipUserData, String jNameTimeZone) {
+ try {
+ // Checks if FrontEndUsers can register
+ if
(Configurationmanagement.getInstance().getConfKey(3,"allow_frontend_register").getConf_value().equals("1"))
{
+
+ Boolean sendConfirmation = false;
+ Boolean sendWelcomeMessage = false;
+ String baseURL = "";
+
+ //TODO: Read and generate SIP-Data via
RPC-Interface Issue 1098
+
+ Long user_id = this.registerUserInit(3, 1, 0, 1, login,
Userpass,lastname, firstname, email, age,
+
street, additionalname,fax, zip, states_id, town,
+ language_id, sendWelcomeMessage, new LinkedList(), phone,
baseURL,
+ sendConfirmation,"","","", generateSipUserData, jNameTimeZone,
false,
+
"",
+
"",
+
false,
+
true);
+
+ // Get the default organisation_id of
registered users
+ if (user_id>0){
+ long organisation_id =
Long.valueOf(Configurationmanagement.getInstance().getConfKey(3,"default_domain_id").getConf_value()).longValue();
+
Organisationmanagement.getInstance().addUserToOrganisation(user_id,organisation_id,
user_id, "");
+ }
+
+ if (sendConfirmation) {
+ return new Long(-40);
+ }
+
+ return user_id;
+ }
+ } catch (Exception e) {
+ log.error("[registerUserNoEmail]",e);
+ }
+ return null;
+ }
/**
* Adds a user including his adress-data,auth-date,mail-data
@@ -969,13 +1011,17 @@
if (checkName && checkEmail) {
String hash =
ManageCryptStyle.getInstance().getInstanceOfCrypt().createPassPhrase(login
+ CalendarPatterns.getDateWithTimeByMiliSeconds(new Date()));
- String link =
baseURL+"activateUser?u="+hash;
-
+
+ //Check if there are any emails to be
send
if (sendWelcomeMessage &&
email.length()!=0) {
+
+ String link =
baseURL+"activateUser?u="+hash;
+
//We need to pass the baseURL to check if this is really set to be
send
String sendMail = Emailmanagement.getInstance().sendMail(login,
Userpass, email, link, sendConfirmation);
if
(!sendMail.equals("success")) return new Long(-19);
- }
+ }
+
Long address_id = Addressmanagement.getInstance().saveAddress(street,
zip, town, states_id, additionalname, "",fax, phone, email);
if (address_id==null) {
return new Long(-22);
=======================================
---
/trunk/singlewebapp/src/userservice/org/openmeetings/axis/services/UserService.java
Tue Apr 26 02:04:46 2011
+++
/trunk/singlewebapp/src/userservice/org/openmeetings/axis/services/UserService.java
Sun Jun 26 04:01:56 2011
@@ -15,8 +15,11 @@
import org.openmeetings.app.data.basic.dao.SOAPLoginDaoImpl;
import org.openmeetings.app.data.beans.basic.ErrorResult;
import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.data.user.Addressmanagement;
import org.openmeetings.app.data.user.Organisationmanagement;
import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.hibernate.beans.adresses.Adresses;
import org.openmeetings.app.hibernate.beans.basic.Configuration;
import org.openmeetings.app.hibernate.beans.basic.ErrorValues;
import org.openmeetings.app.hibernate.beans.basic.Sessiondata;
@@ -197,6 +200,188 @@
throw new AxisFault(err.getMessage());
}
}
+
+ /**
+ *
+ * Adds a user with an externalUserId and type, but checks if the
user/type
+ * does already exist
+ *
+ * @param SID
+ * @param username
+ * @param userpass
+ * @param lastname
+ * @param firstname
+ * @param email
+ * @param additionalname
+ * @param street
+ * @param zip
+ * @param fax
+ * @param states_id
+ * @param town
+ * @param language_id
+ * @param baseURL
+ * @param jNameTimeZone
+ * @param externalUserId
+ * @param externalUserType
+ * @return
+ * @throws AxisFault
+ */
+ public Long addNewUserWithExternalType(String SID, String username,
String userpass,
+ String lastname, String firstname, String email,
+ String additionalname, String street, String zip,
String fax,
+ long states_id, String town, long language_id, String
baseURL,
+ String jNameTimeZone, Long externalUserId, String
externalUserType)
+ throws AxisFault {
+ try {
+ Long users_id =
Sessionmanagement.getInstance().checkSession(SID);
+ Long user_level =
Usermanagement.getInstance().getUserLevelByID(
+ users_id);
+
+ if
(AuthLevelmanagement.getInstance().checkAdminLevel(user_level)) {
+
+ Users testUser =
Usermanagement.getInstance().getUserByExternalIdAndType(externalUserId,
externalUserType);
+
+ if (testUser != null) {
+ throw new Exception("User does already
exist!");
+ }
+
+ //This will send no email to the users
+ Long user_id =
Usermanagement.getInstance().registerUserNoEmail(
+ username, userpass,
+ lastname, firstname, email,
+ new Date(), street, additionalname,
+ fax, zip,
+ states_id,
+ town,
+ language_id,
+ "",
+ true, //generate SIP Data if the config
is enabled
+ jNameTimeZone);
+
+ if (user_id < 0) {
+ return user_id;
+ }
+
+ Users user =
Usermanagement.getInstance().getUserById(user_id);
+
+ // activate the User
+ user.setStatus(1);
+ user.setUpdatetime(new Date());
+ user.setExternalUserId(externalUserId);
+ user.setExternalUserType(externalUserType);
+
+ Usermanagement.getInstance().updateUser(user);
+
+ return user_id;
+
+ } else {
+ return new Long(-26);
+ }
+
+ } catch (Exception err) {
+ log.error("addNewUserWithExternalType", err);
+ throw new AxisFault(err.getMessage());
+ }
+ }
+
+ /**
+ *
+ * delete a user by its id
+ *
+ * @param SID
+ * @param userId
+ * @return
+ * @throws AxisFault
+ */
+ public Long deleteUserById(String SID, Long userId) throws AxisFault {
+ try {
+ Long users_id =
Sessionmanagement.getInstance().checkSession(SID);
+ Long user_level =
Usermanagement.getInstance().getUserLevelByID(
+ users_id);
+
+ if
(AuthLevelmanagement.getInstance().checkAdminLevel(user_level)) {
+
+ // Setting user deleted
+ UsersDaoImpl.getInstance().deleteUserID(userId);
+
+ Users user = Usermanagement.getInstance()
+
.checkAdmingetUserById(user_level, userId);
+
+ // Updating address
+ Adresses ad = user.getAdresses();
+
+ if (ad != null) {
+ ad.setDeleted("true");
+
+
Addressmanagement.getInstance().updateAdress(ad);
+ log.debug("deleteUserId : Address
updated");
+
+
+ }
+
+ return userId;
+
+ } else {
+ return new Long(-26);
+ }
+
+ } catch (Exception err) {
+ log.error("deleteUserById", err);
+ throw new AxisFault(err.getMessage());
+ }
+ }
+
+ /**
+ *
+ * delete a user by its external user id and type
+ *
+ * @param SID
+ * @param externalUserId
+ * @param externalUserType
+ * @return
+ * @throws AxisFault
+ */
+ public Long deleteUserByExternalUserIdAndType(String SID, Long
externalUserId, String externalUserType) throws AxisFault {
+ try {
+ Long users_id =
Sessionmanagement.getInstance().checkSession(SID);
+ Long user_level =
Usermanagement.getInstance().getUserLevelByID(
+ users_id);
+
+ if
(AuthLevelmanagement.getInstance().checkAdminLevel(user_level)) {
+
+ Users userExternal =
Usermanagement.getInstance().getUserByExternalIdAndType(externalUserId,
externalUserType);
+
+ Long userId = userExternal.getUser_id();
+
+ // Setting user deleted
+ UsersDaoImpl.getInstance().deleteUserID(userId);
+
+ Users user = Usermanagement.getInstance()
+
.checkAdmingetUserById(user_level, userId);
+
+ // Updating address
+ Adresses ad = user.getAdresses();
+
+ if (ad != null) {
+ ad.setDeleted("true");
+
+
Addressmanagement.getInstance().updateAdress(ad);
+ log.debug("deleteUserId : Address
updated");
+
+
+ }
+
+ return userId;
+
+ } else {
+ return new Long(-26);
+ }
+
+ } catch (Exception err) {
+ log.error("deleteUserById", err);
+ throw new AxisFault(err.getMessage());
+ }
+ }
/**
*
--
You received this message because you are subscribed to the Google Groups
"OpenMeetings developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/openmeetings-dev?hl=en.