Author: iarkh
Date: Fri Mar 1 08:36:23 2013
New Revision: 1451522
URL: http://svn.apache.org/r1451522
Log:
[OPENMEETINGS-378]: Email notification rules have been changed;
NullPointerException when invite external guest is fixed.
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/daos/AppointmentDao.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/daos/MeetingMemberDao.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/InvitationManager.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/math/TimezoneUtil.java
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/daos/AppointmentDao.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/daos/AppointmentDao.java?rev=1451522&r1=1451521&r2=1451522&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/daos/AppointmentDao.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/daos/AppointmentDao.java
Fri Mar 1 08:36:23 2013
@@ -420,6 +420,12 @@ public class AppointmentDao {
AppointmentCategory appointmentCategory =
appointmentCategoryDaoImpl
.getAppointmentCategoryById(categoryId);
+ boolean sendMail =
!ap.getAppointmentName().equals(appointmentName) ||
+
!ap.getAppointmentDescription().equals(appointmentDescription) ||
+
!ap.getAppointmentLocation().equals(appointmentLocation) ||
+
!ap.getAppointmentStarttime().equals(appointmentstart) ||
+
!ap.getAppointmentEndtime().equals(appointmentend);
+
// change connected events of other participants
if (ap.getIsConnectedEvent() != null &&
ap.getIsConnectedEvent()) {
this.updateConnectedEvents(ap, appointmentName,
@@ -509,7 +515,7 @@ public class AppointmentDao {
} else {
// Notify member of changes
invitationManager.updateInvitation(ap,
memberRemote,
- users_id, language_id,
invitorName);
+ users_id, language_id,
invitorName, sendMail);
}
}
@@ -581,8 +587,10 @@ public class AppointmentDao {
// Not In Remote List available
- intern OR extern user
meetingMemberLogic.addMeetingMember(
-
clientMember.get("firstname").toString(),
-
clientMember.get("lastname").toString(),
+
clientMember.get("firstname") == null ?
+
clientMember.get("firstname").toString() : "",
+
clientMember.get("lastname") == null ?
+
clientMember.get("lastname").toString() : "",
"0", // member
- Status
"0", //
appointement - Status
appointmentId,
@@ -623,6 +631,9 @@ public class AppointmentDao {
Appointment ap = this.getAppointmentById(appointmentId);
+ if (!ap.getStarttime().equals(appointmentstart) ||
+
!ap.getAppointmentEndtime().equals(appointmentend)) {
+
// change connected events of other participants
if (ap.getIsConnectedEvent() != null &&
ap.getIsConnectedEvent()) {
this.updateConnectedEventsTimeOnly(ap,
appointmentstart,
@@ -639,11 +650,9 @@ public class AppointmentDao {
if (ap.getAppointmentId() == null) {
em.persist(ap);
- } else {
- if (!em.contains(ap)) {
+ } else if (!em.contains(ap)) {
em.merge(ap);
}
- }
List<MeetingMember> meetingsRemoteMembers =
meetingMemberDao
.getMeetingMemberByAppointmentId(ap.getAppointmentId());
@@ -658,10 +667,10 @@ public class AppointmentDao {
// Notify member of changes
invitationManager.updateInvitation(ap,
memberRemote,
- users_id, language_id,
invitorName);
+ users_id, language_id,
invitorName, true);
}
-
+ }
return appointmentId;
} catch (Exception ex2) {
log.error("[updateAppointmentByTime]: ", ex2);
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/daos/MeetingMemberDao.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/daos/MeetingMemberDao.java?rev=1451522&r1=1451521&r2=1451522&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/daos/MeetingMemberDao.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/daos/MeetingMemberDao.java
Fri Mar 1 08:36:23 2013
@@ -188,7 +188,7 @@ public class MeetingMemberDao {
gm.setMemberStatus(memberStatus);
gm.setAppointmentStatus(appointmentStatus);
gm.setAppointment(appointmentDao.getAppointmentById(appointmentId));
- gm.setUserid(usersDao.get(userid));
+ gm.setUserid(userid == null ? null :
usersDao.get(userid));
gm.setEmail(email);
gm.setPhone(phone);
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/InvitationManager.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/InvitationManager.java?rev=1451522&r1=1451521&r2=1451522&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/InvitationManager.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/InvitationManager.java
Fri Mar 1 08:36:23 2013
@@ -360,7 +360,7 @@ public class InvitationManager {
*/
//
-----------------------------------------------------------------------------------------------
public void updateInvitation(Appointment appointment, MeetingMember
member,
- Long canceling_user_id, Long language_id, String
invitorName) {
+ Long canceling_user_id, Long language_id, String
invitorName, boolean sendMail) {
log.debug("updateInvitation");
@@ -398,6 +398,7 @@ public class InvitationManager {
// checking reminderType and send emails, reminder type 1
receives
// nothing
+ if (sendMail) {
if (appointment.getRemind().getTypId() == 2) {
sendInvitationUpdateMail(member.getEmail(),
appointment, user
.getAdresses().getEmail(), subject,
message);
@@ -414,6 +415,7 @@ public class InvitationManager {
+ member.getEmail() + " : " +
e.getMessage());
}
}
+ }
}
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/math/TimezoneUtil.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/math/TimezoneUtil.java?rev=1451522&r1=1451521&r2=1451522&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/math/TimezoneUtil.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/math/TimezoneUtil.java
Fri Mar 1 08:36:23 2013
@@ -179,6 +179,7 @@ public class TimezoneUtil {
cal.set(Calendar.HOUR_OF_DAY,
calOrig.get(Calendar.HOUR_OF_DAY));
cal.set(Calendar.MINUTE, calOrig.get(Calendar.MINUTE));
cal.set(Calendar.SECOND, calOrig.get(Calendar.SECOND));
+ cal.set(Calendar.MILLISECOND, 0);
return cal;
}