You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2013/08/12 05:35:55 UTC

svn commit: r1513035 - in /openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web: app/WebSession.java common/GeneralUserForm.html common/GeneralUserForm.java pages/auth/RegisterDialog.java util/UserAutoCompleteTextField.java

Author: solomax
Date: Mon Aug 12 03:35:54 2013
New Revision: 1513035

URL: http://svn.apache.org/r1513035
Log:
[OPENMEETINGS-746] registration dialog and user profile editition are fixed.
	Created contact has login name;

Modified:
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/WebSession.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.html
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/UserAutoCompleteTextField.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=1513035&r1=1513034&r2=1513035&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 Mon Aug 12 03:35:54 2013
@@ -38,12 +38,10 @@ import org.apache.openmeetings.data.basi
 import org.apache.openmeetings.data.basic.FieldManager;
 import org.apache.openmeetings.data.basic.SessiondataDao;
 import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
-import org.apache.openmeetings.data.basic.dao.OmTimeZoneDao;
 import org.apache.openmeetings.data.user.UserManager;
 import org.apache.openmeetings.data.user.dao.StateDao;
 import org.apache.openmeetings.data.user.dao.UsersDao;
 import org.apache.openmeetings.ldap.LdapLoginManagement;
-import org.apache.openmeetings.persistence.beans.basic.OmTimeZone;
 import org.apache.openmeetings.persistence.beans.basic.Sessiondata;
 import org.apache.openmeetings.persistence.beans.lang.FieldLanguage;
 import org.apache.openmeetings.persistence.beans.user.State;
@@ -64,9 +62,11 @@ import ro.fortsoft.wicket.dashboard.Dash
 import ro.fortsoft.wicket.dashboard.DefaultDashboard;
 import ro.fortsoft.wicket.dashboard.WidgetFactory;
 import ro.fortsoft.wicket.dashboard.web.DashboardContext;
+import edu.emory.mathcs.backport.java.util.Arrays;
 
 public class WebSession extends AbstractAuthenticatedWebSession {
 	private static final long serialVersionUID = 1123393236459095315L;
+	public static int MILLIS_IN_MINUTE = 60000;
 	//private static final Map<String, Locale> LNG_TO_LOCALE_MAP = new HashMap<String, Locale> ();
 	private long userId = -1;
 	private long userLevel = -1; //TODO renew somehow on user edit !!!!
@@ -252,19 +252,24 @@ public class WebSession extends Abstract
 		return states.get(0);
 	}
 
-	public OmTimeZone getOmTimeZoneByBrowserLocale(int offsetByMinutes){
+	@SuppressWarnings("unchecked")
+	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();
-		OmTimeZone omTZ = getBean(OmTimeZoneDao.class).getOmTimeZoneByIcal(tz.getID());
-		if (omTZ == null){
-			List<OmTimeZone> omTimeZones = getBean(OmTimeZoneDao.class).getOmTimeZones();
-			for (OmTimeZone timeZone : omTimeZones){
-				int tzOffsetByMinutes = TimeZone.getTimeZone(timeZone.getIcal()).getRawOffset() / 60000;
-				if (tzOffsetByMinutes ==  offsetByMinutes){
-					return timeZone;  
-				}
+		if (!checkTimezone(tz, offsetByMinutes)){
+			String[] tzIds = TimeZone.getAvailableIDs(MILLIS_IN_MINUTE * offsetByMinutes);
+			if (tzIds != null && tzIds.length > 0) {
+				return tzIds[0];
 			}
 		}
-		return omTZ != null ? omTZ : getBean(OmTimeZoneDao.class).getOmTimeZones().get(0);
+		return tz.getID();
 	}
 	
 	private void initDashboard() {

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.html?rev=1513035&r1=1513034&r2=1513035&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.html (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.html Mon Aug 12 03:35:54 2013
@@ -33,7 +33,7 @@
 		<label><wicket:ommessage key="136" /></label><input type="text" wicket:id="lastname" />
 	</div>
 	<div class="formelement">
-		<label><wicket:ommessage key="1143" /></label><select wicket:id="omTimeZone" />
+		<label><wicket:ommessage key="1143" /></label><select wicket:id="timeZoneId" />
 	</div>
 	<div class="formelement">
 		<label><wicket:ommessage key="111" /></label><select wicket:id="language" />

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.java?rev=1513035&r1=1513034&r2=1513035&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.java Mon Aug 12 03:35:54 2013
@@ -28,12 +28,10 @@ import java.util.List;
 
 import org.apache.openmeetings.data.basic.FieldLanguageDao;
 import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
-import org.apache.openmeetings.data.basic.dao.OmTimeZoneDao;
 import org.apache.openmeetings.data.user.OrganisationManager;
 import org.apache.openmeetings.data.user.dao.SalutationDao;
 import org.apache.openmeetings.data.user.dao.StateDao;
 import org.apache.openmeetings.data.user.dao.UsersDao;
-import org.apache.openmeetings.persistence.beans.basic.OmTimeZone;
 import org.apache.openmeetings.persistence.beans.domain.Organisation;
 import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
 import org.apache.openmeetings.persistence.beans.lang.FieldLanguage;
@@ -95,8 +93,7 @@ public class GeneralUserForm extends For
 		add(new TextField<String>("firstname"));
 		add(new TextField<String>("lastname"));
 		
-		add(new DropDownChoice<OmTimeZone>("omTimeZone", getBean(OmTimeZoneDao.class).getOmTimeZones(),
-				new ChoiceRenderer<OmTimeZone>("frontEndLabel", "jname")));
+		add(new DropDownChoice<String>("timeZoneId", WebSession.getAvailableTimezones()));
 
 		add(new DropDownChoice<FieldLanguage>("language"
 				, new PropertyModel<FieldLanguage>(this, "lang")

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java?rev=1513035&r1=1513034&r2=1513035&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java Mon Aug 12 03:35:54 2013
@@ -27,19 +27,17 @@ import static org.apache.wicket.validati
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
+import java.util.TimeZone;
 
 import org.apache.openmeetings.data.basic.FieldLanguageDao;
 import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
-import org.apache.openmeetings.data.basic.dao.OmTimeZoneDao;
 import org.apache.openmeetings.data.user.UserManager;
 import org.apache.openmeetings.data.user.dao.StateDao;
 import org.apache.openmeetings.data.user.dao.UsersDao;
-import org.apache.openmeetings.persistence.beans.basic.OmTimeZone;
 import org.apache.openmeetings.persistence.beans.lang.FieldLanguage;
 import org.apache.openmeetings.persistence.beans.user.State;
 import org.apache.openmeetings.utils.crypt.ManageCryptStyle;
 import org.apache.openmeetings.utils.math.CalendarPatterns;
-import org.apache.openmeetings.utils.math.TimezoneUtil;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.pages.ActivatePage;
 import org.apache.openmeetings.web.pages.MainPage;
@@ -74,11 +72,10 @@ public class RegisterDialog extends Abst
 	private DialogButton cancelBtn = new DialogButton(WebSession.getString(122));
 	private DialogButton registerBtn = new DialogButton(WebSession.getString(121));
 	private FeedbackPanel feedback = new FeedbackPanel("feedback");
-	private final IModel<OmTimeZone> tzModel = Model.of(WebSession.get().getOmTimeZoneByBrowserLocale(0));
-	private final DropDownChoice<OmTimeZone> tzDropDown = new DropDownChoice<OmTimeZone>("tz"
+	private final IModel<String> tzModel = Model.of(WebSession.get().getTimeZoneByBrowserLocale(0));
+	private final DropDownChoice<String> tzDropDown = new DropDownChoice<String>("tz"
 			, tzModel
-			, getBean(OmTimeZoneDao.class).getOmTimeZones()
-			, new ChoiceRenderer<OmTimeZone>("frontEndLabel", "jname"));
+			, WebSession.getAvailableTimezones());
 	private Form<String> form;
 	private SignInDialog s;
     private String firstName;
@@ -131,7 +128,7 @@ public class RegisterDialog extends Abst
 	}
 
 	public void setBrowserTZOffset(AjaxRequestTarget target, int browserTZOffset) {
-		tzModel.setObject(WebSession.get().getOmTimeZoneByBrowserLocale(browserTZOffset));
+		tzModel.setObject(WebSession.get().getTimeZoneByBrowserLocale(browserTZOffset));
 		target.add(tzDropDown);
 	}
 	
@@ -191,7 +188,7 @@ public class RegisterDialog extends Abst
 					Arrays.asList(getBean(ConfigurationDao.class).getConfValue("default_domain_id", Long.class, null)),
 					"" /*phone*/, false, baseURL,
 					sendConfirmation,
-					getBean(TimezoneUtil.class).getTimezoneByInternalJName(tzModel.getObject().getJname()),
+					TimeZone.getTimeZone(tzModel.getObject()),
 					false /*forceTimeZoneCheck*/,
 					"" /*userOffers*/, "" /*userSearchs*/,
 					false /*showContactData*/,

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/UserAutoCompleteTextField.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/UserAutoCompleteTextField.java?rev=1513035&r1=1513034&r2=1513035&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/UserAutoCompleteTextField.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/UserAutoCompleteTextField.java Mon Aug 12 03:35:54 2013
@@ -79,6 +79,7 @@ public class UserAutoCompleteTextField e
 					u = new User();
 					u.setType(Type.contact);
 					u.setFirstname(fName);
+					u.setLogin(email);
 					u.setLastname(lName);
 					u.setAdresses(new Address());
 					u.getAdresses().setEmail(email);