Commit e621696b authored by mkanat%bugzilla.org's avatar mkanat%bugzilla.org

Bug 405898: Date/Time Fields should accept times like H:MM

Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=LpSolit
parent b64f45e6
...@@ -476,8 +476,8 @@ sub validate_time { ...@@ -476,8 +476,8 @@ sub validate_time {
my $ts = str2time($time); my $ts = str2time($time);
if ($ts) { if ($ts) {
$time2 = time2str("%H:%M:%S", $ts); $time2 = time2str("%H:%M:%S", $ts);
if (trim($time) =~ /^\d\d:\d\d$/) { if ($time =~ /^(\d{1,2}):(\d\d)(?::(\d\d))?$/) {
$time .= ':00'; $time = sprintf("%02d:%02d:%02d", $1, $2, $3 || 0);
} }
} }
my $ret = ($ts && $time eq $time2); my $ret = ($ts && $time eq $time2);
......
...@@ -85,7 +85,7 @@ function setFieldFromCalendar(type, args, date_field) { ...@@ -85,7 +85,7 @@ function setFieldFromCalendar(type, args, date_field) {
// We can't just write the date straight into the field, because there // We can't just write the date straight into the field, because there
// might already be a time there. // might already be a time there.
var timeRe = /(\d\d):(\d\d)(?::(\d\d))?/; var timeRe = /\b(\d{1,2}):(\d\d)(?::(\d\d))?/;
var currentTime = timeRe.exec(date_field.value); var currentTime = timeRe.exec(date_field.value);
var d = new Date(setDate[0], setDate[1] - 1, setDate[2]); var d = new Date(setDate[0], setDate[1] - 1, setDate[2]);
if (currentTime) { if (currentTime) {
...@@ -104,9 +104,6 @@ function setFieldFromCalendar(type, args, date_field) { ...@@ -104,9 +104,6 @@ function setFieldFromCalendar(type, args, date_field) {
var dateStr = year + '-' + month + '-' + day; var dateStr = year + '-' + month + '-' + day;
if (currentTime) { if (currentTime) {
var hours = d.getHours();
if (hours < 10) hours = '0' + String(hours);
d.setHours(hours);
var minutes = d.getMinutes(); var minutes = d.getMinutes();
if (minutes < 10) minutes = '0' + String(minutes); if (minutes < 10) minutes = '0' + String(minutes);
var seconds = d.getSeconds(); var seconds = d.getSeconds();
...@@ -114,7 +111,7 @@ function setFieldFromCalendar(type, args, date_field) { ...@@ -114,7 +111,7 @@ function setFieldFromCalendar(type, args, date_field) {
seconds = '0' + String(seconds); seconds = '0' + String(seconds);
} }
dateStr = dateStr + ' ' + hours + ':' + minutes; dateStr = dateStr + ' ' + d.getHours() + ':' + minutes;
if (seconds) dateStr = dateStr + ':' + seconds; if (seconds) dateStr = dateStr + ':' + seconds;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment