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)