Author: solomax
Date: Sat Jun 27 15:39:23 2015
New Revision: 1687942

URL: http://svn.apache.org/r1687942
Log:
[OPENMEETINGS-1218] user birthday correctly displayed on Admin page

Modified:
    
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/util/CalendarHelper.java
    
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/util/CalendarHelper.java

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=1687942&r1=1687941&r2=1687942&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
 Sat Jun 27 15:39:23 2015
@@ -61,6 +61,7 @@ import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
 import org.apache.wicket.util.string.Strings;
+import org.threeten.bp.LocalDate;
 import org.wicketstuff.select2.Response;
 import org.wicketstuff.select2.Select2MultiChoice;
 import org.wicketstuff.select2.TextChoiceProvider;
@@ -71,6 +72,7 @@ import com.googlecode.wicket.kendo.ui.re
 public class GeneralUserForm extends Form<User> {
        private static final long serialVersionUID = 1L;
        private Salutation salutation;
+       private LocalDate age;
        private PasswordTextField passwordField;
        private RequiredTextField<String> email;
 
@@ -120,12 +122,12 @@ public class GeneralUserForm extends For
                email.add(RfcCompliantEmailAddressValidator.getInstance());
                add(new TextField<String>("adresses.phone"));
                add(new CheckBox("sendSMS"));
-               add(new AjaxDatePicker("age", 
Model.of(CalendarHelper.getDate(getModelObject().getAge())), 
WebSession.get().getLocale()) {
+               add(new AjaxDatePicker("age", new 
PropertyModel<LocalDate>(this, "age"), WebSession.get().getLocale()) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
                        public void onValueChanged(AjaxRequestTarget target) {
-                               
GeneralUserForm.this.getModelObject().setAge(CalendarHelper.getDate(getModelObject()));
+                               
GeneralUserForm.this.getModelObject().setAge(CalendarHelper.getDate(age));
                        }
                });
                add(new TextField<String>("adresses.street"));
@@ -184,6 +186,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());
        }
        
        @Override

Modified: 
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/web/java/org/apache/openmeetings/web/util/CalendarHelper.java?rev=1687942&r1=1687941&r2=1687942&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/util/CalendarHelper.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/util/CalendarHelper.java
 Sat Jun 27 15:39:23 2015
@@ -42,14 +42,23 @@ public class CalendarHelper {
        }
 
        public static ZonedDateTime getZoneDateTime(Date d) {
+               if (d == null) {
+                       d = new Date();
+               }
                return 
Instant.ofEpochMilli(d.getTime()).atZone(ZoneId.of(getUserTimeZone().getID()));
        }
        
        public static LocalDate getDate(Date d) {
+               if (d == null) {
+                       d = new Date();
+               }
                return getZoneDateTime(d).toLocalDate();
        }
        
        public static LocalDateTime getDateTime(Date d) {
+               if (d == null) {
+                       d = new Date();
+               }
                return getZoneDateTime(d).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=1687942&r1=1687941&r2=1687942&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
 Sat Jun 27 15:39:23 2015
@@ -59,6 +59,7 @@ import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
 import org.apache.wicket.util.string.Strings;
+import org.threeten.bp.LocalDate;
 import org.wicketstuff.select2.Response;
 import org.wicketstuff.select2.Select2MultiChoice;
 import org.wicketstuff.select2.TextChoiceProvider;
@@ -69,6 +70,7 @@ import com.googlecode.wicket.kendo.ui.re
 public class GeneralUserForm extends Form<User> {
        private static final long serialVersionUID = 1L;
        private Salutation salutation;
+       private LocalDate age;
        private PasswordTextField passwordField;
        private RequiredTextField<String> email;
 
@@ -118,12 +120,12 @@ public class GeneralUserForm extends For
                email.add(RfcCompliantEmailAddressValidator.getInstance());
                add(new TextField<String>("address.phone"));
                add(new CheckBox("sendSMS"));
-               add(new AjaxDatePicker("age", 
Model.of(CalendarHelper.getDate(getModelObject().getAge())), 
WebSession.get().getLocale()) {
+               add(new AjaxDatePicker("age", new 
PropertyModel<LocalDate>(this, "age"), WebSession.get().getLocale()) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
                        public void onValueChanged(AjaxRequestTarget target) {
-                               
GeneralUserForm.this.getModelObject().setAge(CalendarHelper.getDate(getModelObject()));
+                               
GeneralUserForm.this.getModelObject().setAge(CalendarHelper.getDate(age));
                        }
                });
                add(new TextField<String>("address.street"));
@@ -182,6 +184,7 @@ public class GeneralUserForm extends For
 
        public void updateModelObject(User u) {
                salutation = 
getBean(SalutationDao.class).get(u.getSalutationId());
+               age = CalendarHelper.getDate(u.getAge());
        }
        
        @Override

Modified: 
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-web/src/main/java/org/apache/openmeetings/web/util/CalendarHelper.java?rev=1687942&r1=1687941&r2=1687942&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CalendarHelper.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CalendarHelper.java
 Sat Jun 27 15:39:23 2015
@@ -42,14 +42,23 @@ public class CalendarHelper {
        }
 
        public static ZonedDateTime getZoneDateTime(Date d) {
+               if (d == null) {
+                       d = new Date();
+               }
                return 
Instant.ofEpochMilli(d.getTime()).atZone(ZoneId.of(getUserTimeZone().getID()));
        }
        
        public static LocalDate getDate(Date d) {
+               if (d == null) {
+                       d = new Date();
+               }
                return getZoneDateTime(d).toLocalDate();
        }
        
        public static LocalDateTime getDateTime(Date d) {
+               if (d == null) {
+                       d = new Date();
+               }
                return getZoneDateTime(d).toLocalDateTime();
        }
 }


Reply via email to