canvas-lms/public
Jacob Fugal 65b1e19244 course start/end are datetimes, not dates
fixes CNVS-4963

canvas stores and treats these values as datetimes internally.
additionally, some customers depend on the datetime functionality, so
it's not just a matter of disconnect between representation and
semantics.

not only does displaying them as dates instead of datetimes hide
information that some customers may depend on, but it also risks losing
that information entirely when the form is loaded and then saved (even
if that field was not explicitly modified).

it gets even worse when userA saves the end date to an implicit midnight
in one time zone, and then userB round trips the form in another time
zone, causing the date to shift by whole days unintentionally.

treating it as a datetime in the input rather than as a date fixes all
of these.

test-plan:
 - create a course with a teacher
 - set the teacher's time zone to Baghdad (+03:00)
 - as the course teacher, set the course start_at to 6am on some day
 - load the course settings page and click "Edit Course Details"; the
   time portion of the start date should be displayed in the input
 - click the datepicker for the start date; the time portion should be
   displayed and filled
 - save the form; the start at should not change
 - change the teacher's time zone to Alaska (-09:00)
 - reload the course settings page and click "Edit Course Details"; the
   input should read as 6pm on the previous day
 - save the form; the start at should not change
 - change the teacher's time zone back to Baghdad
 - reload the course settings page; the course start at should be 6am on
   the originally selected date
 - repeat the above for course end date

Change-Id: I97c78ea2861e9d792d4f0d9d3fb121f5a83ab38b
Reviewed-on: https://gerrit.instructure.com/22206
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Matt Goodwin <mattg@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2013-07-12 15:34:20 +00:00
..
flash/uploadify upgrade Uploadify to 3.1.1 2012-08-14 14:49:35 -06:00
font update icon font with new discussion icons, mark as read and publish/unpublish 2013-05-30 21:20:09 +00:00
images added the ability for users to review app center apps 2013-06-04 19:16:20 +00:00
javascripts course start/end are datetimes, not dates 2013-07-12 15:34:20 +00:00
media_record audio/video recorders in one swf file 2011-05-08 10:30:27 -06:00
partials limit the length of media comment titles to 255 chars 2013-05-29 19:29:00 +00:00
stylesheets Fully adopt Bootstrap & update css to work with it, closes: #CNVS-1344 2013-02-28 21:06:45 -07:00
404.html replace all .button(s) with .btn 2012-11-14 13:29:30 -07:00
422.html Initial commit. 2011-01-31 18:57:29 -07:00
500.html replace all .button(s) with .btn 2012-11-14 13:29:30 -07:00
_crossdomain.xml non-flash direct-to-s3 changes 2011-02-11 10:49:53 -07:00
blank_submission.html Initial commit. 2011-01-31 18:57:29 -07:00
dimdim_welcome.html Initial commit. 2011-01-31 18:57:29 -07:00
drawing.html Initial commit. 2011-01-31 18:57:29 -07:00
enable-javascript.html change name of javascript-is-required.html to enable-javascript.html. 2012-02-16 14:28:30 -07:00
equella_cancel.html Initial commit. 2011-01-31 18:57:29 -07:00
equella_success.html Initial commit. 2011-01-31 18:57:29 -07:00
facebook_success.html fix facebook_success.html hash parsing 2011-05-10 21:20:09 -06:00
favicon.ico update canvas favicon. 2012-10-11 12:35:19 -06:00
find.png run ImageOptim on all our images to make them smaller 2012-08-02 18:07:49 -06:00
ie-6-is-not-supported.html move no-js and ie6 warnings out of app.html.erb 2011-02-22 10:35:41 -07:00
loading_submission.html Initial commit. 2011-01-31 18:57:29 -07:00
robots.txt Initial commit. 2011-01-31 18:57:29 -07:00
simple_response.json Initial commit. 2011-01-31 18:57:29 -07:00