[ 
https://issues.apache.org/jira/browse/WICKET-2648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12841902#action_12841902
 ] 

Giovanni commented on WICKET-2648:
----------------------------------

I found that there is still a bug in Wicket 1.4.7 in case that the datePattern 
is "dd/MM/yyyy".

For example, if you use the DatePicker and select a date such as 23/02/2010 
from the calendar GUI, the date selected in the DateTextField is "23/02/0010".

This is the example Java code:

                // define the date text field for the data decorrenza

                DateTextField dataDecorrenzaDaTextField = new 
DateTextField("dataDecorrenzaDa", 

                                                new PropertyModel(this.accordo, 
"dataDecorrenzaDa"),

                                                new 
PatternDateConverter("dd/MM/yyyy", true)

                );

                

                // add the graphical calendar date picker

                dataDecorrenzaDaTextField.add(new DatePicker() {



                                                        @Override

                                                        protected boolean 
enableMonthYearSelection() {

                                                                

                                                                // enable 
month/year selection

                                                                return true;

                                                                

                                                        } // end 
enableMonthYearSelection

                                                

                                                } // end DatePicker

                );

I found that the bug is still in the "wicket-date.js", line 137.

The wrong code is:

if(datePattern.match(/yy+/)) year = Wicket.DateTime.padDateFragment(year % 
100); 

This line also makes the module 100 on the year, when the year pattern is 
"yyyy".

The fixed code is:

if(datePattern.match(/yyyy+/)) {

    year = year;

  } else if(datePattern.match(/yy+/)) year = 
Wicket.DateTime.padDateFragment(year % 100);



> DatePicker javascript uses 4 symbols for year although pattern contains just 
> yy
> -------------------------------------------------------------------------------
>
>                 Key: WICKET-2648
>                 URL: https://issues.apache.org/jira/browse/WICKET-2648
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 1.4.5
>            Reporter: Marat Radchenko
>            Assignee: Igor Vaynberg
>             Fix For: 1.4.7, 1.5-M1
>
>         Attachments: wicket-datetime.patch
>
>
> Steps to reproduce:
> 1. Create TextField
> 2. Add DatePicker with yy for year (en_US locale, SHORT format, for example).
> 3. Set some date to textfield
> 4. Open page (year is correctly shown with two digits)
> 5. Click datepicker icon
> Expected: year is still 2-digit
> Actual: year becomes 4-digit

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to