Author: solomax
Date: Mon Jan 27 19:41:07 2014
New Revision: 1561805
URL: http://svn.apache.org/r1561805
Log:
TimeZoneOffsetAjaxBehavior was removed in favor of internal wicket
AjaxClientInfoBehavior
Removed:
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/TimeZoneOffsetAjaxBehavior.java
Modified:
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/app/WebSession.java
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.html
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/install/InstallWizardPage.java
Modified:
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/app/WebSession.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/app/WebSession.java?rev=1561805&r1=1561804&r2=1561805&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/app/WebSession.java
(original)
+++
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/app/WebSession.java
Mon Jan 27 19:41:07 2014
@@ -32,6 +32,7 @@ import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.HashSet;
+import java.util.LinkedHashSet;
import java.util.List;
import java.util.Locale;
import java.util.Set;
@@ -88,6 +89,7 @@ public class WebSession extends Abstract
private String SID = null;
private OmUrlFragment area = null;
private TimeZone tz;
+ private TimeZone browserTz;
private SimpleDateFormat ISO8601FORMAT = new
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
private DateFormat sdf;
private Dashboard dashboard;
@@ -97,6 +99,8 @@ public class WebSession extends Abstract
private Long recordingId;
private String externalType;
private static Set<Long> STRINGS_WITH_APP = new HashSet<Long>();
//FIXME need to be removed
+ public final static List<String> AVAILABLE_TIMEZONES =
Arrays.asList(TimeZone.getAvailableIDs());
+ public final static Set<String> AVAILABLE_TIMEZONE_SET = new
LinkedHashSet<String>(AVAILABLE_TIMEZONES);
static {
STRINGS_WITH_APP.addAll(Arrays.asList(499L, 500L, 506L, 511L,
512L, 513L, 517L, 532L, 622L, 804L
, 909L, 952L, 978L, 981L, 984L, 989L, 990L,
999L, 1151L, 1155L, 1157L, 1158L, 1194L));
@@ -116,6 +120,8 @@ public class WebSession extends Abstract
sdf = null;
recordingId = null;
externalType = null;
+ tz = null;
+ browserTz = null;
}
@Override
@@ -370,23 +376,27 @@ public class WebSession extends Abstract
return states.get(0);
}
- public static List<String> getAvailableTimezones() {
- return Arrays.asList(TimeZone.getAvailableIDs());
- }
-
- private boolean checkTimezone(TimeZone tz, int offsetByMinutes) {
- return offsetByMinutes == (tz.getRawOffset() /
MILLIS_IN_MINUTE);
- }
-
- public String getTimeZoneByBrowserLocale(int offsetByMinutes){
- TimeZone tz =
Calendar.getInstance(getBrowserLocale()).getTimeZone();
- if (!checkTimezone(tz, offsetByMinutes)){
- String[] tzIds =
TimeZone.getAvailableIDs(MILLIS_IN_MINUTE * offsetByMinutes);
- if (tzIds != null && tzIds.length > 0) {
- return tzIds[0];
+ public String getClientTimeZone() {
+ if (browserTz == null) {
+ try {
+ browserTz =
getClientInfo().getProperties().getTimeZone();
+ if
(!AVAILABLE_TIMEZONE_SET.contains(browserTz.getID())) {
+ for (String availableID :
AVAILABLE_TIMEZONES) {
+ if
(availableID.startsWith("Etc")) {
+ continue; //somehow
these timezones has reverted rules
+ }
+ TimeZone zone =
TimeZone.getTimeZone(availableID);
+ if
(zone.hasSameRules(browserTz)) {
+ browserTz = zone;
+ break;
+ }
+ }
+ }
+ } catch (Exception e) {
+ browserTz =
Calendar.getInstance(getBrowserLocale()).getTimeZone();
}
}
- return tz.getID();
+ return browserTz == null ? null : browserTz.getID();
}
private void initDashboard() {
Modified:
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java?rev=1561805&r1=1561804&r2=1561805&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java
(original)
+++
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java
Mon Jan 27 19:41:07 2014
@@ -20,6 +20,7 @@ package org.apache.openmeetings.web.comm
import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength;
import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.AVAILABLE_TIMEZONES;
import static org.apache.openmeetings.web.app.WebSession.getLanguage;
import static
org.apache.wicket.validation.validator.StringValidator.minimumLength;
@@ -93,7 +94,7 @@ public class GeneralUserForm extends For
add(new TextField<String>("firstname"));
add(new TextField<String>("lastname"));
- add(new DropDownChoice<String>("timeZoneId",
WebSession.getAvailableTimezones()));
+ add(new DropDownChoice<String>("timeZoneId",
AVAILABLE_TIMEZONES));
add(new DropDownChoice<FieldLanguage>("language"
, new PropertyModel<FieldLanguage>(this, "lang")
Modified:
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java?rev=1561805&r1=1561804&r2=1561805&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
(original)
+++
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
Mon Jan 27 19:41:07 2014
@@ -22,7 +22,7 @@ import static org.apache.openmeetings.db
import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength;
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.getAvailableTimezones;
+import static org.apache.openmeetings.web.app.WebSession.AVAILABLE_TIMEZONES;
import static org.apache.openmeetings.web.app.WebSession.getBaseUrl;
import static
org.apache.wicket.validation.validator.StringValidator.minimumLength;
@@ -75,38 +75,39 @@ public class RegisterDialog extends Abst
private String registerLbl = WebSession.getString(121);
private DialogButton registerBtn = new DialogButton(registerLbl);
private FeedbackPanel feedback = new FeedbackPanel("feedback");
- private final IModel<String> tzModel =
Model.of(WebSession.get().getTimeZoneByBrowserLocale(0));
- private final DropDownChoice<String> tzDropDown = new
DropDownChoice<String>("tz", tzModel, getAvailableTimezones());
+ private final IModel<String> tzModel =
Model.of(WebSession.get().getClientTimeZone());
+ private final DropDownChoice<String> tzDropDown = new
DropDownChoice<String>("tz", tzModel, AVAILABLE_TIMEZONES);
private RegisterForm form;
private SignInDialog s;
- private String firstName;
- private String lastName;
- private String login;
- private String password;
- private String email;
- private State state;
- private FieldLanguage lang;
-
- final MessageDialog confirmRegistration;
- private boolean sendConfirmation = false;
- private boolean sendEmailAtRegister = false;
-
+ private String firstName;
+ private String lastName;
+ private String login;
+ private String password;
+ private String email;
+ private State state;
+ private FieldLanguage lang;
+
+ final MessageDialog confirmRegistration;
+ private boolean sendConfirmation = false;
+ private boolean sendEmailAtRegister = false;
+
public RegisterDialog(String id) {
super(id, WebSession.getString(113));
add(form = new RegisterForm("form"));
form.setOutputMarkupId(true);
tzDropDown.setOutputMarkupId(true);
-
- confirmRegistration = new MessageDialog("confirmRegistration",
WebSession.getString(235), WebSession.getString(674), DialogButtons.OK,
DialogIcon.INFO) {
+
+ confirmRegistration = new MessageDialog("confirmRegistration",
WebSession.getString(235),
+ WebSession.getString(674), DialogButtons.OK,
DialogIcon.INFO) {
private static final long serialVersionUID = 1L;
@Override
public void onConfigure(JQueryBehavior behavior) {
super.onConfigure(behavior);
- behavior.setOption("dialogClass",
Options.asString("no-close"));
+ behavior.setOption("dialogClass",
Options.asString("no-close"));
behavior.setOption("closeOnEscape", false);
}
-
+
public void onClose(AjaxRequestTarget target,
DialogButton button) {
s.open(target);
}
@@ -118,46 +119,47 @@ public class RegisterDialog extends Abst
@Override
public void onConfigure(JQueryBehavior behavior) {
super.onConfigure(behavior);
- behavior.setOption("dialogClass", Options.asString("no-close"));
+ behavior.setOption("dialogClass", Options.asString("no-close"));
behavior.setOption("closeOnEscape", false);
}
-
+
public void setSignInDialog(SignInDialog s) {
this.s = s;
}
- public void setBrowserTZOffset(AjaxRequestTarget target, int
browserTZOffset) {
-
tzModel.setObject(WebSession.get().getTimeZoneByBrowserLocale(browserTZOffset));
- target.add(tzDropDown);
+ public void setClientTimeZone() {
+ tzModel.setObject(WebSession.get().getClientTimeZone());
}
@Override
public int getWidth() {
return 400;
}
-
+
@Override
protected List<DialogButton> getButtons() {
return Arrays.asList(registerBtn, cancelBtn);
}
public void reset() {
- firstName = null;
- lastName = null;
- login = null;
- password = null;
- form.confirmPassword.setModelObject(null);
- email = null;
+ firstName = null;
+ lastName = null;
+ login = null;
+ password = null;
+ form.confirmPassword.setModelObject(null);
+ email = null;
lang = WebSession.get().getLanguageByBrowserLocale();
state = WebSession.get().getCountryByBrowserLocale();
}
-
+
public void onOpen(AjaxRequestTarget target) {
String baseURL = getBaseUrl();
- sendEmailAtRegister = 1 ==
getBean(ConfigurationDao.class).getConfValue("sendEmailAtRegister",
Integer.class, "0");
+ sendEmailAtRegister = 1 ==
getBean(ConfigurationDao.class).getConfValue("sendEmailAtRegister",
Integer.class,
+ "0");
sendConfirmation = baseURL != null
&& !baseURL.isEmpty()
- && 1 ==
getBean(ConfigurationDao.class).getConfValue("sendEmailWithVerficationCode",
Integer.class, "0");
+ && 1 == getBean(ConfigurationDao.class)
+
.getConfValue("sendEmailWithVerficationCode", Integer.class, "0");
long messageCode = 236;
if (sendConfirmation && sendEmailAtRegister) {
messageCode = 674;
@@ -168,9 +170,9 @@ public class RegisterDialog extends Abst
reset();
target.add(form);
}
-
+
public void onClose(AjaxRequestTarget target, DialogButton button) {
- if (registerBtn.equals(button)){
+ if (registerBtn.equals(button)) {
confirmRegistration.open(target);
} else {
s.open(target);
@@ -194,33 +196,27 @@ public class RegisterDialog extends Abst
@Override
protected void onSubmit(AjaxRequestTarget target) {
- String hash = ManageCryptStyle.getInstanceOfCrypt()
- .createPassPhrase(login +
CalendarPatterns.getDateWithTimeByMiliSeconds(new Date()));
+ String hash =
ManageCryptStyle.getInstanceOfCrypt().createPassPhrase(
+ login +
CalendarPatterns.getDateWithTimeByMiliSeconds(new Date()));
- String redirectPage =
getRequestCycle().urlFor(ActivatePage.class, new PageParameters().add("u",
hash)).toString().substring(2);
+ String redirectPage =
getRequestCycle().urlFor(ActivatePage.class, new PageParameters().add("u",
hash))
+ .toString().substring(2);
String baseURL = getBaseUrl() + redirectPage;
try {
- getBean(IUserManager.class).registerUserInit(3, 1, 0, 1,
- login, password, lastName,
- firstName, email, new Date(), ""
/*street*/,
- "" /*additionalname*/, "" /*fax*/, ""
/*zip*/,
- state.getState_id(),
- "" /*town*/, lang.getLanguage_id(),
true /*sendWelcomeMessage*/,
+ getBean(IUserManager.class).registerUserInit(3, 1, 0,
1, login, password, lastName, firstName, email,
+ new Date(), "" /* street */, "" /*
additionalname */, "" /* fax */, "" /* zip */, state.getState_id(),
+ "" /* town */, lang.getLanguage_id(),
true /* sendWelcomeMessage */,
Arrays.asList(getBean(ConfigurationDao.class).getConfValue("default_domain_id",
Long.class, null)),
- "" /*phone*/, false, baseURL,
- sendConfirmation,
-
TimeZone.getTimeZone(tzModel.getObject()),
- false /*forceTimeZoneCheck*/,
- "" /*userOffers*/, "" /*userSearchs*/,
- false /*showContactData*/,
- true /*showContactDataToContacts*/,
hash);
-
+ "" /* phone */, false, baseURL,
sendConfirmation, TimeZone.getTimeZone(tzModel.getObject()),
+ false /* forceTimeZoneCheck */, "" /*
userOffers */, "" /* userSearchs */, false /* showContactData */,
+ true /* showContactDataToContacts */,
hash);
+
} catch (Exception e) {
log.error("[registerUser]", e);
}
}
-
+
class RegisterForm extends StatelessForm<Void> {
private static final long serialVersionUID =
1701373326213602431L;
private PasswordTextField confirmPassword;
@@ -236,59 +232,59 @@ public class RegisterDialog extends Abst
super(id);
add(feedback.setOutputMarkupId(true));
ConfigurationDao cfgDao =
getBean(ConfigurationDao.class);
- add(firstNameField = new
RequiredTextField<String>("firstName", new
PropertyModel<String>(RegisterDialog.this, "firstName")));
+ add(firstNameField = new
RequiredTextField<String>("firstName", new PropertyModel<String>(
+ RegisterDialog.this, "firstName")));
firstNameField.setLabel(Model.of(WebSession.getString(117)));
- add(lastNameField = new
RequiredTextField<String>("lastName", new
PropertyModel<String>(RegisterDialog.this, "lastName")));
+ add(lastNameField = new
RequiredTextField<String>("lastName", new PropertyModel<String>(
+ RegisterDialog.this, "lastName")));
lastNameField.setLabel(Model.of(WebSession.getString(118)));
- add(loginField = new RequiredTextField<String>("login",
new PropertyModel<String>(RegisterDialog.this, "login")));
+ add(loginField = new RequiredTextField<String>("login",
new PropertyModel<String>(RegisterDialog.this,
+ "login")));
loginField.setLabel(Model.of(WebSession.getString(114)));
loginField.add(minimumLength(getMinLoginLength(cfgDao)));
- add(passwordField = new PasswordTextField("password",
new PropertyModel<String>(RegisterDialog.this, "password")));
+ add(passwordField = new PasswordTextField("password",
new PropertyModel<String>(RegisterDialog.this,
+ "password")));
passwordField.setLabel(Model.of(WebSession.getString(115)));
passwordField.setResetPassword(true).add(minimumLength(getMinPasswdLength(cfgDao)));
add(confirmPassword = new
PasswordTextField("confirmPassword", new
Model<String>()).setResetPassword(true));
confirmPassword.setLabel(Model.of(WebSession.getString(116)));
- add(emailField = new RequiredTextField<String>("email",
new PropertyModel<String>(RegisterDialog.this, "email")));
+ add(emailField = new RequiredTextField<String>("email",
new PropertyModel<String>(RegisterDialog.this,
+ "email")));
emailField.setLabel(Model.of(WebSession.getString(119)));
emailField.add(RfcCompliantEmailAddressValidator.getInstance());
- add(langField = new DropDownChoice<FieldLanguage>("lang"
- , new
PropertyModel<FieldLanguage>(RegisterDialog.this, "lang")
- ,
getBean(FieldLanguageDao.class).getLanguages()
- , new
ChoiceRenderer<FieldLanguage>("name", "language_id"))
- );
+ add(langField = new
DropDownChoice<FieldLanguage>("lang", new PropertyModel<FieldLanguage>(
+ RegisterDialog.this, "lang"),
getBean(FieldLanguageDao.class).getLanguages(),
+ new
ChoiceRenderer<FieldLanguage>("name", "language_id")));
langField.setRequired(true).setLabel(Model.of(WebSession.getString(111)));
add(tzDropDown.setRequired(true).setLabel(Model.of(WebSession.getString(1143))));
- add(stateField = new DropDownChoice<State>("state"
- , new
PropertyModel<State>(RegisterDialog.this, "state")
- , getBean(StateDao.class).getStates()
- , new ChoiceRenderer<State>("name",
"state_id"))
- );
+ add(stateField = new DropDownChoice<State>("state", new
PropertyModel<State>(RegisterDialog.this, "state"),
+ getBean(StateDao.class).getStates(),
new ChoiceRenderer<State>("name", "state_id")));
stateField.setRequired(true).setLabel(Model.of(WebSession.getString(120)));
- add(new AjaxButton("submit") { //FAKE button so
"submit-on-enter" works as expected
+ add(new AjaxButton("submit") { // FAKE button so
"submit-on-enter" works as expected
private static final long serialVersionUID =
-3612671587183668912L;
@Override
protected void onSubmit(AjaxRequestTarget
target, Form<?> form) {
RegisterDialog.this.onSubmit(target);
}
-
+
@Override
protected void onError(AjaxRequestTarget
target, Form<?> form) {
RegisterDialog.this.onError(target);
}
});
}
-
+
@Override
protected void onValidate() {
if (passwordField.getConvertedInput() == null
||
!passwordField.getConvertedInput().equals(confirmPassword.getConvertedInput()))
{
error(WebSession.getString(232));
}
-
if(!getBean(AdminUserDao.class).checkUserEMail(emailField.getConvertedInput(),
null)) {
+ if
(!getBean(AdminUserDao.class).checkUserEMail(emailField.getConvertedInput(),
null)) {
error(WebSession.getString(1000));
}
-
if(!getBean(AdminUserDao.class).checkUserLogin(loginField.getConvertedInput(),
null)) {
+ if
(!getBean(AdminUserDao.class).checkUserLogin(loginField.getConvertedInput(),
null)) {
error(WebSession.getString(105));
}
}
Modified:
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.html
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.html?rev=1561805&r1=1561804&r2=1561805&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.html
(original)
+++
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.html
Mon Jan 27 19:41:07 2014
@@ -65,6 +65,5 @@
<span wicket:id="feedback"></span>
<input type="submit" wicket:id="submit"
class="invisible-form-component"/>
</form>
- <input type="hidden" wicket:id="tzOffset" id="tzOffset"/>
</wicket:panel>
</html>
Modified:
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java?rev=1561805&r1=1561804&r2=1561805&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
(original)
+++
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
Mon Jan 27 19:41:07 2014
@@ -35,9 +35,9 @@ import org.apache.openmeetings.web.app.O
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.pages.SwfPage;
import org.apache.openmeetings.web.util.BaseUrlAjaxBehavior;
-import org.apache.openmeetings.web.util.TimeZoneOffsetAjaxBehavior;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.RestartResponseException;
+import org.apache.wicket.ajax.AjaxClientInfoBehavior;
import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
@@ -48,7 +48,6 @@ import org.apache.wicket.markup.html.for
import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.form.HiddenField;
import org.apache.wicket.markup.html.form.PasswordTextField;
import org.apache.wicket.markup.html.form.RequiredTextField;
import org.apache.wicket.markup.html.form.StatelessForm;
@@ -82,25 +81,12 @@ public class SignInDialog extends Abstra
private ForgetPasswordDialog f;
private LdapConfig domain;
private String ldapConfigFileName;
- private HiddenField<Integer> browserTZOffset;
public SignInDialog(String id) {
super(id, WebSession.getString(108));
add(form = new SignInForm("signin"));
- browserTZOffset = new HiddenField<Integer>("tzOffset",
Model.of(new Integer(0)));
- add(browserTZOffset);
-
- // This code is required to detect time zone offset
- add(new TimeZoneOffsetAjaxBehavior() {
- private static final long serialVersionUID =
2954455885345860021L;
-
- @Override
- protected void customFunction(){
-
browserTZOffset.setModelObject(WebSession.get().getBrowserTimeZoneOffset());
- }
-
- });
add(new BaseUrlAjaxBehavior());
+ add(new AjaxClientInfoBehavior());
}
public void setRegisterDialog(RegisterDialog r) {
@@ -147,7 +133,7 @@ public class SignInDialog extends Abstra
@Override
public void onClose(AjaxRequestTarget target, DialogButton button) {
if (registerBtn.equals(button)) {
- r.setBrowserTZOffset(target,
browserTZOffset.getModelObject());
+ r.setClientTimeZone();
r.open(target);
}
}
Modified:
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/install/InstallWizard.java?rev=1561805&r1=1561804&r2=1561805&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
(original)
+++
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
Mon Jan 27 19:41:07 2014
@@ -20,6 +20,8 @@ package org.apache.openmeetings.web.page
import static
org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
import static
org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH;
+import static org.apache.openmeetings.web.app.WebSession.AVAILABLE_TIMEZONES;
+import static
org.apache.openmeetings.web.app.WebSession.AVAILABLE_TIMEZONE_SET;
import static org.apache.wicket.validation.validator.RangeValidator.range;
import static
org.apache.wicket.validation.validator.StringValidator.minimumLength;
@@ -80,16 +82,8 @@ public class InstallWizard extends Wizar
private final InstallStep installStep;
private Throwable th = null;
- public void initTzDropDown(int browserTZOffset){
- List<String> tzList = WebSession.getAvailableTimezones();
- paramsStep1.tzDropDown.option = tzList.get(0);
- String tzId =
WebSession.get().getTimeZoneByBrowserLocale(browserTZOffset);
- for (String tz : tzList) {
- if (tz.equals(tzId)) {
- paramsStep1.tzDropDown.option = tz;
- break;
- }
- }
+ public void initTzDropDown() {
+ paramsStep1.tzDropDown.init();
}
//onInit, applyState
@@ -428,12 +422,17 @@ public class InstallWizard extends Wizar
}
private final class TzDropDown extends WizardDropDown<String> {
- private static final long serialVersionUID =
6084349711073918837L;
+ private static final long serialVersionUID = 1L;
+ public void init() {
+ List<String> tzList = AVAILABLE_TIMEZONES;
+ String tzId = WebSession.get().getClientTimeZone();
+ option = AVAILABLE_TIMEZONE_SET.contains(tzId) ? tzId :
tzList.get(0);
+ }
+
public TzDropDown(String id) throws Exception {
super(id);
- List<String> tzList = WebSession.getAvailableTimezones();
- setChoices(tzList);
+ setChoices(AVAILABLE_TIMEZONES);
setChoiceRenderer(new IChoiceRenderer<String>() {
private static final long serialVersionUID = 1L;
@@ -444,14 +443,6 @@ public class InstallWizard extends Wizar
return object.toString();
}
});
- option = tzList.get(0);
- String tzId =
WebSession.get().getTimeZoneByBrowserLocale(WebSession.get().getBrowserTimeZoneOffset());
- for (String tz : tzList) {
- if (tz.equals(tzId)) {
- option = tz;
- break;
- }
- }
}
@Override
Modified:
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/install/InstallWizardPage.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/install/InstallWizardPage.java?rev=1561805&r1=1561804&r2=1561805&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/install/InstallWizardPage.java
(original)
+++
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/install/InstallWizardPage.java
Mon Jan 27 19:41:07 2014
@@ -19,11 +19,12 @@
package org.apache.openmeetings.web.pages.install;
import org.apache.openmeetings.web.app.Application;
-import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.common.ErrorMessagePanel;
import org.apache.openmeetings.web.pages.BaseNotInitedPage;
-import org.apache.openmeetings.web.util.TimeZoneOffsetAjaxBehavior;
import org.apache.wicket.RestartResponseException;
+import org.apache.wicket.ajax.AjaxClientInfoBehavior;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.protocol.http.request.WebClientInfo;
public class InstallWizardPage extends BaseNotInitedPage {
private static final long serialVersionUID = -438388395397826138L;
@@ -36,14 +37,14 @@ public class InstallWizardPage extends B
try {
add(wizard = new InstallWizard("wizard"));
// This code is required to detect time zone offset
- add(new TimeZoneOffsetAjaxBehavior() {
- private static final long serialVersionUID =
2558971671370041214L;
-
+ add(new AjaxClientInfoBehavior() {
+ private static final long serialVersionUID = 1L;
+
@Override
- protected void customFunction(){
-
wizard.initTzDropDown(WebSession.get().getBrowserTimeZoneOffset());
+ protected void onClientInfo(AjaxRequestTarget
target, WebClientInfo clientInfo) {
+ super.onClientInfo(target, clientInfo);
+ wizard.initTzDropDown();
}
-
});
} catch (RestartResponseException re) {
throw re;