Author: solomax
Date: Wed Jan 25 14:55:08 2017
New Revision: 1780198
URL: http://svn.apache.org/viewvc?rev=1780198&view=rev
Log:
[OPENMEETINGS-1541] invitations for users with no TZ works
Modified:
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
Modified:
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java?rev=1780198&r1=1780197&r2=1780198&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
Wed Jan 25 14:55:08 2017
@@ -23,6 +23,7 @@ import static org.apache.openmeetings.ut
import java.util.Date;
import java.util.List;
+import java.util.TimeZone;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
@@ -31,6 +32,7 @@ import javax.persistence.TypedQuery;
import org.apache.openmeetings.db.entity.room.Invitation;
import org.apache.openmeetings.util.CalendarHelper;
+import org.apache.wicket.util.string.Strings;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.transaction.annotation.Transactional;
@@ -84,9 +86,18 @@ public class InvitationDao {
}
break;
case Period:
- LocalDateTime now =
ZonedDateTime.now(getZoneId(i.getInvitee().getTimeZoneId())).toLocalDateTime();
- LocalDateTime from =
CalendarHelper.getDateTime(i.getValidFrom(), i.getInvitee().getTimeZoneId());
- LocalDateTime to =
CalendarHelper.getDateTime(i.getValidTo(), i.getInvitee().getTimeZoneId());
+ String tzId =
i.getInvitee().getTimeZoneId();
+ if (Strings.isEmpty(tzId) &&
i.getAppointment() != null) {
+ log.warn("User with NO timezone
found: {}", i.getInvitee().getId());
+ tzId =
i.getAppointment().getOwner().getTimeZoneId();
+ }
+ if (Strings.isEmpty(tzId)) {
+ log.warn("Unable to obtain
valid timezone, setting SYSTEM TZ");
+ tzId =
TimeZone.getDefault().getID();
+ }
+ LocalDateTime now =
ZonedDateTime.now(getZoneId(tzId)).toLocalDateTime();
+ LocalDateTime from =
CalendarHelper.getDateTime(i.getValidFrom(), tzId);
+ LocalDateTime to =
CalendarHelper.getDateTime(i.getValidTo(), tzId);
i.setAllowEntry(now.isAfter(from) &&
now.isBefore(to));
break;
case Endless:
Modified:
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java?rev=1780198&r1=1780197&r2=1780198&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java
Wed Jan 25 14:55:08 2017
@@ -31,6 +31,7 @@ import org.apache.openmeetings.db.dto.us
import org.apache.openmeetings.db.entity.calendar.MeetingMember;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.wicket.ajax.json.JSONObject;
+import org.apache.wicket.util.string.Strings;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@@ -72,6 +73,9 @@ public class MeetingMemberDTO implements
u.setExternalId(null);
u.setExternalType(null);
}
+ if (Strings.isEmpty(u.getTimeZoneId())) {
+ u.setTimeZoneId(owner.getTimeZoneId());
+ }
mm.setUser(u);
}
return mm;
Modified:
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java?rev=1780198&r1=1780197&r2=1780198&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
Wed Jan 25 14:55:08 2017
@@ -301,6 +301,7 @@ public class CalendarWebService {
log.error("USER/Room modification as SOAP");
throw new ServiceException("Insufficient
permissions"); //TODO code -26
}
+ //TODO check if objects passed with IDs are correct
if (AuthLevelUtil.hasUserLevel(u.getRights())) {
Appointment a = appointment.get(userDao,
appointmentDao, u);
if (a.getRoom().getId() != null) {
Modified:
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java?rev=1780198&r1=1780197&r2=1780198&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
Wed Jan 25 14:55:08 2017
@@ -23,6 +23,7 @@ import static org.apache.openmeetings.ut
import java.util.Date;
import java.util.List;
+import java.util.TimeZone;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
@@ -31,6 +32,7 @@ import javax.persistence.TypedQuery;
import org.apache.openmeetings.db.entity.room.Invitation;
import org.apache.openmeetings.util.CalendarHelper;
+import org.apache.wicket.util.string.Strings;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.transaction.annotation.Transactional;
@@ -84,9 +86,18 @@ public class InvitationDao {
}
break;
case Period:
- LocalDateTime now =
ZonedDateTime.now(getZoneId(i.getInvitee().getTimeZoneId())).toLocalDateTime();
- LocalDateTime from =
CalendarHelper.getDateTime(i.getValidFrom(), i.getInvitee().getTimeZoneId());
- LocalDateTime to =
CalendarHelper.getDateTime(i.getValidTo(), i.getInvitee().getTimeZoneId());
+ String tzId =
i.getInvitee().getTimeZoneId();
+ if (Strings.isEmpty(tzId) &&
i.getAppointment() != null) {
+ log.warn("User with NO timezone
found: {}", i.getInvitee().getId());
+ tzId =
i.getAppointment().getOwner().getTimeZoneId();
+ }
+ if (Strings.isEmpty(tzId)) {
+ log.warn("Unable to obtain
valid timezone, setting SYSTEM TZ");
+ tzId =
TimeZone.getDefault().getID();
+ }
+ LocalDateTime now =
ZonedDateTime.now(getZoneId(tzId)).toLocalDateTime();
+ LocalDateTime from =
CalendarHelper.getDateTime(i.getValidFrom(), tzId);
+ LocalDateTime to =
CalendarHelper.getDateTime(i.getValidTo(), tzId);
i.setAllowEntry(now.isAfter(from) &&
now.isBefore(to));
break;
case Endless:
Modified:
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java?rev=1780198&r1=1780197&r2=1780198&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java
Wed Jan 25 14:55:08 2017
@@ -31,6 +31,7 @@ import org.apache.openmeetings.db.dto.us
import org.apache.openmeetings.db.entity.calendar.MeetingMember;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.wicket.ajax.json.JSONObject;
+import org.apache.wicket.util.string.Strings;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@@ -72,6 +73,9 @@ public class MeetingMemberDTO implements
u.setExternalId(null);
u.setExternalType(null);
}
+ if (Strings.isEmpty(u.getTimeZoneId())) {
+ u.setTimeZoneId(owner.getTimeZoneId());
+ }
mm.setUser(u);
}
return mm;
Modified:
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java?rev=1780198&r1=1780197&r2=1780198&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
Wed Jan 25 14:55:08 2017
@@ -302,6 +302,7 @@ public class CalendarWebService {
log.error("USER/Room modification as SOAP");
throw new ServiceException("Insufficient
permissions"); //TODO code -26
}
+ //TODO check if objects passed with IDs are correct
if (AuthLevelUtil.hasUserLevel(u.getRights())) {
Appointment a = appointment.get(userDao,
appointmentDao, u);
if (a.getRoom().getId() != null) {
Modified:
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java?rev=1780198&r1=1780197&r2=1780198&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
(original)
+++
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
Wed Jan 25 14:55:08 2017
@@ -23,6 +23,7 @@ import static org.apache.openmeetings.ut
import java.util.Date;
import java.util.List;
+import java.util.TimeZone;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
@@ -31,6 +32,7 @@ import javax.persistence.TypedQuery;
import org.apache.openmeetings.db.entity.room.Invitation;
import org.apache.openmeetings.util.CalendarHelper;
+import org.apache.wicket.util.string.Strings;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.transaction.annotation.Transactional;
@@ -84,9 +86,18 @@ public class InvitationDao {
}
break;
case Period:
- LocalDateTime now =
ZonedDateTime.now(getZoneId(i.getInvitee().getTimeZoneId())).toLocalDateTime();
- LocalDateTime from =
CalendarHelper.getDateTime(i.getValidFrom(), i.getInvitee().getTimeZoneId());
- LocalDateTime to =
CalendarHelper.getDateTime(i.getValidTo(), i.getInvitee().getTimeZoneId());
+ String tzId =
i.getInvitee().getTimeZoneId();
+ if (Strings.isEmpty(tzId) &&
i.getAppointment() != null) {
+ log.warn("User with NO timezone
found: {}", i.getInvitee().getId());
+ tzId =
i.getAppointment().getOwner().getTimeZoneId();
+ }
+ if (Strings.isEmpty(tzId)) {
+ log.warn("Unable to obtain
valid timezone, setting SYSTEM TZ");
+ tzId =
TimeZone.getDefault().getID();
+ }
+ LocalDateTime now =
ZonedDateTime.now(getZoneId(tzId)).toLocalDateTime();
+ LocalDateTime from =
CalendarHelper.getDateTime(i.getValidFrom(), tzId);
+ LocalDateTime to =
CalendarHelper.getDateTime(i.getValidTo(), tzId);
i.setAllowEntry(now.isAfter(from) &&
now.isBefore(to));
break;
case Endless:
Modified:
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java?rev=1780198&r1=1780197&r2=1780198&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java
(original)
+++
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/calendar/MeetingMemberDTO.java
Wed Jan 25 14:55:08 2017
@@ -31,6 +31,7 @@ import org.apache.openmeetings.db.dto.us
import org.apache.openmeetings.db.entity.calendar.MeetingMember;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.wicket.ajax.json.JSONObject;
+import org.apache.wicket.util.string.Strings;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@@ -72,6 +73,9 @@ public class MeetingMemberDTO implements
u.setExternalId(null);
u.setExternalType(null);
}
+ if (Strings.isEmpty(u.getTimeZoneId())) {
+ u.setTimeZoneId(owner.getTimeZoneId());
+ }
mm.setUser(u);
}
return mm;
Modified:
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java?rev=1780198&r1=1780197&r2=1780198&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
(original)
+++
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
Wed Jan 25 14:55:08 2017
@@ -302,6 +302,7 @@ public class CalendarWebService {
log.error("USER/Room modification as SOAP");
throw new ServiceException("Insufficient
permissions"); //TODO code -26
}
+ //TODO check if objects passed with IDs are correct
if (AuthLevelUtil.hasUserLevel(u.getRights())) {
Appointment a = appointment.get(userDao,
appointmentDao, u);
if (a.getRoom().getId() != null) {