Author: solomax
Date: Fri Sep  5 18:54:42 2014
New Revision: 1622758

URL: http://svn.apache.org/r1622758
Log:
[OPENMEETINGS-359] invitation dialog is implemented (with partial submit)

Modified:
    
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
    
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java?rev=1622758&r1=1622757&r2=1622758&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
 Fri Sep  5 18:54:42 2014
@@ -40,16 +40,14 @@ public class InvitationDao {
        private EntityManager em;
        
        public Invitation update(Invitation invitation) {
-               invitation.setUpdated(new Date());
                if (invitation.getId() == null) {
+                       invitation.setInserted(new Date());
                        em.persist(invitation);
-                       return invitation;
                } else {
-                       if (!em.contains(invitation)) {
-                               return em.merge(invitation);
-                       }
+                       invitation.setUpdated(new Date());
+                       invitation = em.merge(invitation);
                }
-               return null;
+               return invitation;
        }
        
        public Invitation get(Long invId) {

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java?rev=1622758&r1=1622757&r2=1622758&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
 Fri Sep  5 18:54:42 2014
@@ -31,13 +31,18 @@ import java.util.Collection;
 import java.util.List;
 
 import org.apache.openmeetings.db.dao.label.FieldLanguageDao;
+import org.apache.openmeetings.db.dao.room.InvitationDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.label.FieldLanguage;
 import org.apache.openmeetings.db.entity.room.Invitation;
+import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
 import org.apache.openmeetings.db.entity.room.Invitation.Valid;
 import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.db.entity.user.User.Type;
+import org.apache.openmeetings.service.room.InvitationManager;
 import org.apache.openmeetings.util.crypt.MD5;
+import org.apache.openmeetings.util.crypt.ManageCryptStyle;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.util.UserMultiChoice;
 import org.apache.wicket.ajax.AjaxEventBehavior;
@@ -140,9 +145,27 @@ public class InvitationDialog extends Ab
 
        @Override
        protected void onSubmit(AjaxRequestTarget target) {
-               //TODO implement this
+               Invitation i = form.getModelObject();
                for (User u : modelTo.getObject()) {
-                       //getBean(InvitationManager)
+                       
i.setPassword(ManageCryptStyle.getInstanceOfCrypt().createPassPhrase(i.getPassword()));
 //FIXME should be hidden
+                       //FIXME another HACK
+                       Calendar d = Calendar.getInstance();
+                       d.setTime(i.getValidFrom());
+                       d.add(Calendar.MINUTE, -5);
+                       i.setValidFrom(d.getTime());
+                       
+                       i.setInvitee(u);
+                       if (Type.contact == u.getType()) {
+                               //TODO not sure it is right
+                               u.setLanguage_id(lang.getObject().getId());
+                       }
+                       getBean(InvitationDao.class).update(i);
+                       try {
+                               //FIXME getHash vs send
+                               
getBean(InvitationManager.class).sendInvitionLink(i, MessageType.Create, 
subject.getObject(), message.getObject(), false);
+                       } catch (Exception e) {
+                               log.error("error while processing ", e);
+                       }
                }
        }
        


Reply via email to