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);
+ }
}
}