Author: solomax
Date: Fri Sep 18 13:36:29 2015
New Revision: 1703846
URL: http://svn.apache.org/viewvc?rev=1703846&view=rev
Log:
[OPENMEETINGS-1249] invitation date/time is saved/checked correctly
Added:
openmeetings/branches/3.0.x/src/util/java/org/apache/openmeetings/util/CalendarHelper.java
- copied, changed from r1703487,
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/util/CalendarHelper.java
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/util/CalendarWebHelper.java
openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarHelper.java
- copied, changed from r1703487,
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CalendarHelper.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CalendarWebHelper.java
Removed:
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/util/CalendarHelper.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CalendarHelper.java
Modified:
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/InvitationManager.java
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/InvitationService.java
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentModel.java
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/OmCalendarEvent.java
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.java
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
openmeetings/trunk/singlewebapp/openmeetings-util/pom.xml
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentModel.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/OmCalendarEvent.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessageDialog.java
Modified:
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/InvitationManager.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/InvitationManager.java?rev=1703846&r1=1703845&r2=1703846&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/InvitationManager.java
(original)
+++
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/InvitationManager.java
Fri Sep 18 13:36:29 2015
@@ -21,7 +21,6 @@ package org.apache.openmeetings.data.con
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.security.NoSuchAlgorithmException;
-import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.TimeZone;
@@ -41,6 +40,7 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.util.TimezoneUtil;
import org.apache.openmeetings.mail.MailHandler;
import org.apache.openmeetings.mail.SMSHandler;
+import org.apache.openmeetings.util.CalendarHelper;
import org.apache.openmeetings.util.LinkHelper;
import org.apache.openmeetings.util.crypt.MD5;
import org.apache.openmeetings.util.crypt.ManageCryptStyle;
@@ -54,6 +54,7 @@ import org.apache.wicket.util.string.Str
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
+import org.threeten.bp.LocalDateTime;
/**
*
@@ -176,46 +177,42 @@ public class InvitationManager implement
public Object getInvitationByHashCode(String hashCode, boolean
hidePass) {
try {
log.debug("Invitation was requested by hashcode: " +
hashCode);
- Invitation invitation =
invitationDao.getInvitationByHashCode(hashCode, hidePass);
+ Invitation i =
invitationDao.getInvitationByHashCode(hashCode, hidePass);
- if (invitation == null) {
+ if (i == null) {
// already deleted or does not exist
return new Long(-31);
} else {
- switch (invitation.getValid()) {
+ switch (i.getValid()) {
case OneTime:
// do this only if the user
tries to get the Invitation, not
// while checking the PWD
if (hidePass) {
// one-time invitation
- if
(invitation.isUsed()) {
+ if (i.isUsed()) {
// Invitation
is of type *only-one-time* and was
// already used
return new
Long(-32);
} else {
// set to true
if this is the first time / a normal
//
getInvitation-Query
-
invitation.setUsed(true);
-
invitationDao.update(invitation);
+ i.setUsed(true);
+
invitationDao.update(i);
//
invitation.setInvitationpass(null);
-
invitation.setAllowEntry(true);
+
i.setAllowEntry(true);
}
} else {
-
invitation.setAllowEntry(true);
+ i.setAllowEntry(true);
}
break;
case Period:
- TimeZone tz =
timezoneUtil.getTimeZone(invitation.getInvitee());
- Calendar now =
Calendar.getInstance(tz);
- Calendar start =
Calendar.getInstance(tz);
-
start.setTime(invitation.getValidFrom());
-
- Calendar end =
Calendar.getInstance(tz);
-
end.setTime(invitation.getValidTo());
- if (now.after(start) &&
now.before(end)) {
-
invitationDao.update(invitation);
+ LocalDateTime now =
LocalDateTime.now();
+ LocalDateTime from =
CalendarHelper.getDateTime(i.getValidFrom(), i.getInvitee().getTimeZoneId());
+ LocalDateTime to =
CalendarHelper.getDateTime(i.getValidTo(), i.getInvitee().getTimeZoneId());
+ if (now.isAfter(from) &&
now.isBefore(to)) {
+ invitationDao.update(i);
//
invitation.setInvitationpass(null);
-
invitation.setAllowEntry(true);
+ i.setAllowEntry(true);
} else {
// Invitation is of
type *period* and is not valid
@@ -223,18 +220,18 @@ public class InvitationManager implement
// correctly
// in the method where
it shows that the hash code does
// not work anymore
-
invitation.setAllowEntry(false);
+ i.setAllowEntry(false);
}
break;
case Endless:
default:
-
invitationDao.update(invitation);
+ invitationDao.update(i);
- invitation.setAllowEntry(true);
+ i.setAllowEntry(true);
//
invitation.setInvitationpass(null);
break;
}
- return invitation;
+ return i;
}
} catch (Exception err) {
@@ -256,9 +253,6 @@ public class InvitationManager implement
if (obj instanceof Invitation) {
Invitation invitation = (Invitation) obj;
- // log.debug("invitationId
"+invitation.getInvitations_id());
- // log.debug("pass "+pass);
- // log.debug("getInvitationpass
"+invitation.getInvitationpass());
if
(ManageCryptStyle.getInstanceOfCrypt().verifyPassword(pass,
invitation.getPassword())) {
return new Long(1);
Modified:
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/InvitationService.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/InvitationService.java?rev=1703846&r1=1703845&r2=1703846&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/InvitationService.java
(original)
+++
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/InvitationService.java
Fri Sep 18 13:36:29 2015
@@ -20,7 +20,7 @@ package org.apache.openmeetings.remote;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
-import java.util.Calendar;
+import java.util.Date;
import org.apache.openmeetings.data.conference.InvitationManager;
import org.apache.openmeetings.db.dao.calendar.IInvitationManager.MessageType;
@@ -30,13 +30,14 @@ import org.apache.openmeetings.db.dao.us
import org.apache.openmeetings.db.entity.room.Invitation;
import org.apache.openmeetings.db.entity.room.Invitation.Valid;
import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.db.util.TimezoneUtil;
import org.apache.openmeetings.util.AuthLevelUtil;
+import org.apache.openmeetings.util.CalendarHelper;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.service.IPendingServiceCall;
import org.red5.server.api.service.IPendingServiceCallback;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
+import org.threeten.bp.LocalDateTime;
public class InvitationService implements IPendingServiceCallback {
private static final Logger log =
Red5LoggerFactory.getLogger(InvitationService.class, webAppRootKey);
@@ -47,25 +48,21 @@ public class InvitationService implement
@Autowired
private InvitationManager invitationManager;
@Autowired
- private TimezoneUtil timezoneUtil;
- @Autowired
private RoomDao roomDao;
public void resultReceived(IPendingServiceCall arg0) {
log.debug("InvitationService resultReceived" + arg0);
}
- private Calendar getDate(String date, String time, String tzId) {
- Calendar c =
Calendar.getInstance(timezoneUtil.getTimeZone(tzId));
- c.set(Calendar.YEAR, Integer.parseInt(date.substring(6)));
- c.set(Calendar.MONTH, Integer.parseInt(date.substring(3, 5)) -
1);
- c.set(Calendar.DAY_OF_MONTH, Integer.parseInt(date.substring(0,
2)));
- c.set(Calendar.HOUR_OF_DAY, Integer.parseInt(time.substring(0,
2)));
- c.set(Calendar.MINUTE, Integer.parseInt(time.substring(3, 5)));
- c.set(Calendar.SECOND, 0);
- c.set(Calendar.MILLISECOND, 0);
-
- return c;
+ private Date getDate(String date, String time, String tzId) {
+ LocalDateTime d = LocalDateTime.of(
+ Integer.parseInt(date.substring(6)) //year
+ , Integer.parseInt(date.substring(3, 5)) - 1
//month
+ , Integer.parseInt(date.substring(0, 2))
//dayOfMonth
+ , Integer.parseInt(time.substring(0, 2)) //hour
+ , Integer.parseInt(time.substring(3, 5))
//minute
+ );
+ return CalendarHelper.getDate(d, tzId);
}
/**
@@ -103,8 +100,8 @@ public class InvitationService implement
if
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
log.debug("sendInvitationHash: ");
- Calendar calFrom = getDate(validFromDate,
validFromTime, iCalTz);
- Calendar calTo = getDate(validToDate,
validToTime, iCalTz);
+ Date from = getDate(validFromDate,
validFromTime, iCalTz);
+ Date to = getDate(validToDate, validToTime,
iCalTz);
User owner = null;
if (users_id < 0) {
@@ -115,7 +112,7 @@ public class InvitationService implement
Invitation invitation =
invitationManager.getInvitation(invitee, roomDao.get(room_id),
isPasswordProtected, invitationpass, Valid.fromInt(valid)
,
userDao.get(users_id), language_id,
-
calFrom.getTime(), calTo.getTime(), null);
+ from, to, null);
if (invitation != null) {
if (sendMail) {
Copied:
openmeetings/branches/3.0.x/src/util/java/org/apache/openmeetings/util/CalendarHelper.java
(from r1703487,
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/util/CalendarHelper.java)
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/util/java/org/apache/openmeetings/util/CalendarHelper.java?p2=openmeetings/branches/3.0.x/src/util/java/org/apache/openmeetings/util/CalendarHelper.java&p1=openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/util/CalendarHelper.java&r1=1703487&r2=1703846&rev=1703846&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/util/CalendarHelper.java
(original)
+++
openmeetings/branches/3.0.x/src/util/java/org/apache/openmeetings/util/CalendarHelper.java
Fri Sep 18 13:36:29 2015
@@ -16,9 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.web.util;
-
-import static org.apache.openmeetings.web.app.WebSession.getUserTimeZone;
+package org.apache.openmeetings.util;
import java.util.Date;
@@ -29,36 +27,36 @@ import org.threeten.bp.ZoneId;
import org.threeten.bp.ZonedDateTime;
public class CalendarHelper {
- public static ZoneId getZoneId() {
- return ZoneId.of(getUserTimeZone().getID());
+ public static ZoneId getZoneId(String tzId) {
+ return ZoneId.of(tzId);
}
- public static Date getDate(LocalDate d) {
- return getDate(d.atStartOfDay());
+ public static Date getDate(LocalDate d, String tzId) {
+ return getDate(d.atStartOfDay(), tzId);
}
- public static Date getDate(LocalDateTime d) {
- return new
Date(d.atZone(getZoneId()).toInstant().toEpochMilli());
+ public static Date getDate(LocalDateTime d, String tzId) {
+ return new
Date(d.atZone(getZoneId(tzId)).toInstant().toEpochMilli());
}
- public static ZonedDateTime getZoneDateTime(Date d) {
+ public static ZonedDateTime getZoneDateTime(Date d, String tzId) {
if (d == null) {
d = new Date();
}
- return
Instant.ofEpochMilli(d.getTime()).atZone(ZoneId.of(getUserTimeZone().getID()));
+ return
Instant.ofEpochMilli(d.getTime()).atZone(getZoneId(tzId));
}
- public static LocalDate getDate(Date d) {
+ public static LocalDate getDate(Date d, String tzId) {
if (d == null) {
d = new Date();
}
- return getZoneDateTime(d).toLocalDate();
+ return getZoneDateTime(d, tzId).toLocalDate();
}
- public static LocalDateTime getDateTime(Date d) {
+ public static LocalDateTime getDateTime(Date d, String tzId) {
if (d == null) {
d = new Date();
}
- return getZoneDateTime(d).toLocalDateTime();
+ return getZoneDateTime(d, tzId).toLocalDateTime();
}
}
Modified:
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java?rev=1703846&r1=1703845&r2=1703846&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java
(original)
+++
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java
Fri Sep 18 13:36:29 2015
@@ -38,9 +38,9 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.user.Salutation;
import org.apache.openmeetings.db.entity.user.State;
import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.util.CalendarHelper;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
-import org.apache.openmeetings.web.util.CalendarHelper;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
import
org.apache.wicket.extensions.validation.validator.RfcCompliantEmailAddressValidator;
@@ -127,7 +127,8 @@ public class GeneralUserForm extends For
@Override
public void onValueChanged(AjaxRequestTarget target) {
-
GeneralUserForm.this.getModelObject().setAge(CalendarHelper.getDate(age));
+ User u = GeneralUserForm.this.getModelObject();
+ u.setAge(CalendarHelper.getDate(age,
u.getTimeZoneId()));
}
});
add(new TextField<String>("adresses.street"));
@@ -186,7 +187,7 @@ public class GeneralUserForm extends For
public void updateModelObject(User u) {
salutation =
getBean(SalutationDao.class).get(u.getSalutations_id(), getLanguage());
- age = CalendarHelper.getDate(u.getAge());
+ age = CalendarHelper.getDate(u.getAge(), u.getTimeZoneId());
}
@Override
Modified:
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java?rev=1703846&r1=1703845&r2=1703846&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
(original)
+++
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
Fri Sep 18 13:36:29 2015
@@ -22,6 +22,8 @@ import static org.apache.openmeetings.ut
import static org.apache.openmeetings.web.app.Application.getBean;
import static org.apache.openmeetings.web.app.WebSession.getLanguage;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.web.util.CalendarWebHelper.getDate;
+import static org.apache.openmeetings.web.util.CalendarWebHelper.getDateTime;
import static org.apache.openmeetings.web.util.RoomTypeDropDown.getRoomTypes;
import java.util.ArrayList;
@@ -48,7 +50,6 @@ import org.apache.openmeetings.web.app.W
import org.apache.openmeetings.web.common.OmDateTimePicker;
import org.apache.openmeetings.web.pages.MainPage;
import org.apache.openmeetings.web.user.rooms.RoomEnterBehavior;
-import org.apache.openmeetings.web.util.CalendarHelper;
import org.apache.openmeetings.web.util.FormatHelper;
import org.apache.openmeetings.web.util.RoomTypeDropDown;
import org.apache.openmeetings.web.util.UserMultiChoice;
@@ -104,8 +105,8 @@ public class AppointmentDialog extends A
public void setModelObjectWithAjaxTarget(Appointment a,
AjaxRequestTarget target) {
form.setModelObject(a);
-
form.start.setModelObject(CalendarHelper.getDateTime(a.getStart()));
- form.end.setModelObject(CalendarHelper.getDateTime(a.getEnd()));
+ form.start.setModelObject(getDateTime(a.getStart()));
+ form.end.setModelObject(getDateTime(a.getEnd()));
form.setEnabled(isOwner(a));
log.debug(" -- setModelObjectWithAjaxTarget -- Current model "
+ a);
if (a.getId() != null) {
@@ -212,8 +213,8 @@ public class AppointmentDialog extends A
}
}
a.setMeetingMembers(attendees);
- a.setStart(CalendarHelper.getDate(form.start.getModelObject()));
- a.setEnd(CalendarHelper.getDate(form.end.getModelObject()));
+ a.setStart(getDate(form.start.getModelObject()));
+ a.setEnd(getDate(form.end.getModelObject()));
getBean(AppointmentDao.class).update(a, getUserId());
target.add(feedback);
calendarPanel.refresh(target);
Modified:
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentModel.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentModel.java?rev=1703846&r1=1703845&r2=1703846&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentModel.java
(original)
+++
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentModel.java
Fri Sep 18 13:36:29 2015
@@ -18,15 +18,15 @@
*/
package org.apache.openmeetings.web.user.calendar;
+import static org.apache.openmeetings.web.app.Application.getBean;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.web.util.CalendarWebHelper.getDate;
import java.util.ArrayList;
import java.util.List;
import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
import org.apache.openmeetings.db.entity.calendar.Appointment;
-import org.apache.openmeetings.web.app.Application;
-import org.apache.openmeetings.web.util.CalendarHelper;
import com.googlecode.wicket.jquery.ui.calendar.CalendarEvent;
import com.googlecode.wicket.jquery.ui.calendar.CalendarModel;
@@ -42,7 +42,7 @@ public class AppointmentModel extends Ca
@Override
protected List<? extends CalendarEvent> load() {
List<CalendarEvent> list = new ArrayList<CalendarEvent>();
- for (Appointment a :
Application.getBean(AppointmentDao.class).getAppointmentsByRange(getUserId(),
CalendarHelper.getDate(getStart()), CalendarHelper.getDate(getEnd()))) {
+ for (Appointment a :
getBean(AppointmentDao.class).getAppointmentsByRange(getUserId(),
getDate(getStart()), getDate(getEnd()))) {
list.add(new OmCalendarEvent(a));
}
return list;
Modified:
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java?rev=1703846&r1=1703845&r2=1703846&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
(original)
+++
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
Fri Sep 18 13:36:29 2015
@@ -22,6 +22,8 @@ import static org.apache.openmeetings.ut
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import static org.apache.openmeetings.web.app.Application.getBean;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.web.util.CalendarWebHelper.getDate;
+import static org.apache.openmeetings.web.util.CalendarWebHelper.getZoneId;
import java.util.Date;
@@ -33,7 +35,6 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.common.UserPanel;
-import org.apache.openmeetings.web.util.CalendarHelper;
import org.apache.wicket.ajax.AbstractAjaxTimerBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.json.JSONArray;
@@ -200,12 +201,12 @@ public class CalendarPanel extends UserP
Appointment a = getDefault();
LocalDateTime s = start, e = end;
if (CalendarView.month == view) {
- LocalDateTime now =
ZonedDateTime.now(CalendarHelper.getZoneId()).toLocalDateTime();
+ LocalDateTime now =
ZonedDateTime.now(getZoneId()).toLocalDateTime();
s =
start.withHour(now.getHour()).withMinute(now.getMinute());
e = s.plus(1, ChronoUnit.HOURS);
}
- a.setStart(CalendarHelper.getDate(s));
- a.setEnd(CalendarHelper.getDate(e));
+ a.setStart(getDate(s));
+ a.setEnd(getDate(e));
dialog.setModelObjectWithAjaxTarget(a, target);
dialog.open(target);
Modified:
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/OmCalendarEvent.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/OmCalendarEvent.java?rev=1703846&r1=1703845&r2=1703846&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/OmCalendarEvent.java
(original)
+++
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/OmCalendarEvent.java
Fri Sep 18 13:36:29 2015
@@ -18,8 +18,9 @@
*/
package org.apache.openmeetings.web.user.calendar;
+import static org.apache.openmeetings.web.util.CalendarWebHelper.getDateTime;
+
import org.apache.openmeetings.db.entity.calendar.Appointment;
-import org.apache.openmeetings.web.util.CalendarHelper;
import com.googlecode.wicket.jquery.ui.calendar.CalendarEvent;
@@ -28,8 +29,8 @@ public class OmCalendarEvent extends Cal
public OmCalendarEvent(Appointment a) {
super(a.getId().intValue(), a.getTitle(), null);
- setStart(CalendarHelper.getDateTime(a.getStart()));
- setEnd(CalendarHelper.getDateTime(a.getEnd()));
+ setStart(getDateTime(a.getStart()));
+ setEnd(getDateTime(a.getEnd()));
setEditable(AppointmentDialog.isOwner(a));
setAllDay(false);
}
Modified:
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.java?rev=1703846&r1=1703845&r2=1703846&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.java
(original)
+++
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.java
Fri Sep 18 13:36:29 2015
@@ -45,10 +45,11 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.entity.user.User.Type;
import org.apache.openmeetings.mail.MailHandler;
+import org.apache.openmeetings.util.CalendarHelper;
import org.apache.openmeetings.util.LinkHelper;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.common.OmDateTimePicker;
-import org.apache.openmeetings.web.util.CalendarHelper;
+import org.apache.openmeetings.web.util.CalendarWebHelper;
import org.apache.openmeetings.web.util.ContactsHelper;
import org.apache.openmeetings.web.util.RoomTypeDropDown;
import org.apache.openmeetings.web.util.UserMultiChoice;
@@ -178,6 +179,8 @@ public class MessageDialog extends Abstr
protected void onSubmit(AjaxRequestTarget target) {
PrivateMessage p = getModelObject();
p.setInserted(new Date());
+ UserDao userDao = getBean(UserDao.class);
+ User owner = userDao.get(getUserId());
if (p.isBookedRoom()) {
Room r = p.getRoom();
r.setName(p.getSubject());
@@ -191,8 +194,8 @@ public class MessageDialog extends Abstr
a.setTitle(p.getSubject());
a.setDescription(p.getMessage());
a.setRoom(r);
-
a.setStart(CalendarHelper.getDate(start.getModelObject()));
- a.setEnd(CalendarHelper.getDate(end.getModelObject()));
+
a.setStart(CalendarWebHelper.getDate(start.getModelObject()));
+
a.setEnd(CalendarWebHelper.getDate(end.getModelObject()));
List<MeetingMember> attendees = new ArrayList<>();
for (User to : modelTo.getObject()) {
MeetingMember mm = new MeetingMember();
@@ -203,7 +206,7 @@ public class MessageDialog extends Abstr
mm.setAppointment(a);
attendees.add(mm);
}
- a.setOwner(getBean(UserDao.class).get(getUserId()));
+ a.setOwner(owner);
a.setMeetingMembers(attendees);
getBean(AppointmentDao.class).update(a, getUserId(), false);
p.setRoom(r);
@@ -212,7 +215,6 @@ public class MessageDialog extends Abstr
}
PrivateMessagesDao msgDao = getBean(PrivateMessagesDao.class);
for (User to : modelTo.getObject()) {
- UserDao userDao = getBean(UserDao.class);
if (to.getUser_id() == null) {
userDao.update(to, getUserId());
}
@@ -228,13 +230,13 @@ public class MessageDialog extends Abstr
msgDao.update(p, getUserId());
if (to.getAdresses() != null) {
String aLinkHTML = (isPrivate &&
to.getType() == Type.user) ? "<br/><br/>" + "<a href='" +
ContactsHelper.getLink() + "'>"
- +
Application.getString(1302) + "</a><br/>" : "";
+ +
Application.getString(1302, to.getLanguage_id()) + "</a><br/>" : "";
String invitation_link = "";
if (p.isBookedRoom()) {
Invitation i =
getBean(InvitationManager.class).getInvitation(to, p.getRoom(),
- false, null,
Valid.Period
- ,
userDao.get(getUserId()), userDao.get(getUserId()).getLanguage_id(),
-
CalendarHelper.getDate(start.getModelObject()),
CalendarHelper.getDate(end.getModelObject()), null);
+ false, null,
Valid.Period, owner, to.getLanguage_id()
+ ,
CalendarHelper.getDate(start.getModelObject(), to.getTimeZoneId())
+ ,
CalendarHelper.getDate(end.getModelObject(), to.getTimeZoneId()), null);
invitation_link =
LinkHelper.getInvitationLink(getBean(ConfigurationDao.class).getBaseUrl(), i);
@@ -242,15 +244,15 @@ public class MessageDialog extends Abstr
invitation_link = "";
} else {
invitation_link = "<br/>" //
- +
Application.getString(503)
+ +
Application.getString(503, to.getLanguage_id())
+ "<br/><a
href='" + invitation_link
+ "'>"
- +
Application.getString(504) + "</a><br/>";
+ +
Application.getString(504, to.getLanguage_id()) + "</a><br/>";
}
}
getBean(MailHandler.class).send(to.getAdresses().getEmail(),
- Application.getString(1301) +
p.getSubject(),
+ Application.getString(1301,
to.getLanguage_id()) + p.getSubject(),
(p.getMessage() == null ? "" :
p.getMessage().replaceAll("\\<.*?>", "")) + aLinkHTML + invitation_link);
}
}
Added:
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/util/CalendarWebHelper.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/util/CalendarWebHelper.java?rev=1703846&view=auto
==============================================================================
---
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/util/CalendarWebHelper.java
(added)
+++
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/util/CalendarWebHelper.java
Fri Sep 18 13:36:29 2015
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.util;
+
+import static org.apache.openmeetings.web.app.WebSession.getUserTimeZone;
+
+import java.util.Date;
+
+import org.apache.openmeetings.util.CalendarHelper;
+import org.threeten.bp.LocalDate;
+import org.threeten.bp.LocalDateTime;
+import org.threeten.bp.ZoneId;
+
+public class CalendarWebHelper extends CalendarHelper {
+ public static ZoneId getZoneId() {
+ return getZoneId(getUserTimeZone().getID());
+ }
+
+ public static Date getDate(LocalDateTime d) {
+ return getDate(d, getUserTimeZone().getID());
+ }
+
+ public static Date getDate(LocalDate d) {
+ return getDate(d, getUserTimeZone().getID());
+ }
+
+ public static LocalDateTime getDateTime(Date d) {
+ return getDateTime(d, getUserTimeZone().getID());
+ }
+}
Modified:
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java?rev=1703846&r1=1703845&r2=1703846&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
Fri Sep 18 13:36:29 2015
@@ -20,10 +20,9 @@ package org.apache.openmeetings.core.rem
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
-import java.util.Calendar;
+import java.util.Date;
import org.apache.openmeetings.db.dao.room.IInvitationManager;
-import org.apache.openmeetings.db.dao.room.InvitationDao;
import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
import org.apache.openmeetings.db.dao.user.UserDao;
@@ -32,12 +31,13 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.room.Invitation.Valid;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.util.AuthLevelUtil;
-import org.apache.openmeetings.db.util.TimezoneUtil;
+import org.apache.openmeetings.util.CalendarHelper;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.service.IPendingServiceCall;
import org.red5.server.api.service.IPendingServiceCallback;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
+import org.threeten.bp.LocalDateTime;
public class InvitationService implements IPendingServiceCallback {
private static final Logger log =
Red5LoggerFactory.getLogger(InvitationService.class, webAppRootKey);
@@ -48,27 +48,21 @@ public class InvitationService implement
@Autowired
private IInvitationManager invitationManager;
@Autowired
- private InvitationDao invitationDao;
- @Autowired
- private TimezoneUtil timezoneUtil;
- @Autowired
private RoomDao roomDao;
public void resultReceived(IPendingServiceCall arg0) {
log.debug("InvitationService resultReceived" + arg0);
}
- private Calendar getDate(String date, String time, String tzId) {
- Calendar c =
Calendar.getInstance(timezoneUtil.getTimeZone(tzId));
- c.set(Calendar.YEAR, Integer.parseInt(date.substring(6)));
- c.set(Calendar.MONTH, Integer.parseInt(date.substring(3, 5)) -
1);
- c.set(Calendar.DAY_OF_MONTH, Integer.parseInt(date.substring(0,
2)));
- c.set(Calendar.HOUR_OF_DAY, Integer.parseInt(time.substring(0,
2)));
- c.set(Calendar.MINUTE, Integer.parseInt(time.substring(3, 5)));
- c.set(Calendar.SECOND, 0);
- c.set(Calendar.MILLISECOND, 0);
-
- return c;
+ private Date getDate(String date, String time, String tzId) {
+ LocalDateTime d = LocalDateTime.of(
+ Integer.parseInt(date.substring(6)) //year
+ , Integer.parseInt(date.substring(3, 5)) - 1
//month
+ , Integer.parseInt(date.substring(0, 2))
//dayOfMonth
+ , Integer.parseInt(time.substring(0, 2)) //hour
+ , Integer.parseInt(time.substring(3, 5))
//minute
+ );
+ return CalendarHelper.getDate(d, tzId);
}
/**
@@ -106,8 +100,8 @@ public class InvitationService implement
if
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
log.debug("sendInvitationHash: ");
- Calendar calFrom = getDate(validFromDate,
validFromTime, iCalTz);
- Calendar calTo = getDate(validToDate,
validToTime, iCalTz);
+ Date from = getDate(validFromDate,
validFromTime, iCalTz);
+ Date to = getDate(validToDate, validToTime,
iCalTz);
User owner = null;
if (users_id < 0) {
@@ -118,7 +112,7 @@ public class InvitationService implement
Invitation invitation =
invitationManager.getInvitation(invitee, roomDao.get(room_id),
isPasswordProtected, invitationpass, Valid.fromInt(valid)
,
userDao.get(users_id), languageId,
-
calFrom.getTime(), calTo.getTime(), null);
+ from, to, null);
if (invitation != null) {
if (sendMail) {
@@ -155,7 +149,7 @@ public class InvitationService implement
}
public Object getInvitationByHash(String hashCode) {
- return invitationDao.getInvitationByHashCode(hashCode, true);
+ return invitationManager.getInvitationByHashCode(hashCode,
true);
}
public Object checkInvitationPass(String hashCode, String pass) {
Modified:
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java?rev=1703846&r1=1703845&r2=1703846&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
Fri Sep 18 13:36:29 2015
@@ -22,7 +22,6 @@ import static org.apache.openmeetings.ut
import static
org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
import java.security.NoSuchAlgorithmException;
-import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.TimeZone;
@@ -50,6 +49,7 @@ import org.apache.openmeetings.service.m
import
org.apache.openmeetings.service.mail.template.CreatedAppointmentTemplate;
import org.apache.openmeetings.service.mail.template.InvitationTemplate;
import
org.apache.openmeetings.service.mail.template.UpdatedAppointmentTemplate;
+import org.apache.openmeetings.util.CalendarHelper;
import org.apache.openmeetings.util.crypt.MD5;
import org.apache.openmeetings.util.crypt.ManageCryptStyle;
import org.apache.openmeetings.util.mail.IcalHandler;
@@ -58,6 +58,7 @@ import org.apache.wicket.util.string.Str
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
+import org.threeten.bp.LocalDateTime;
/**
*
@@ -180,46 +181,42 @@ public class InvitationManager implement
public Object getInvitationByHashCode(String hashCode, boolean
hidePass) {
try {
log.debug("Invitation was requested by hashcode: " +
hashCode);
- Invitation invitation =
invitationDao.getInvitationByHashCode(hashCode, hidePass);
+ Invitation i =
invitationDao.getInvitationByHashCode(hashCode, hidePass);
- if (invitation == null) {
+ if (i == null) {
// already deleted or does not exist
return new Long(-31);
} else {
- switch (invitation.getValid()) {
+ switch (i.getValid()) {
case OneTime:
// do this only if the user
tries to get the Invitation, not
// while checking the PWD
if (hidePass) {
// one-time invitation
- if
(invitation.isUsed()) {
+ if (i.isUsed()) {
// Invitation
is of type *only-one-time* and was
// already used
return new
Long(-32);
} else {
// set to true
if this is the first time / a normal
//
getInvitation-Query
-
invitation.setUsed(true);
-
invitationDao.update(invitation);
+ i.setUsed(true);
+
invitationDao.update(i);
//
invitation.setInvitationpass(null);
-
invitation.setAllowEntry(true);
+
i.setAllowEntry(true);
}
} else {
-
invitation.setAllowEntry(true);
+ i.setAllowEntry(true);
}
break;
case Period:
- TimeZone tz =
timezoneUtil.getTimeZone(invitation.getInvitee());
- Calendar now =
Calendar.getInstance(tz);
- Calendar start =
Calendar.getInstance(tz);
-
start.setTime(invitation.getValidFrom());
-
- Calendar end =
Calendar.getInstance(tz);
-
end.setTime(invitation.getValidTo());
- if (now.after(start) &&
now.before(end)) {
-
invitationDao.update(invitation);
+ LocalDateTime now =
LocalDateTime.now();
+ LocalDateTime from =
CalendarHelper.getDateTime(i.getValidFrom(), i.getInvitee().getTimeZoneId());
+ LocalDateTime to =
CalendarHelper.getDateTime(i.getValidTo(), i.getInvitee().getTimeZoneId());
+ if (now.isAfter(from) &&
now.isBefore(to)) {
+ invitationDao.update(i);
//
invitation.setInvitationpass(null);
-
invitation.setAllowEntry(true);
+ i.setAllowEntry(true);
} else {
// Invitation is of
type *period* and is not valid
@@ -227,18 +224,18 @@ public class InvitationManager implement
// correctly
// in the method where
it shows that the hash code does
// not work anymore
-
invitation.setAllowEntry(false);
+ i.setAllowEntry(false);
}
break;
case Endless:
default:
-
invitationDao.update(invitation);
+ invitationDao.update(i);
- invitation.setAllowEntry(true);
+ i.setAllowEntry(true);
//
invitation.setInvitationpass(null);
break;
}
- return invitation;
+ return i;
}
} catch (Exception err) {
Modified: openmeetings/trunk/singlewebapp/openmeetings-util/pom.xml
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-util/pom.xml?rev=1703846&r1=1703845&r2=1703846&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-util/pom.xml (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-util/pom.xml Fri Sep 18
13:36:29 2015
@@ -77,5 +77,10 @@
<artifactId>wicket-util</artifactId>
<version>${wicket.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.threeten</groupId>
+ <artifactId>threetenbp</artifactId>
+ <version>1.2</version>
+ </dependency>
</dependencies>
</project>
Copied:
openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarHelper.java
(from r1703487,
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CalendarHelper.java)
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarHelper.java?p2=openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarHelper.java&p1=openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CalendarHelper.java&r1=1703487&r2=1703846&rev=1703846&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CalendarHelper.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarHelper.java
Fri Sep 18 13:36:29 2015
@@ -16,9 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.web.util;
-
-import static org.apache.openmeetings.web.app.WebSession.getUserTimeZone;
+package org.apache.openmeetings.util;
import java.util.Date;
@@ -29,36 +27,36 @@ import org.threeten.bp.ZoneId;
import org.threeten.bp.ZonedDateTime;
public class CalendarHelper {
- public static ZoneId getZoneId() {
- return ZoneId.of(getUserTimeZone().getID());
+ public static ZoneId getZoneId(String tzId) {
+ return ZoneId.of(tzId);
}
- public static Date getDate(LocalDate d) {
- return getDate(d.atStartOfDay());
+ public static Date getDate(LocalDate d, String tzId) {
+ return getDate(d.atStartOfDay(), tzId);
}
- public static Date getDate(LocalDateTime d) {
- return new
Date(d.atZone(getZoneId()).toInstant().toEpochMilli());
+ public static Date getDate(LocalDateTime d, String tzId) {
+ return new
Date(d.atZone(getZoneId(tzId)).toInstant().toEpochMilli());
}
- public static ZonedDateTime getZoneDateTime(Date d) {
+ public static ZonedDateTime getZoneDateTime(Date d, String tzId) {
if (d == null) {
d = new Date();
}
- return
Instant.ofEpochMilli(d.getTime()).atZone(ZoneId.of(getUserTimeZone().getID()));
+ return
Instant.ofEpochMilli(d.getTime()).atZone(getZoneId(tzId));
}
- public static LocalDate getDate(Date d) {
+ public static LocalDate getDate(Date d, String tzId) {
if (d == null) {
d = new Date();
}
- return getZoneDateTime(d).toLocalDate();
+ return getZoneDateTime(d, tzId).toLocalDate();
}
- public static LocalDateTime getDateTime(Date d) {
+ public static LocalDateTime getDateTime(Date d, String tzId) {
if (d == null) {
d = new Date();
}
- return getZoneDateTime(d).toLocalDateTime();
+ return getZoneDateTime(d, tzId).toLocalDateTime();
}
}
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java?rev=1703846&r1=1703845&r2=1703846&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
Fri Sep 18 13:36:29 2015
@@ -37,9 +37,9 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.user.State;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.entity.user.User.Salutation;
+import org.apache.openmeetings.util.CalendarHelper;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
-import org.apache.openmeetings.web.util.CalendarHelper;
import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
import
org.apache.wicket.extensions.validation.validator.RfcCompliantEmailAddressValidator;
import org.apache.wicket.markup.head.IHeaderResponse;
@@ -113,7 +113,8 @@ public class GeneralUserForm extends For
@Override
public void onValueChanged(IPartialPageRequestHandler
target) {
-
GeneralUserForm.this.getModelObject().setAge(CalendarHelper.getDate(age));
+ User u = GeneralUserForm.this.getModelObject();
+ u.setAge(CalendarHelper.getDate(age,
u.getTimeZoneId()));
}
});
add(new TextField<String>("address.street"));
@@ -171,7 +172,7 @@ public class GeneralUserForm extends For
}
public void updateModelObject(User u) {
- age = CalendarHelper.getDate(u.getAge());
+ age = CalendarHelper.getDate(u.getAge(), u.getTimeZoneId());
}
@Override
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java?rev=1703846&r1=1703845&r2=1703846&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
Fri Sep 18 13:36:29 2015
@@ -21,6 +21,8 @@ package org.apache.openmeetings.web.user
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import static org.apache.openmeetings.web.app.Application.getBean;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.web.util.CalendarWebHelper.getDate;
+import static org.apache.openmeetings.web.util.CalendarWebHelper.getDateTime;
import java.util.ArrayList;
import java.util.Arrays;
@@ -45,7 +47,6 @@ import org.apache.openmeetings.web.app.W
import org.apache.openmeetings.web.common.OmDateTimePicker;
import org.apache.openmeetings.web.pages.MainPage;
import org.apache.openmeetings.web.user.rooms.RoomEnterBehavior;
-import org.apache.openmeetings.web.util.CalendarHelper;
import org.apache.openmeetings.web.util.RoomTypeDropDown;
import org.apache.openmeetings.web.util.UserMultiChoice;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -101,8 +102,8 @@ public class AppointmentDialog extends A
public void setModelObjectWithAjaxTarget(Appointment a,
AjaxRequestTarget target) {
form.setModelObject(a);
-
form.start.setModelObject(CalendarHelper.getDateTime(a.getStart()));
- form.end.setModelObject(CalendarHelper.getDateTime(a.getEnd()));
+ form.start.setModelObject(getDateTime(a.getStart()));
+ form.end.setModelObject(getDateTime(a.getEnd()));
form.setEnabled(isOwner(a));
log.debug(" -- setModelObjectWithAjaxTarget -- Current model "
+ a);
if (a.getId() != null) {
@@ -210,8 +211,8 @@ public class AppointmentDialog extends A
}
}
a.setMeetingMembers(attendees);
- a.setStart(CalendarHelper.getDate(form.start.getModelObject()));
- a.setEnd(CalendarHelper.getDate(form.end.getModelObject()));
+ a.setStart(getDate(form.start.getModelObject()));
+ a.setEnd(getDate(form.end.getModelObject()));
getBean(AppointmentDao.class).update(a, getUserId());
target.add(feedback);
calendarPanel.refresh(target);
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentModel.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentModel.java?rev=1703846&r1=1703845&r2=1703846&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentModel.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentModel.java
Fri Sep 18 13:36:29 2015
@@ -18,15 +18,15 @@
*/
package org.apache.openmeetings.web.user.calendar;
+import static org.apache.openmeetings.web.app.Application.getBean;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.web.util.CalendarWebHelper.getDate;
import java.util.ArrayList;
import java.util.List;
import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
import org.apache.openmeetings.db.entity.calendar.Appointment;
-import org.apache.openmeetings.web.app.Application;
-import org.apache.openmeetings.web.util.CalendarHelper;
import com.googlecode.wicket.jquery.ui.calendar.CalendarEvent;
import com.googlecode.wicket.jquery.ui.calendar.CalendarModel;
@@ -42,7 +42,7 @@ public class AppointmentModel extends Ca
@Override
protected List<? extends CalendarEvent> load() {
List<CalendarEvent> list = new ArrayList<CalendarEvent>();
- for (Appointment a :
Application.getBean(AppointmentDao.class).getInRange(getUserId(),
CalendarHelper.getDate(getStart()), CalendarHelper.getDate(getEnd()))) {
+ for (Appointment a :
getBean(AppointmentDao.class).getInRange(getUserId(), getDate(getStart()),
getDate(getEnd()))) {
list.add(new OmCalendarEvent(a));
}
return list;
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java?rev=1703846&r1=1703845&r2=1703846&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
Fri Sep 18 13:36:29 2015
@@ -22,6 +22,8 @@ import static org.apache.openmeetings.ut
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import static org.apache.openmeetings.web.app.Application.getBean;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.web.util.CalendarWebHelper.getDate;
+import static org.apache.openmeetings.web.util.CalendarWebHelper.getZoneId;
import java.util.Date;
@@ -33,7 +35,6 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.common.UserPanel;
-import org.apache.openmeetings.web.util.CalendarHelper;
import org.apache.wicket.ajax.AbstractAjaxTimerBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.json.JSONArray;
@@ -198,12 +199,12 @@ public class CalendarPanel extends UserP
Appointment a = getDefault();
LocalDateTime s = start, e = end;
if (CalendarView.month == view) {
- LocalDateTime now =
ZonedDateTime.now(CalendarHelper.getZoneId()).toLocalDateTime();
+ LocalDateTime now =
ZonedDateTime.now(getZoneId()).toLocalDateTime();
s =
start.withHour(now.getHour()).withMinute(now.getMinute());
e = s.plus(1, ChronoUnit.HOURS);
}
- a.setStart(CalendarHelper.getDate(s));
- a.setEnd(CalendarHelper.getDate(e));
+ a.setStart(getDate(s));
+ a.setEnd(getDate(e));
dialog.setModelObjectWithAjaxTarget(a, target);
dialog.open(target);
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/OmCalendarEvent.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/OmCalendarEvent.java?rev=1703846&r1=1703845&r2=1703846&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/OmCalendarEvent.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/OmCalendarEvent.java
Fri Sep 18 13:36:29 2015
@@ -18,8 +18,8 @@
*/
package org.apache.openmeetings.web.user.calendar;
+import static org.apache.openmeetings.web.util.CalendarWebHelper.getDateTime;
import org.apache.openmeetings.db.entity.calendar.Appointment;
-import org.apache.openmeetings.web.util.CalendarHelper;
import com.googlecode.wicket.jquery.ui.calendar.CalendarEvent;
@@ -28,8 +28,8 @@ public class OmCalendarEvent extends Cal
public OmCalendarEvent(Appointment a) {
super(a.getId().intValue(), a.getTitle(), null);
- setStart(CalendarHelper.getDateTime(a.getStart()));
- setEnd(CalendarHelper.getDateTime(a.getEnd()));
+ setStart(getDateTime(a.getStart()));
+ setEnd(getDateTime(a.getEnd()));
setEditable(AppointmentDialog.isOwner(a));
setAllDay(false);
}
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessageDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessageDialog.java?rev=1703846&r1=1703845&r2=1703846&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessageDialog.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessageDialog.java
Fri Sep 18 13:36:29 2015
@@ -46,9 +46,10 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.user.PrivateMessage;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.entity.user.User.Type;
+import org.apache.openmeetings.util.CalendarHelper;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.common.OmDateTimePicker;
-import org.apache.openmeetings.web.util.CalendarHelper;
+import org.apache.openmeetings.web.util.CalendarWebHelper;
import org.apache.openmeetings.web.util.RoomTypeDropDown;
import org.apache.openmeetings.web.util.UserMultiChoice;
import org.apache.wicket.ajax.AjaxEventBehavior;
@@ -178,6 +179,8 @@ public class MessageDialog extends Abstr
protected void onSubmit(AjaxRequestTarget target) {
PrivateMessage p = getModelObject();
p.setInserted(new Date());
+ UserDao userDao = getBean(UserDao.class);
+ User owner = userDao.get(getUserId());
if (p.isBookedRoom()) {
Room r = p.getRoom();
r.setName(p.getSubject());
@@ -191,8 +194,8 @@ public class MessageDialog extends Abstr
a.setTitle(p.getSubject());
a.setDescription(p.getMessage());
a.setRoom(r);
-
a.setStart(CalendarHelper.getDate(start.getModelObject()));
- a.setEnd(CalendarHelper.getDate(end.getModelObject()));
+
a.setStart(CalendarWebHelper.getDate(start.getModelObject()));
+
a.setEnd(CalendarWebHelper.getDate(end.getModelObject()));
List<MeetingMember> attendees = new ArrayList<>();
for (User to : modelTo.getObject()) {
MeetingMember mm = new MeetingMember();
@@ -203,7 +206,7 @@ public class MessageDialog extends Abstr
mm.setAppointment(a);
attendees.add(mm);
}
- a.setOwner(getBean(UserDao.class).get(getUserId()));
+ a.setOwner(owner);
a.setMeetingMembers(attendees);
getBean(AppointmentDao.class).update(a, getUserId(), false);
p.setRoom(r);
@@ -212,7 +215,6 @@ public class MessageDialog extends Abstr
}
PrivateMessageDao msgDao = getBean(PrivateMessageDao.class);
for (User to : modelTo.getObject()) {
- UserDao userDao = getBean(UserDao.class);
if (to.getId() == null) {
userDao.update(to, getUserId());
}
@@ -228,13 +230,13 @@ public class MessageDialog extends Abstr
msgDao.update(p, getUserId());
if (to.getAddress() != null) {
String aLinkHTML = (isPrivate &&
to.getType() == Type.user) ? "<br/><br/>" + "<a href='" + getContactsLink() +
"'>"
- +
Application.getString(1302) + "</a><br/>" : "";
+ +
Application.getString(1302, to.getLanguageId()) + "</a><br/>" : "";
String invitation_link = "";
if (p.isBookedRoom()) {
Invitation i =
getBean(IInvitationManager.class).getInvitation(to, p.getRoom(),
- false, null,
Valid.Period
- ,
userDao.get(getUserId()), userDao.get(getUserId()).getLanguageId(),
-
CalendarHelper.getDate(start.getModelObject()),
CalendarHelper.getDate(end.getModelObject()), null);
+ false, null,
Valid.Period, owner, to.getLanguageId()
+ ,
CalendarHelper.getDate(start.getModelObject(), to.getTimeZoneId())
+ ,
CalendarHelper.getDate(end.getModelObject(), to.getTimeZoneId()), null);
invitation_link =
getInvitationLink(getBean(ConfigurationDao.class).getBaseUrl(), i);
@@ -242,15 +244,15 @@ public class MessageDialog extends Abstr
invitation_link = "";
} else {
invitation_link = "<br/>" //
- +
Application.getString(503)
+ +
Application.getString(503, to.getLanguageId())
+ "<br/><a
href='" + invitation_link
+ "'>"
- +
Application.getString(504) + "</a><br/>";
+ +
Application.getString(504, to.getLanguageId()) + "</a><br/>";
}
}
getBean(MailHandler.class).send(to.getAddress().getEmail(),
- Application.getString(1301) +
p.getSubject(),
+ Application.getString(1301,
to.getLanguageId()) + p.getSubject(),
(p.getMessage() == null ? "" :
p.getMessage().replaceAll("\\<.*?>", "")) + aLinkHTML + invitation_link);
}
}
Added:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CalendarWebHelper.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CalendarWebHelper.java?rev=1703846&view=auto
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CalendarWebHelper.java
(added)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CalendarWebHelper.java
Fri Sep 18 13:36:29 2015
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.util;
+
+import static org.apache.openmeetings.web.app.WebSession.getUserTimeZone;
+
+import java.util.Date;
+
+import org.apache.openmeetings.util.CalendarHelper;
+import org.threeten.bp.LocalDate;
+import org.threeten.bp.LocalDateTime;
+import org.threeten.bp.ZoneId;
+
+public class CalendarWebHelper extends CalendarHelper {
+ public static ZoneId getZoneId() {
+ return getZoneId(getUserTimeZone().getID());
+ }
+
+ public static Date getDate(LocalDateTime d) {
+ return getDate(d, getUserTimeZone().getID());
+ }
+
+ public static Date getDate(LocalDate d) {
+ return getDate(d, getUserTimeZone().getID());
+ }
+
+ public static LocalDateTime getDateTime(Date d) {
+ return getDateTime(d, getUserTimeZone().getID());
+ }
+}