Author: [email protected]
Date: Tue Jan 13 07:47:02 2009
New Revision: 1772
Modified:
trunk/webapp/src/app/org/openmeetings/app/data/user/Emailmanagement.java
trunk/webapp/src/app/org/openmeetings/app/data/user/dao/UsersDaoImpl.java
trunk/webapp/src/app/org/openmeetings/app/remote/UserService.java
Log:
Issue 590 : deleteUserid now also sets dependent email and address to
deleted ( email can be reused in case of recreation of user)
Modified:
trunk/webapp/src/app/org/openmeetings/app/data/user/Emailmanagement.java
==============================================================================
---
trunk/webapp/src/app/org/openmeetings/app/data/user/Emailmanagement.java
(original)
+++
trunk/webapp/src/app/org/openmeetings/app/data/user/Emailmanagement.java
Tue Jan 13 07:47:02 2009
@@ -112,6 +112,67 @@
}
return null;
}
+
+ /**
+ *
+ * @param address
+ * @return
+ */
+
//---------------------------------------------------------------------------
+ public Adresses_Emails getAdresses_EmailsByAddress(Long address) {
+
+ log.debug("Emailmanagement.getAdresses_EmailsByAddress");
+
+ try {
+ String hql = "select c from Adresses_Emails as c " +
+ " where c.adresses_id = :address ";
+ Object idf = HibernateUtil.createSession();
+ Session session = HibernateUtil.getSession();
+ Transaction tx = session.beginTransaction();
+ Query query = session.createQuery(hql);
+ query.setLong("address", address);
+
+ Adresses_Emails e = (Adresses_Emails)
query.uniqueResult();
+ tx.commit();
+ HibernateUtil.closeSession(idf);
+ return e;
+ } catch (HibernateException ex) {
+ log.error("getAdresses_EmailsByAddress",ex);
+ } catch (Exception ex2) {
+ log.error("getAdresses_EmailsByAddress",ex2);
+ }
+
+ return null;
+ }
+
//---------------------------------------------------------------------------
+
+ /**
+ * @author becherer
+ */
+
//--------------------------------------------------------------------------------
+ public void updateEmail(Emails mail){
+
+ log.debug("Emailmanagement.updateEmail : " + mail.getEmail());
+
+ try{
+ Object idf = HibernateUtil.createSession();
+ Session session = HibernateUtil.getSession();
+ Transaction tx = session.beginTransaction();
+
+ session.update(mail);
+
+ tx.commit();
+
+ session.flush();
+
+ HibernateUtil.closeSession(idf);
+ }catch(Exception e){
+ log.error("Emailmanagement.updateEmail : Error updating
email : " +
e.getMessage());
+ }
+
+ }
+
//--------------------------------------------------------------------------------
+
public List getemailsCon(int CONTACT_ID) {
try {
Modified:
trunk/webapp/src/app/org/openmeetings/app/data/user/dao/UsersDaoImpl.java
==============================================================================
---
trunk/webapp/src/app/org/openmeetings/app/data/user/dao/UsersDaoImpl.java
(original)
+++
trunk/webapp/src/app/org/openmeetings/app/data/user/dao/UsersDaoImpl.java
Tue Jan 13 07:47:02 2009
@@ -21,6 +21,7 @@
private static UsersDaoImpl instance = null;
+
private UsersDaoImpl() {
}
Modified: trunk/webapp/src/app/org/openmeetings/app/remote/UserService.java
==============================================================================
--- trunk/webapp/src/app/org/openmeetings/app/remote/UserService.java
(original)
+++ trunk/webapp/src/app/org/openmeetings/app/remote/UserService.java Tue
Jan 13 07:47:02 2009
@@ -8,10 +8,15 @@
import org.slf4j.LoggerFactory;
import org.openmeetings.app.data.basic.Sessionmanagement;
import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.data.user.Addressmanagement;
+import org.openmeetings.app.data.user.Emailmanagement;
import org.openmeetings.app.data.user.Usermanagement;
import org.openmeetings.app.data.user.Salutationmanagement;
import org.openmeetings.app.data.user.Organisationmanagement;
import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.hibernate.beans.adresses.Adresses;
+import org.openmeetings.app.hibernate.beans.adresses.Adresses_Emails;
+import org.openmeetings.app.hibernate.beans.adresses.Emails;
import org.openmeetings.app.hibernate.beans.user.Users;
import org.red5.io.utils.ObjectMap;
@@ -269,11 +274,46 @@
* @return
*/
public Long deleteUserAdmin(String SID, int user_idClient){
+ log.debug("deleteUserAdmin");
+
Long users_id = Sessionmanagement.getInstance().checkSession(SID);
+
long user_level =
Usermanagement.getInstance().getUserLevelByID(users_id);
+
+
+ // admins only
if(user_level>=3){
+ // no self destruction ;-)
if (users_id!=user_idClient){
- return UsersDaoImpl.getInstance().deleteUserID(user_idClient);
+
+ // Setting user deleted
+ Long userId =
UsersDaoImpl.getInstance().deleteUserID(user_idClient);
+
+ Users user =
Usermanagement.getInstance().checkAdmingetUserById(user_level, users_id);
+
+ // Updating address
+ Adresses ad = user.getAdresses();
+
+ if(ad != null){
+ ad.setDeleted("true");
+
+
Addressmanagement.getInstance().updateAdress(ad);
+ log.debug("deleteUserId : Address
updated");
+
+ Adresses_Emails ae =
Emailmanagement.getInstance().getAdresses_EmailsByAddress(ad.getAdresses_id());
+
+ if(ae != null){
+ Emails e = ae.getMail();
+ e.setDeleted("true");
+
+
Emailmanagement.getInstance().updateEmail(e);
+ }
+
+ log.debug("deleteUserId : mail
updated");
+ }
+
+
+ return userId;
} else {
return new Long(-10);
}
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---