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);


Reply via email to