You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2015/02/11 08:26:41 UTC
svn commit: r1658892 - in /openmeetings:
branches/3.0.x/WebContent/src/base/hibernate/
branches/3.0.x/WebContent/src/modules/settings/privatemessages/
branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/user/
branches/3.0.x/src/main/java/org/a...
Author: solomax
Date: Wed Feb 11 07:26:41 2015
New Revision: 1658892
URL: http://svn.apache.org/r1658892
Log:
[OPENMEETINGS-1175] private messages are send from the room as expected
Modified:
openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx
openmeetings/branches/3.0.x/WebContent/src/modules/settings/privatemessages/newPrivateMessage.lzx
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/user/PrivateMessage.java
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/UserService.java
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/UserService.java
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/PrivateMessage.java
Modified: openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx?rev=1658892&r1=1658891&r2=1658892&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx Wed Feb 11 07:26:41 2015
@@ -558,6 +558,7 @@
if (canvas.landingZone == "dashboard") {
canvas.destroyExitButton = false;
+ parent.setUsernameAndSession.doCall();
parent.getRoomTypes.doCall();
} else if (canvas.roomRecordingId > 0) {
if (canvas.thishib.loaderVar != null) {
@@ -569,6 +570,7 @@
loadContent(obj,null,null);
} else if (canvas.wicketroomid > 0) {
canvas.initroomid = canvas.wicketroomid;
+ parent.getRoomTypes.doCall();
parent.getRoomById.doCall();
} else {
if (canvas.thishib.loaderVar != null) {
@@ -631,8 +633,7 @@
if (canvas.thishib.loaderVar != null) {
canvas.thishib.loaderVar.setProgress();
}
- if($debug) Debug.write("getRoomTypes");
- parent.getRoomTypes.doCall();
+ parent.setUsernameAndSession.doCall();
} else {
parent.initlanguageLoaded = true;
if($debug) Debug.write("getGeneralOptions");
@@ -640,6 +641,8 @@
if($debug) Debug.write("getTimeZones");
parent.getTimeZones.doCall(); // this is very long call let it be async
}
+ if($debug) Debug.write("getRoomTypes");
+ parent.getRoomTypes.doCall();
}
]]>
</handler>
@@ -861,13 +864,12 @@
<netparam><method name="getValue">return canvas.sessionId;</method></netparam>
<handler name="ondata" args="value">
//The onResult-Handler will be called be the rtmpconnection
- //Debug.write("getRoomTypes ",value);
+ if ($debug) Debug.write("getRoomTypes ", value);
canvas.roomTypesInitValues = value;
canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "getRoomTypes", [value]);
if (canvas.thishib.loaderVar != null) {
canvas.thishib.loaderVar.setProgress();
}
- parent.setUsernameAndSession.doCall();
</handler>
</netRemoteCallHib>
Modified: openmeetings/branches/3.0.x/WebContent/src/modules/settings/privatemessages/newPrivateMessage.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/src/modules/settings/privatemessages/newPrivateMessage.lzx?rev=1658892&r1=1658891&r2=1658892&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/src/modules/settings/privatemessages/newPrivateMessage.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/src/modules/settings/privatemessages/newPrivateMessage.lzx Wed Feb 11 07:26:41 2015
@@ -52,12 +52,11 @@
]]>
</handler>
- <netRemoteCallHib name="getUserById" funcname="userservice.getUserById"
- remotecontext="$once{ canvas.thishib }" >
+ <netRemoteCallHib name="getUserById" funcname="userservice.getUserById" remotecontext="$once{ canvas.thishib }" >
<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
<netparam><method name="getValue">return parent.parent.user_id;</method></netparam>
<handler name="ondata" args="value">
- <![CDATA[
+ <![CDATA[
if($debug) Debug.write("[admin]userValueForm/getUserById: ",value.lastname);
parent.userObject = value;
var tString = value.firstname + ' ' + value.lastname + ' '
@@ -66,7 +65,7 @@
parent._to.sendUpdateText = false;
parent._to.setAttribute("text",tString);
parent._to.sendUpdateText = true;
- ]]>
+ ]]>
</handler>
</netRemoteCallHib>
@@ -105,6 +104,7 @@
if ($debug) Debug.write("receipents :: ",this.receipents);
if ($debug) Debug.write("receipents :: ",this._richText.getText());
+ if ($debug) Debug.write("composeMail, parentId :: ",this.parentMessageId);
this.composeMail.doCall();
]]>
@@ -119,9 +119,9 @@
<netparam><method name="getValue">return canvas.sessionId;</method></netparam>
<netparam><method name="getValue">return parent.parent.receipents</method></netparam>
- <netparam><method name="getValue">return this.parent.parent._subject.getText();</method></netparam>
+ <netparam><method name="getValue">return parent.parent._subject.getText();</method></netparam>
<netparam><method name="getValue">return parent.parent._richText.getText();</method></netparam>
- <netparam><method name="getValue">return this.parent.parent._bookRoom.getValue();</method></netparam>
+ <netparam><method name="getValue">return parent.parent._bookRoom.getValue();</method></netparam>
<netparam><method name="getValue">return parseDateToStringTimeSeconds(parent.parent._valid_from.getDate());</method></netparam>
<netparam><method name="getValue">return parent.parent._timeFrom.getText();</method></netparam>
<netparam><method name="getValue">return parseDateToStringTimeSeconds(parent.parent._valid_to.getDate());</method></netparam>
@@ -372,17 +372,16 @@
</view>
<labelText labelid="194" width="200" y="$once{ parent.height-100 }" resize="false" x="4"/>
- <resetCombobox name="_roomtype" width="164" y="$once{ parent.height-100 }"
- x="120" editable="false" fontsize="11">
- <handler name="oninit" >
- <![CDATA[
- for (var i=0;i<canvas.roomTypesInitValues.length;i++){
- this.addItem(canvas.roomTypesInitValues[i].label.value,canvas.roomTypesInitValues[i].roomtypes_id);
- }
- this.selectItemAt(0);
- ]]>
- </handler>
- </resetCombobox>
+ <resetCombobox name="_roomtype" width="164" y="$once{ parent.height-100 }" x="120" editable="false" fontsize="11">
+ <handler name="oninit" >
+ <![CDATA[
+ for (var i=0;i<canvas.roomTypesInitValues.length;i++){
+ this.addItem(canvas.roomTypesInitValues[i].label.value,canvas.roomTypesInitValues[i].roomtypes_id);
+ }
+ this.selectItemAt(0);
+ ]]>
+ </handler>
+ </resetCombobox>
<labelText labelid="1219" width="200" y="$once{ parent.height-76 }" resize="false" x="4"/>
<dateField x="120" y="$once{ parent.height-76 }" name="_valid_from"
Modified: openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/user/PrivateMessage.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/user/PrivateMessage.java?rev=1658892&r1=1658891&r2=1658892&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/user/PrivateMessage.java (original)
+++ openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/user/PrivateMessage.java Wed Feb 11 07:26:41 2015
@@ -21,6 +21,7 @@ package org.apache.openmeetings.db.entit
import java.io.Serializable;
import java.util.Date;
+import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
@@ -84,13 +85,13 @@ public class PrivateMessage implements S
@Element(data = true, required = false)
private User from;
- @ManyToOne(fetch = FetchType.EAGER)
+ @ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.MERGE)
@JoinColumn(name = "to_id")
@ForeignKey(enabled = true)
@Element(data = true, required = false)
private User to;
- @ManyToOne(fetch = FetchType.EAGER)
+ @ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.MERGE)
@JoinColumn(name = "owner_id")
@ForeignKey(enabled = true)
@Element(data = true, required = false)
Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/UserService.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/UserService.java?rev=1658892&r1=1658891&r2=1658892&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/UserService.java (original)
+++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/UserService.java Wed Feb 11 07:26:41 2015
@@ -18,6 +18,9 @@
*/
package org.apache.openmeetings.remote;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+
+import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
@@ -37,6 +40,7 @@ import org.apache.openmeetings.db.dao.ro
import org.apache.openmeetings.db.dao.server.ISessionManager;
import org.apache.openmeetings.db.dao.server.ServerDao;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
+import org.apache.openmeetings.db.dao.user.IUserManager;
import org.apache.openmeetings.db.dao.user.IUserService;
import org.apache.openmeetings.db.dao.user.PrivateMessageFolderDao;
import org.apache.openmeetings.db.dao.user.PrivateMessagesDao;
@@ -56,7 +60,7 @@ import org.apache.openmeetings.mail.Mail
import org.apache.openmeetings.remote.red5.ScopeApplicationAdapter;
import org.apache.openmeetings.util.AuthLevelUtil;
import org.apache.openmeetings.util.CalendarPatterns;
-import org.apache.openmeetings.util.OpenmeetingsVariables;
+import org.apache.openmeetings.web.mail.template.AbstractTemplatePanel;
import org.apache.openmeetings.web.util.ContactsHelper;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.scope.IScope;
@@ -70,9 +74,7 @@ import org.springframework.beans.factory
*
*/
public class UserService implements IUserService {
-
- private static final Logger log = Red5LoggerFactory.getLogger(
- UserService.class, OpenmeetingsVariables.webAppRootKey);
+ private static final Logger log = Red5LoggerFactory.getLogger(UserService.class, webAppRootKey);
@Autowired
private ISessionManager sessionManager;
@@ -87,6 +89,8 @@ public class UserService implements IUse
@Autowired
private ConfigurationDao configurationDao;
@Autowired
+ private IUserManager userManager;
+ @Autowired
private UserDao userDao;
@Autowired
private SalutationDao salutationmanagement;
@@ -360,22 +364,32 @@ public class UserService implements IUse
// users only
if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
User from = userDao.get(users_id);
- TimeZone timezone = timezoneUtil.getTimeZone(from);
-
- Date start = createCalendarDate(timezone, validFromDate, validFromTime);
- Date end = createCalendarDate(timezone, validToDate, validToTime);
-
- log.info("validFromDate: " + CalendarPatterns.getDateWithTimeByMiliSeconds(start));
- log.info("validToDate: " + CalendarPatterns.getDateWithTimeByMiliSeconds(end));
Appointment a = new Appointment();
- a.setTitle(subject);
- a.setDescription(message);
- a.setStart(start);
- a.setEnd(end);
- a.setCategory(appointmentCategoryDao.get(1L));
- a.setOwner(from);
+ if (a.getMeetingMembers() == null) {
+ a.setMeetingMembers(new ArrayList<MeetingMember>());
+ }
+ for (String email : recipients) {
+ MeetingMember mm = new MeetingMember();
+ mm.setAppointment(a);
+ mm.setUser(userDao.getContact(email, users_id));
+ a.getMeetingMembers().add(mm);
+ }
if (bookedRoom) {
+ TimeZone timezone = timezoneUtil.getTimeZone(from);
+ Date start = createCalendarDate(timezone, validFromDate, validFromTime);
+ Date end = createCalendarDate(timezone, validToDate, validToTime);
+
+ log.info("validFromDate: " + CalendarPatterns.getDateWithTimeByMiliSeconds(start));
+ log.info("validToDate: " + CalendarPatterns.getDateWithTimeByMiliSeconds(end));
+
+ a.setTitle(subject);
+ a.setDescription(message);
+ a.setStart(start);
+ a.setEnd(end);
+ a.setCategory(appointmentCategoryDao.get(1L));
+ a.setOwner(from);
+
a.setRoom(new Room());
a.getRoom().setAppointment(true);
a.getRoom().setName(subject);
@@ -383,38 +397,32 @@ public class UserService implements IUse
a.getRoom().setNumberOfPartizipants(100L);
a.getRoom().setAllowUserQuestions(true);
a.getRoom().setAllowFontStyles(true);
+
+ a = appointmentDao.update(a, users_id);
}
- for (String email : recipients) {
- MeetingMember mm = new MeetingMember();
- mm.setAppointment(a);
- mm.setUser(userDao.getContact(email, users_id));
- a.getMeetingMembers().add(mm);
- }
- a = appointmentDao.update(a, users_id);
for (MeetingMember mm : a.getMeetingMembers()) {
User to = mm.getUser();
Room room = a.getRoom();
- //TODO should be reviewed
- if (!to.getUser_id().equals(from.getUser_id())) {
- // One message to the Send
- privateMessagesDao.addPrivateMessage(subject,
- message, parentMessageId, from, to, from,
- bookedRoom, room, false, 0L);
-
- // One message to the Inbox
- privateMessagesDao.addPrivateMessage(subject,
- message, parentMessageId, from, to, to,
- bookedRoom, room, false, 0L);
- }
-
// We do not send an email to the one that has created the
// private message
- if (to != null && to.getUser_id().equals(from.getUser_id())) {
+ if (to != null && from.getUser_id().equals(to.getUser_id())) {
continue;
}
+ //TODO should be reviewed
+ // One message to the Send
+ privateMessagesDao.addPrivateMessage(subject,
+ message, parentMessageId, from, to, from,
+ bookedRoom, room, false, 0L);
+
+ // One message to the Inbox
+ privateMessagesDao.addPrivateMessage(subject,
+ message, parentMessageId, from, to, to,
+ bookedRoom, room, false, 0L);
+
if (to.getAdresses() != null) {
+ AbstractTemplatePanel.ensureApplication(from.getLanguage_id());
String aLinkHTML = "<br/><br/>" + "<a href='" + ContactsHelper.getLink() + "'>"
+ fieldLanguagesValuesDao.get(1302, from.getLanguage_id()) + "</a><br/>";
Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/UserService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/UserService.java?rev=1658892&r1=1658891&r2=1658892&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/UserService.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/UserService.java Wed Feb 11 07:26:41 2015
@@ -18,6 +18,8 @@
*/
package org.apache.openmeetings.core.remote;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -49,7 +51,6 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.user.UserContact;
import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.db.util.TimezoneUtil;
-import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.scope.IScope;
import org.slf4j.Logger;
@@ -63,8 +64,7 @@ import org.springframework.beans.factory
*/
public class UserService implements IUserService {
- private static final Logger log = Red5LoggerFactory.getLogger(
- UserService.class, OpenmeetingsVariables.webAppRootKey);
+ private static final Logger log = Red5LoggerFactory.getLogger(UserService.class, webAppRootKey);
@Autowired
private ISessionManager sessionManager;
Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/PrivateMessage.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/PrivateMessage.java?rev=1658892&r1=1658891&r2=1658892&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/PrivateMessage.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/PrivateMessage.java Wed Feb 11 07:26:41 2015
@@ -20,6 +20,7 @@ package org.apache.openmeetings.db.entit
import java.util.Date;
+import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
@@ -83,13 +84,13 @@ public class PrivateMessage implements I
@Element(data = true, required = false)
private User from;
- @ManyToOne(fetch = FetchType.EAGER)
+ @ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.MERGE)
@JoinColumn(name = "to_id")
@ForeignKey(enabled = true)
@Element(data = true, required = false)
private User to;
- @ManyToOne(fetch = FetchType.EAGER)
+ @ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.MERGE)
@JoinColumn(name = "owner_id")
@ForeignKey(enabled = true)
@Element(data = true, required = false)