Date form plugin should display dates in user's format when passed an epoch.
This commit is contained in:
parent
536ac6cdc7
commit
9b76e0e162
2 changed files with 16 additions and 18 deletions
|
|
@ -178,7 +178,7 @@ sub getValueAsHtml {
|
|||
|| $self->get("defaultValue") =~ $isaEpoch
|
||||
|| !$self->get("value")
|
||||
|| $self->get("value") =~ $isaEpoch) {
|
||||
return $self->session->datetime->epochToSet($self->getOriginalValue);
|
||||
return $self->session->datetime->epochToHuman($self->getOriginalValue, '%z');
|
||||
}
|
||||
else {
|
||||
# MySQL format
|
||||
|
|
@ -217,7 +217,7 @@ sub toHtml {
|
|||
$value = $self->set("value",'');
|
||||
}
|
||||
else {
|
||||
$value = $self->getValueAsHtml;
|
||||
$value = WebGUI::DateTime->new($session, $self->getOriginalValue)->toMysqlDate;
|
||||
}
|
||||
|
||||
my $style = $session->style;
|
||||
|
|
@ -252,9 +252,10 @@ Renders the form field to HTML as a hidden field rather than whatever field type
|
|||
=cut
|
||||
|
||||
sub toHtmlAsHidden {
|
||||
my $self = shift;
|
||||
my $value = $self->getValueAsHtml();
|
||||
return WebGUI::Form::Hidden->new($self->session,
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
my $value = WebGUI::DateTime->new($session, $self->getOriginalValue)->toMysqlDate;
|
||||
return WebGUI::Form::Hidden->new($session,
|
||||
name => $self->get("name"),
|
||||
value => $value,
|
||||
)->toHtmlAsHidden;
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ my $testBlock = [
|
|||
|
||||
my $formType = 'date';
|
||||
|
||||
my $numTests = 26 + scalar @{ $testBlock } ;
|
||||
my $numTests = 25 + scalar @{ $testBlock } ;
|
||||
|
||||
|
||||
plan tests => $numTests;
|
||||
|
|
@ -79,10 +79,11 @@ my $input = $inputs[1];
|
|||
|
||||
is($input->name, 'TestDate', 'Checking input name');
|
||||
is($input->type, 'text', 'Checking input type');
|
||||
TODO: {
|
||||
local $TODO = "Figure out why this is returning a MySQL value instead of an epoch.";
|
||||
is($input->value, $defaultTime, "Checking default value");
|
||||
}
|
||||
is(
|
||||
$input->value,
|
||||
WebGUI::DateTime->new($session, $defaultTime)->toMysqlDate,
|
||||
"Checking default value"
|
||||
);
|
||||
is($input->{size}, 10, 'Checking size param, default');
|
||||
is($input->{maxlength}, 10, 'Checking maxlength param, default');
|
||||
|
||||
|
|
@ -103,10 +104,6 @@ $html = join "\n",
|
|||
@inputs = $forms[0]->inputs;
|
||||
$input = $inputs[1];
|
||||
is($input->name, 'preDateValue', 'Checking input name');
|
||||
TODO: {
|
||||
local $TODO = "Figure out why this is returning a MySQL value instead of an epoch.";
|
||||
is($input->value, 1217608466, 'Checking default value');
|
||||
}
|
||||
is($input->{size}, 10, 'Checking size param, set');
|
||||
is($input->{maxlength}, 10, 'Checking maxlength param, set');
|
||||
|
||||
|
|
@ -130,10 +127,10 @@ is($date2->getValue(-1), -1, "... Default negative epoch to ne
|
|||
my $bday = WebGUI::Test->webguiBirthday;
|
||||
|
||||
$date2 = WebGUI::Form::Date->new($session);
|
||||
is($date2->getValueAsHtml(), $session->datetime->epochToSet($date2->getDefaultValue), "getValueAsHtml: no defaultValue set, no value set, returns now in user's format");
|
||||
is($date2->getValueAsHtml(), $session->datetime->epochToHuman($date2->getDefaultValue,'%z'), "getValueAsHtml: no defaultValue set, no value set, returns now in user's format");
|
||||
|
||||
$date2 = WebGUI::Form::Date->new($session, {defaultValue => 1217608466});
|
||||
is($date2->getValueAsHtml(), '2008-08-01', "getValueAsHtml: defaultValue in epoch format, returns now in mysql format");
|
||||
is($date2->getValueAsHtml(), '8/1/2008', "getValueAsHtml: defaultValue in epoch format, returns now in user's format");
|
||||
is(
|
||||
getValueFromForm($session, $date2->toHtmlAsHidden),
|
||||
'2008-08-01',
|
||||
|
|
@ -145,13 +142,13 @@ is(
|
|||
"toHtml: defaultValue in epoch format, returns date in mysql format"
|
||||
);
|
||||
$date2 = WebGUI::Form::Date->new($session, {defaultValue => -1});
|
||||
is($date2->getValueAsHtml(), '1969-12-31', "getValueAsHtml: defaultValue as negative epoch, returns in mysql format");
|
||||
is($date2->getValueAsHtml(), '12/31/1969', "getValueAsHtml: defaultValue as negative epoch, returns in users's format");
|
||||
|
||||
$date2 = WebGUI::Form::Date->new($session, {defaultValue => '2008-08-01'});
|
||||
is($date2->getValueAsHtml(), '2008-08-01', "getValueAsHtml: defaultValue in mysql format, returns default value in mysql format");
|
||||
|
||||
$date2 = WebGUI::Form::Date->new($session, {defaultValue => '2008-08-01', value => $bday, });
|
||||
is($date2->getValueAsHtml(), '2001-08-16', "getValueAsHtml: defaultValue in mysql format, value as epoch returns value in user's format");
|
||||
is($date2->getValueAsHtml(), '8/16/2001', "getValueAsHtml: defaultValue in mysql format, value as epoch returns value in user's format");
|
||||
|
||||
$date2 = WebGUI::Form::Date->new($session, {defaultValue => '2008-08-01', value => '2001-08-16', });
|
||||
is($date2->getValueAsHtml(), '2001-08-16', "getValueAsHtml: defaultValue in mysql format, value as mysql returns value in mysql format");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue