PyconUK / ironcage

A Django application for managing PyCon UK
1 stars 8 forks source link

No datepicker in FF or IE for date of birth field on children's day ticket form #140

Closed ntoll closed 7 years ago

ntoll commented 7 years ago

I've tried to book kids' day tickets. Each time I fail and it wasn't obvious why (there's no error message). It was only because I looked very very hard that I noticed the dates were bounded by red. What I'd actually done is fill in my surname (I just assumed that would be the second field after "First Name").

In any case, since it was a free text field I revised with entries like "16th November 2001" thinking (since they were free text) there wouldn't be any validation.

Again it failed, there were no error messages and it was hard to see that the date fields were highlighted. I revised to "16/11/2001" and still got an error. Blow me down, it appears to be expecting US-style MM/DD/YYYY. :-(

Please can this just be a date picker rather than confusing text field with no error feedback or help about formatting? If I have time later today I'll take a crack at it. Just highlighting it via an issue for the sake of visibility.

inglesp commented 7 years ago

It works for me!

image

And actually there's code to make this do the right thing -- that is, the date of birth HTML input has type="date".

What browser/OS are you using?

If you open an HTML file containing just the following, do you get a datepicker?

<!DOCTYPE html>
<html>
  <body>
    <input type="date" />
  </body>
</html>
helenst commented 7 years ago

I was able to reproduce this on Firefox - <input type="date"> isn't supported on that browser (and possibly others)... will probably need some kind of js datepicker to make this work.

ntoll commented 7 years ago

Ah yes... I'd noticed the date attribute. I use Firefox on Ubuntu.

"It works for me" lol :laughing:

There is the wider problem that no actionable feedback was given after I submitted the form (hence my reference to UX problems). A large number of people use a browser that doesn't support type="date" so I guess it will probably need a JS datepicker. :-(

ntoll commented 7 years ago

I did try to fix it this afternoon but ran into difficulties setting up a dev environment. Why do we need to use Postgres when in dev? I gave up while trying to configure the database.

inglesp commented 7 years ago

I'll put out a call on the old pyconuk-adm mailing list for somebody to tackle this.

As for requiring Postgres: we make use of django.contrib.postgres.fields.JSONField.

inglesp commented 7 years ago

Given urgency, have fixed this myself.

@ntoll, on staging, could you try playing with https://hq-staging.pyconuk.org/children/orders/new/?

And if you'd like to test the full purchase workflow, use card number 4242 4242 4242 4242, and any old expiry date and security code.

ntoll commented 7 years ago

Works perfectly for me (although the payment pop-up didn't work). Thanks for the speedy work-around.

inglesp commented 7 years ago

Hurrah!

But I'm a bit concerned by "the payment pop-up didn't work". Can you open a new issue with a proper description?

ntoll commented 7 years ago

OK... stand down, it's because Ghostery identifies Stripe as a tracker.