Author: sebawagner
Date: Sat Aug 3 00:36:00 2013
New Revision: 1509919
URL: http://svn.apache.org/r1509919
Log:
OPENMEETINGS-728 - Fixes Appointment input of DateTime is in the timezone of
the Openmeetings user profile, not the browser/os timezone
Added:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/ui/
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/ui/CustomTimeZoneDateTimeField.java
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/WebSession.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/WebSession.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/WebSession.java?rev=1509919&r1=1509918&r2=1509919&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/WebSession.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/WebSession.java
Sat Aug 3 00:36:00 2013
@@ -180,6 +180,10 @@ public class WebSession extends Abstract
public static long getUserId() {
return get().userId;
}
+
+ public static TimeZone getUserTimeZone() {
+ return get().tz;
+ }
public static Calendar getCalendar() {
return Calendar.getInstance(get().tz);
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java?rev=1509919&r1=1509918&r2=1509919&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
Sat Aug 3 00:36:00 2013
@@ -41,11 +41,11 @@ import org.apache.openmeetings.persisten
import org.apache.openmeetings.persistence.beans.room.RoomType;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.util.RoomTypeDropDown;
+import org.apache.openmeetings.web.util.ui.CustomTimeZoneDateTimeField;
import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
import org.apache.wicket.behavior.AttributeAppender;
-import org.apache.wicket.extensions.yui.calendar.DateTimeField;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.ChoiceRenderer;
@@ -217,8 +217,8 @@ public class AppointmentDialog extends A
//add(new WysiwygEditor("appointmentDescription"));
add(new TextArea<String>("appointmentDescription"));
add(new TextField<String>("appointmentLocation"));
- add(new DateTimeField("appointmentStarttime"));
- add(new DateTimeField("appointmentEndtime"));
+ add(new
CustomTimeZoneDateTimeField("appointmentStarttime",
WebSession.getUserTimeZone()));
+ add(new
CustomTimeZoneDateTimeField("appointmentEndtime",
WebSession.getUserTimeZone()));
final PasswordTextField pwd = new
PasswordTextField("password");
pwd.setEnabled(isPwdProtected());
pwd.setOutputMarkupId(true);
Added:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/ui/CustomTimeZoneDateTimeField.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/ui/CustomTimeZoneDateTimeField.java?rev=1509919&view=auto
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/ui/CustomTimeZoneDateTimeField.java
(added)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/ui/CustomTimeZoneDateTimeField.java
Sat Aug 3 00:36:00 2013
@@ -0,0 +1,56 @@
+/*
+ * 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.ui;
+
+import java.util.TimeZone;
+
+import org.apache.wicket.extensions.yui.calendar.DateTimeField;
+
+/**
+ *
+ * This class provides and interface to fix the issue with custom set
timezone's in the user
+ * profile of any user
+ *
+ * @author swagner
+ *
+ */
+public class CustomTimeZoneDateTimeField extends DateTimeField {
+
+ private final TimeZone customTimeZone;
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1078348065479470152L;
+
+ public CustomTimeZoneDateTimeField(String id, TimeZone customTimeZone) {
+ super(id);
+ this.customTimeZone = customTimeZone;
+ }
+
+ @Override
+ protected TimeZone getClientTimeZone()
+ {
+ if (customTimeZone != null) {
+ return customTimeZone;
+ }
+
+ return super.getClientTimeZone();
+ }
+}