Form/* now all use getOriginalValue and getDefaultValue. This resolves the Layout bug where all the check lists could not be unchecked. Tests were updated, but still need a major overhaul.

This commit is contained in:
Kaleb Murphy 2008-08-08 14:52:53 +00:00
parent 96b7047d22
commit 173c2a12cd
42 changed files with 173 additions and 76 deletions

View file

@ -2,7 +2,8 @@
- fixed: The indent loop of the Navigation wobject has an incorrect number of
iterations in some cases. (Martin Kamerbeek / Oqapi)
- fixed: Thingy: Setting the size of a field has no effect
- fixed: Form/* now all use getOriginalValue (split off from getDefaultValue) which resolves the Layout bug not being able to uncheck all hidden assets.
Tests were updated, but need are still lacking and need a major overhaul.
7.5.19
- fixed: paginator doesn't show correct number of page links with a limit applied
- fixed: user profile defaults can contain arbitrary perl code

View file

@ -118,7 +118,8 @@ Formats as a link.
sub getValueAsHtml {
my $self = shift;
my $asset = WebGUI::Asset->newByDynamicClass($self->session,$self->getDefaultValue);
# my $asset = WebGUI::Asset->newByDynamicClass($self->session,$self->getDefaultValue);
my $asset = WebGUI::Asset->newByDynamicClass($self->session,$self->getOriginalValue);
if (defined $asset) {
return '<a href="'.$asset->getUrl.'">'.$asset->getTitle.'</a>';
}
@ -148,7 +149,7 @@ Renders an asset selector.
sub toHtml {
my $self = shift;
my $asset = WebGUI::Asset->newByDynamicClass($self->session, $self->getDefaultValue) || WebGUI::Asset->getRoot($self->session);
my $asset = WebGUI::Asset->newByDynamicClass($self->session, $self->getOriginalValue) || WebGUI::Asset->getRoot($self->session);
my $url = $asset->getUrl("op=formHelper;sub=assetTree;class=Asset;formId=".$self->get('id'));
$url .= ";classLimiter=".$self->get("class") if ($self->get("class"));
return WebGUI::Form::Hidden->new($self->session,

View file

@ -148,7 +148,7 @@ Renders an attachments control.
sub toHtml {
my $self = shift;
my @assetIds = @{$self->getDefaultValue};
my @assetIds = @{$self->getOriginalValue};
my $thumbnail = $self->get("thumbnailSize") || $self->session->setting->get("thumbnailSize");
my $image = $self->get("maxImageSize") || $self->session->setting->get("maxImageSize");
my $attachmentsList = "attachments=".join(";attachments=", @assetIds) if (scalar(@assetIds));

View file

@ -88,7 +88,7 @@ Renders a button.
sub toHtml {
my $self = shift;
my $value = $self->fixQuotes($self->getDefaultValue);
my $value = $self->fixQuotes($self->getOriginalValue);
my $html = '<input type="button" ';
$html .= 'name="'.$self->get("name").'" ' if ($self->get("name"));
$html .= 'id="'.$self->get('id').'" ' unless ($self->get('id') eq "_formId");

View file

@ -148,7 +148,7 @@ sub toHtml {
my $options = $self->getOptions;
foreach my $key (keys %{$options}) {
$i++;
my @values = $self->getDefaultValue;
my @values = $self->getOriginalValue;
my $checked = (grep { $_ eq $key } @values)
? 1
: 0

View file

@ -118,7 +118,7 @@ Renders and input tag of type checkbox.
sub toHtml {
my $self = shift;
my $value = $self->getDefaultValue;
my $value = $self->getOriginalValue;
$value = defined $value ? $self->fixMacros($self->fixQuotes($self->fixSpecialCharacters($value))) : '';
my $checkedText = $self->get("checked") ? ' checked="checked"' : '';
my $idText = $self->get('id') ? ' id="'.$self->get('id').'" ' : '';

View file

@ -117,7 +117,7 @@ sub toHtml {
$style->setLink($url->extras('/colorpicker/colorpicker.css'),{ type=>'text/css', rel=>"stylesheet" });
$style->setScript($url->extras('/colorpicker/colorpicker.js'),{ type=>'text/javascript' });
my $id = $self->get("id");
my $value = $self->getDefaultValue;
my $value = $self->getOriginalValue;
my $name = $self->get("name");
return qq{<a href="javascript:YAHOO.WebGUI.Form.ColorPicker.display('$id', '${id}_swatch');" id="${id}_swatch" class="colorPickerFormSwatch" style="background-color: $value"></a>
<input onchange="YAHOO.util.Dom.setStyle('${id}_swatch', 'background-color', this.value)"

View file

@ -411,16 +411,28 @@ sub getValue {
#-------------------------------------------------------------------
=head2 getDefaultValue ( )
=head2 getOriginalValue ( )
Returns the either the "value" or "defaultValue" passed in to the object in that order, and doesn't take into account form processing.
=cut
sub getDefaultValue {
sub getOriginalValue {
my $self = shift;
my $value = $self->get("value");
return $value if (defined $value);
return $self->getDefaultValue();
}
#-------------------------------------------------------------------
=head2 getDefaultValue ( )
Returns the "defaultValue" passed in to the object in that order
=cut
sub getDefaultValue {
my $self = shift;
return $self->get("defaultValue");
}
@ -660,7 +672,7 @@ Renders the form field to HTML. This method should be overridden by all subclass
sub toHtml {
my $self = shift;
return $self->get("value");
return $self->getOriginalValue();
}
#-------------------------------------------------------------------
@ -673,7 +685,8 @@ Renders the form field to HTML as a hidden field rather than whatever field type
sub toHtmlAsHidden {
my $self = shift;
return '<input type="hidden" name="'.$self->get("name").'" value="'.$self->fixQuotes($self->fixMacros($self->fixSpecialCharacters($self->get("value")))).'" />'."\n";
return '<input type="hidden" name="'.$self->get("name").'" value="'.
$self->fixQuotes($self->fixMacros($self->fixSpecialCharacters($self->getOriginalValue()))).'" />'."\n";
}
#-------------------------------------------------------------------

View file

@ -170,7 +170,7 @@ sub toHtmlWithWrapper {
if ($self->session->user->isInGroup(3)) {
my $subtext;
if ($self->get("afterEdit")) {
$subtext = $self->session->icon->edit("op=editDatabaseLink;lid=".$self->getDefaultValue.";afterEdit=".$self->session->url->escape($self->get("afterEdit")));
$subtext = $self->session->icon->edit("op=editDatabaseLink;lid=".$self->getOriginalValue.";afterEdit=".$self->session->url->escape($self->get("afterEdit")));
}
$subtext .= $self->session->icon->manage("op=listDatabaseLinks");
$self->set("subtext", $subtext . $self->get("subtext"));

View file

@ -54,11 +54,11 @@ The following additional parameters have been added via this sub class.
=head4 maxlength
Defaults to 10. Determines the maximum number of characters allowed in this field.
Originals to 10. Determines the maximum number of characters allowed in this field.
=head4 size
Defaults to 10. The displayed size of the box for the date to be typed in.
Originals to 10. The displayed size of the box for the date to be typed in.
=head4 noDate
@ -66,7 +66,7 @@ A default date is placed in the value field. Set this to "1" to leave it empty.
=head4 defaultValue
If no value is specified, this will be used. Defaults to today and now.
If no value is specified, this will be used. Originals to today and now.
If the defaultValue is a MySQL date string, this form control will return MySQL
date strings instead of epoch times.
@ -179,11 +179,11 @@ sub getValueAsHtml {
|| $self->get("defaultValue") =~ m/^\d+$/
|| !$self->get("value")
|| $self->get("value") =~ m/^\d+$/) {
return $self->session->datetime->epochToHuman($self->getValue,"%z");
return $self->session->datetime->epochToHuman($self->getOriginalValue,"%z");
}
else {
# MySQL format
my $value = $self->getDefaultValue;
my $value = $self->getOriginalValue;
return $value;
}
}
@ -221,11 +221,11 @@ sub toHtml {
|| !$self->get("value")
|| $self->get("value") =~ m/^\d+$/) {
# Epoch format
$value = $self->set("value",$self->session->datetime->epochToSet($self->getDefaultValue));
$value = $self->set("value",$self->session->datetime->epochToSet($self->getOriginalValue));
}
else {
# MySQL format
$value = $self->getDefaultValue;
$value = $self->getOriginalValue;
# NOTE: Cannot fix time zone since we don't have a complete date/time
}
@ -265,10 +265,10 @@ sub toHtmlAsHidden {
|| $self->get("defaultValue") =~ m/^\d+$/
|| !$self->get("value")
|| $self->get("value") =~ m/^\d+$/) {
$value = $self->session->datetime->epochToSet($self->getDefaultValue,"%z");
$value = $self->session->datetime->epochToSet($self->getOriginalValue,"%z");
} else {
# MySQL format
$value = $self->getDefaultValue;
$value = $self->getOriginalValue;
# NOTE: Cannot fix time zone since we don't have a complete date/time
}

View file

@ -182,11 +182,11 @@ sub getValueAsHtml {
|| $self->get("defaultValue") =~ m/^\d+$/
|| !$self->get("value")
|| $self->get("value") =~ m/^\d+$/) {
return $self->session->datetime->epochToHuman($self->getDefaultValue,"%z %Z");
return $self->session->datetime->epochToHuman($self->getOriginalValue,"%z %Z");
}
else {
# MySQL format
my $value = $self->getDefaultValue;
my $value = $self->getOriginalValue;
# Fix time zone
$value = WebGUI::DateTime->new($self->session, mysql => $value)
->set_time_zone($self->get("timeZone"))
@ -224,10 +224,10 @@ sub toHtml {
|| !$self->get("value")
|| $self->get("value") =~ m/^\d+$/) {
# Epoch format
$value = $self->session->datetime->epochToSet($self->getDefaultValue,1);
$value = $self->session->datetime->epochToSet($self->getOriginalValue,1);
} else {
# MySQL format
$value = $self->getDefaultValue;
$value = $self->getOriginalValue;
# Fix time zone
$value = WebGUI::DateTime->new($self->session, mysql => $value)
->set_time_zone($self->get("timeZone"))
@ -269,10 +269,10 @@ sub toHtmlAsHidden {
|| $self->get("defaultValue") =~ m/^\d+$/
|| !$self->get("value")
|| $self->get("value") =~ m/^\d+$/) {
$value = $self->session->datetime->epochToSet($self->getDefaultValue,1);
$value = $self->session->datetime->epochToSet($self->getOriginalValue,1);
} else {
# MySQL format
$value = $self->getDefaultValue;
$value = $self->getOriginalValue;
# Fix Time zone
$value = WebGUI::DateTime->new($self->session, mysql => $value)
->set_time_zone($self->get("timeZone"))

View file

@ -81,7 +81,7 @@ Formats as an email link.
sub getValueAsHtml {
my $self = shift;
my $email = $self->getDefaultValue;
my $email = $self->getOriginalValue;
return '<a href="mailto:'.$email.'">'.$email.'</a>';
}

View file

@ -154,7 +154,7 @@ Returns the WebGUI::Storage object for this control.
sub getStorageLocation {
my $self = shift;
my $value = $self->getDefaultValue;
my $value = $self->getOriginalValue;
my $storage = WebGUI::Storage->get($self->session, $value) if ( defined $value );
return $storage;
}
@ -210,7 +210,7 @@ Displays the file as a link.
sub getValueAsHtml {
my ($self) = @_;
my $value = $self->getDefaultValue;
my $value = $self->getOriginalValue;
return '' unless $value;
my $location = WebGUI::Storage->get($self->session,$value);
my $file = shift @{ $location->getFiles };
@ -274,7 +274,7 @@ sub toHtml {
else {
$uploadControl .= WebGUI::Form::Hidden->new($self->session, {
name => $self->get("name"),
value => $self->getDefaultValue,
value => $self->getOriginalValue,
id => $self->get("id")
})->toHtml()."<br />";
$uploadControl .= WebGUI::Form::Hidden->new($self->session, {

View file

@ -133,7 +133,7 @@ Formats as a name.
sub getValueAsHtml {
my $self = shift;
my $group = WebGUI::Group->new($self->session, $self->getDefaultValue);
my $group = WebGUI::Group->new($self->session, $self->getOriginalValue);
if (defined $group) {
return $group->name;
}

View file

@ -97,7 +97,7 @@ Renders an input tag of type hidden.
sub toHtmlAsHidden {
my $self = shift;
my $value = $self->getDefaultValue;
my $value = $self->getOriginalValue;
$value = defined $value ? $self->fixMacros($self->fixQuotes($self->fixSpecialCharacters($value))) : '';
my $idText = $self->get('id') ? ' id="'.$self->get('id').'" ' : '';
return '<input type="hidden" name="'.($self->get("name")||'').'" value="'.$value.'" '.($self->get("extras")||'').$idText.' />'."\n";

View file

@ -132,7 +132,7 @@ Returns the WebGUI::Storage object for this control.
sub getStorageLocation {
my $self = shift;
my $value = $self->getDefaultValue;
my $value = $self->getOriginalValue;
my $storage = WebGUI::Storage::Image->get($self->session, $value) if ($value);
return $storage;
}
@ -181,7 +181,7 @@ Displays the image using an img tag.
sub getValueAsHtml {
my ($self) = @_;
my $value = $self->getDefaultValue;
my $value = $self->getOriginalValue;
return '' unless $value;
my $location = WebGUI::Storage::Image->get($self->session, $value);
my $file = shift @{ $location->getFiles };

View file

@ -89,7 +89,7 @@ sub getInputElement {
return WebGUI::Form::Integer($self->session, {
name => $self->get('name'),
value => $self->get('value'),
value => $self->getValue(),
size => $self->get('size'),
id => 'view-'.$self->get('id'),
});

View file

@ -149,7 +149,7 @@ sub toHtml {
'weeks'=>$i18n->get(701),
'months'=>$i18n->get(702),
'years'=>$i18n->get(703));
my ($interval, $units) = $self->session->datetime->secondsToInterval($self->getDefaultValue);
my ($interval, $units) = $self->session->datetime->secondsToInterval($self->getOriginalValue);
# not sure why, but these things need to be defined like this or
# they fail under some circumstnaces
my $cmd = "WebGUI::Form::Integer";
@ -180,7 +180,7 @@ Returns the field as hidden controls rather than displayable controls.
sub toHtmlAsHidden {
my $self = shift;
my ($interval, $units) = $self->session->datetime->secondsToInterval($self->getDefaultValue);
my ($interval, $units) = $self->session->datetime->secondsToInterval($self->getOriginalValue);
return WebGUI::Form::Hidden->new($self->session,
name=>$self->get("name").'_interval',
value=>$interval

View file

@ -191,7 +191,7 @@ sub toHtmlWithWrapper {
if ($self->session->user->isInGroup(3)) {
my $subtext;
if ($self->get("afterEdit")) {
$subtext = $self->session->icon->edit("op=editLDAPLink;llid=".$self->getDefaultValue.";afterEdit=".$self->session->url->escape($self->get("afterEdit")));
$subtext = $self->session->icon->edit("op=editLDAPLink;llid=".$self->getOriginalValue.";afterEdit=".$self->session->url->escape($self->get("afterEdit")));
}
$subtext .= $self->session->icon->manage("op=listLDAPLinks");
$self->set("subtext", $subtext . $self->get("subtext"));

View file

@ -203,6 +203,7 @@ Optional values to process, instead of POST input.
sub getValue {
my ($self, $value) = @_;
my @values = ();
if (defined $value) {
if (ref $value eq "ARRAY") {
@ -236,7 +237,47 @@ Returns the either the "value" ore "defaultValue" passed in to the object in tha
sub getDefaultValue {
my $self = shift;
my @values = ();
foreach my $value ($self->get("value"), $self->get("defaultValue")) {
foreach my $value ($self->get('defaultValue')) {
if (scalar @values < 1 && defined $value) {
if (ref $value eq "ARRAY") {
@values = @{$value};
}
else {
$value =~ s/\r//g;
@values = split "\n", $value;
}
}
}
return wantarray ? @values : join("\n",@values);
}
=head2 getOriginalValue ( )
Returns the either the "value" ore "defaultValue" passed in to the object in that order, and doesn't take into account form processing.
=cut
sub getOriginalValue {
my $self = shift;
my @values = ();
foreach my $value ($self->get("value")) {
if (scalar @values < 1 && defined $value) {
if (ref $value eq "ARRAY") {
@values = @{$value};
}
else {
$value =~ s/\r//g;
@values = split "\n", $value;
}
}
}
if(@values){
return wantarray ? @values : join("\n",@values);
}
foreach my $value ($self->getDefaultValue()) {
if (scalar @values < 1 && defined $value) {
if (ref $value eq "ARRAY") {
@values = @{$value};
@ -261,7 +302,7 @@ Return all the options
sub getValueAsHtml {
my ($self) = @_;
my $options = $self->getOptions;
return join ", ", map { $options->{$_} } $self->getDefaultValue;
return join ", ", map { $options->{$_} } $self->getOriginalValue;
}
#-------------------------------------------------------------------
@ -290,7 +331,7 @@ sub toHtmlAsHidden {
my $self = shift;
my $options = $self->getOptions();
my $output;
my @values = $self->getDefaultValue();
my @values = $self->getOriginalValue();
foreach my $key (keys %{$options}) {
foreach my $item (@values) {
if ($item eq $key) {

View file

@ -119,7 +119,7 @@ Renders an input tag of type password.
sub toHtml {
my $self = shift;
my $html = '<input type="password" name="'.$self->get("name").'" value="'.$self->fixQuotes($self->getDefaultValue).'" size="'.$self->get("size").'" id="'.$self->get('id').'" ';
my $html = '<input type="password" name="'.$self->get("name").'" value="'.$self->fixQuotes($self->getOriginalValue).'" size="'.$self->get("size").'" id="'.$self->get('id').'" ';
$html .= 'maxlength="'.$self->get("maxlength").'" ' if ($self->get("maxlength"));
$html .= $self->get("extras").' />';
return $html;

View file

@ -100,7 +100,7 @@ Renders and input tag of type radio.
sub toHtml {
my$self = shift;
my $value = $self->get('value');
my $value = $self->getOriginalValue();
$value = defined $value ? $self->fixMacros($self->fixQuotes($self->fixSpecialCharacters($value))) : '';
my $checkedText = $self->get("checked") ? ' checked="checked"' : '';
my $idText = $self->get('id') ? ' id="'.$self->get('id').'" ' : '';

View file

@ -110,6 +110,19 @@ sub getDefaultValue {
#-------------------------------------------------------------------
=head2 getOriginalValue( [ value ] )
See WebGUI::Form::Control::getOriginalValue()
=cut
sub getOriginalValue{
my $self = shift;
return $self->WebGUI::Form::Control::getOriginalValue(@_);
}
#-------------------------------------------------------------------
=head2 isDynamicCompatible ( )
A class method that returns a boolean indicating whether this control is compatible with the DynamicField control.
@ -137,7 +150,7 @@ sub toHtml {
foreach my $key (keys %{$options}) {
$i++;
my $checked = 0;
if ($self->get('value') eq $key) {
if ($self->getOriginalValue() eq $key) {
$checked = 1;
}
$output .= WebGUI::Form::Radio->new($self->session, {

View file

@ -84,7 +84,7 @@ Renders the value.
sub toHtml {
my $self = shift;
return $self->getDefaultValue;
return $self->getOriginalValue;
}
#-------------------------------------------------------------------

View file

@ -115,16 +115,30 @@ Returns the either the "value" ore "defaultValue" passed in to the object in tha
sub getDefaultValue {
my $self = shift;
my $value = $self->get("value");
unless (defined $value) {
$value = $self->get("defaultValue");
}
my $value = $self->get("defaultValue");
if (ref $value eq 'ARRAY') {
$value = $value->[0];
}
return $value;
}
=head2 getOriginalValue ( )
Returns the either the "value" ore "defaultValue" passed in to the object in that order, and doesn't take into account form processing.
=cut
sub getOriginalValue {
my $self = shift;
my $value = $self->get("value");
unless (defined $value) {
$value = $self->getDefaultValue();
}
if (ref $value eq 'ARRAY') {
$value = $value->[0];
}
return $value;
}
#-------------------------------------------------------------------
@ -150,7 +164,7 @@ sub toHtml {
my $self = shift;
my $output = '<select name="'.($self->get("name")||'').'" size="'.($self->get("size")||'').'" id="'.($self->get('id')||'').'" '.($self->get("extras")||'').'>';
my $options = $self->getOptions;
my $value = $self->getDefaultValue();
my $value = $self->getOriginalValue();
foreach my $key (keys %{$options}) {
$output .= '<option value="'.$key.'"';
if ($value eq $key) {

View file

@ -109,7 +109,7 @@ sub toHtml {
my $multiple = $self->get("multiple") ? ' multiple="multiple"' : '';
my $output = '<select name="'.($self->get("name")||'').'" size="'.($self->get("size")||'').'" id="'.($self->get('id')||'').'" '.($self->get("extras")||'').$multiple.'>';
my $options = $self->getOptions;
my @values = $self->getDefaultValue();
my @values = $self->getOriginalValue();
foreach my $key (keys %{$options}) {
$output .= '<option value="'.$key.'"';
foreach my $item (@values) {

View file

@ -88,7 +88,7 @@ Returns the value that should be displayed initially.
sub getDisplayValue {
my $self = shift;
return $self->getOptions->{$self->get('value')->[0]};
return $self->getOptions->{$self->getValue()->[0]};
}
#-------------------------------------------------------------------
@ -104,7 +104,7 @@ sub getInputElement {
return WebGUI::Form::selectList($self->session, {
-name => $self->get('name'),
-value => $self->get('value'),
-value => $self->getValue(),
-options=> $self->getOptions,
-id => 'view-'.$self->get('id'),
-size => 1,
@ -215,7 +215,7 @@ sub getSliderValue {
my @keys = keys %{$self->getOptions};
for (my $i = 0; $i < @keys; $i++) {
return $i if $keys[$i] eq $self->get('value')->[0];
return $i if $keys[$i] eq $self->getValue()->[0];
}
return undef;

View file

@ -91,7 +91,7 @@ Returns the value that should be displayed initially.
sub getDisplayValue {
my $self = shift;
return $self->get('value');
return $self->getValue();
}
#-------------------------------------------------------------------
@ -237,7 +237,7 @@ Returns the initial position of the slider in slider units.
sub getSliderValue {
my $self = shift;
return $self->get('value');
return $self->getValue();
}
#-------------------------------------------------------------------
@ -283,7 +283,7 @@ sub toHtml {
$output .= '<td><div class="slider" id="'.$self->get('id').'" '.$self->get("extras").' tabindex="1">';
$output .= WebGUI::Form::hidden($self->session, {
-name => 'slider-'.$self->get('name'),
-value => $self->get('value'),
-value => $self->getValue(),
-id => $self->get('id').'-input',
-extras => 'class="slider-input"',
});

View file

@ -59,7 +59,7 @@ Renders a button.
sub toHtml {
my $self = shift;
my $value = $self->fixQuotes($self->getDefaultValue);
my $value = $self->fixQuotes($self->getOriginalValue);
my $extras = $self->get("extras") || q|class="forwardButton"|;
my $i18n = WebGUI::International->new($self->session);
$self->{_params}{extras} ||= 'onclick="this.value=\''.$i18n->get(452).'\'"';

View file

@ -72,7 +72,7 @@ Renders the form field to HTML as a table row. The row is not displayed because
sub toHtmlWithWrapper {
my $self = shift;
my $value = $self->fixMacros($self->fixQuotes($self->fixSpecialCharacters($self->getDefaultValue))) || '';
my $value = $self->fixMacros($self->fixQuotes($self->fixSpecialCharacters($self->getOriginalValue))) || '';
my $manageButton = "&nbsp;";
if ($value) {
$manageButton = $self->session->icon->manage("op=editGroup;gid=".$value);

View file

@ -169,7 +169,7 @@ Renders the form field to HTML as a table row complete with labels, subtext, hov
sub toHtmlWithWrapper {
my $self = shift;
my $template = WebGUI::Asset::Template->new($self->session,$self->get('value'));
my $template = WebGUI::Asset::Template->new($self->session,$self->getOriginalValue());
if (defined $template && $template->canEdit) {
my $returnUrl;
if (defined $self->session->asset && ref $self->session->asset ne "WebGUI::Asset::Template") {

View file

@ -125,7 +125,7 @@ Renders an input tag of type text.
sub toHtml {
my $self = shift;
my $value = $self->fixMacros($self->fixQuotes($self->fixSpecialCharacters($self->getDefaultValue)));
my $value = $self->fixMacros($self->fixQuotes($self->fixSpecialCharacters($self->getOriginalValue)));
return '<input id="'.$self->get('id').'" type="text" name="'.$self->get("name").'" value="'.$value.'" size="'.$self->get("size").'" maxlength="'.$self->get("maxlength").'" '.$self->get("extras").' />';
}

View file

@ -132,7 +132,7 @@ Renders an input tag of type text.
sub toHtml {
my $self = shift;
my $value = $self->fixMacros($self->fixTags($self->fixSpecialCharacters($self->getDefaultValue)));
my $value = $self->fixMacros($self->fixTags($self->fixSpecialCharacters($self->getOriginalValue)));
my $width = $self->get('width') || 400;
my $height = $self->get('height') || 150;
my ($style, $url) = $self->session->quick(qw(style url));

View file

@ -184,7 +184,7 @@ Renders a time field.
sub toHtml {
my $self = shift;
my $value = $self->getDefaultValue;
my $value = $self->getOriginalValue;
my $i18n = WebGUI::International->new($self->session);
$self->session->style->setScript($self->session->url->extras('inputCheck.js'),{ type=>'text/javascript' });
$self->set("extras", $self->get('extras') . ' onkeyup="doInputCheck(document.getElementById(\''.$self->get("id").'\'),\'0123456789:\')"');
@ -206,7 +206,7 @@ Renders the field as a hidden field.
sub toHtmlAsHidden {
my $self = shift;
my $value = $self->getDefaultValue;
my $value = $self->getOriginalValue;
return WebGUI::Form::Hidden->new($self->session,
name=>$self->get("name"),
value=>$value

View file

@ -120,7 +120,7 @@ Formats as a link.
sub getValueAsHtml {
my $self = shift;
my $url = $self->getDefaultValue;
my $url = $self->getOriginalValue;
return '<a href="'.$url.'">'.$url.'</a>';
}

View file

@ -117,7 +117,7 @@ Formats as a name.
sub getValueAsHtml {
my $self = shift;
my $user = WebGUI::User->new($self->session, $self->getDefaultValue);
my $user = WebGUI::User->new($self->session, $self->getOriginalValue);
if (defined $user) {
return $user->username;
}
@ -147,7 +147,7 @@ Renders a user selector.
sub toHtml {
my $self = shift;
my $user = WebGUI::User->new($self->session, $self->getDefaultValue);
my $user = WebGUI::User->new($self->session, $self->getOriginalValue);
my $manage = undef;
if ($self->session->user->isInGroup(3)) {
$manage = " ".$self->session->icon->manage('op=listUsers');

View file

@ -119,7 +119,7 @@ Formats as a name.
sub getValueAsHtml {
my $self = shift;
my $vendor = eval{WebGUI::Shop::Vendor->new($self->session, $self->getDefaultValue)};
my $vendor = eval{WebGUI::Shop::Vendor->new($self->session, $self->getOriginalValue)};
if (!$@ && defined $vendor) {
return $vendor->get('name');
}

View file

@ -119,7 +119,7 @@ Shows either Yes or No.
sub getValueAsHtml {
my $self = shift;
my $i18n = WebGUI::International->new($self->session);
if ($self->getDefaultValue) {
if ($self->getOriginalValue) {
return $i18n->get(138);
}
return $i18n->get(139);
@ -149,7 +149,7 @@ sub toHtml {
my $self = shift;
my $i18n = WebGUI::International->new($self->session);
my ($checkYes, $checkNo);
if ($self->getDefaultValue) {
if ($self->getOriginalValue) {
$checkYes = 1;
} else {
$checkNo = 1;

View file

@ -105,7 +105,7 @@ Renders an input tag of type text.
sub toHtml {
my $self = shift;
my $value = $self->fixMacros($self->fixQuotes($self->fixSpecialCharacters($self->getDefaultValue)));
my $value = $self->fixMacros($self->fixQuotes($self->fixSpecialCharacters($self->getOriginalValue)));
return '<input id="'.$self->get('id').'" type="text" name="'.$self->get("name").'" value="'.$value.'" size="'.$self->get("size").'" '.$self->get("extras").' />';
}

View file

@ -32,7 +32,7 @@ my $session = WebGUI::Test->session;
my $formClass = 'WebGUI::Form::CheckList';
my $formType = 'Checkbox';
my $numTests = 15;
my $numTests = 20;
plan tests => $numTests;
@ -99,3 +99,13 @@ is( $inputs[0]->{value},
WebGUI::International->new($session,"Form_CheckList")->get("selectAll label"),
'The value is internationalized'
);
my $cl = WebGUI::Form::CheckList->new($session, {defaultValue => 'default'});
is($cl->getValue(),'default','Check getvalue with null returns default value');
is($cl->getValue("value"), "value", "Check getValue returns a value");
$cl->set('value',"original");
is($cl->getDefaultValue(), "default", "Check getDefaultValue returns the default value");
my $c2 = WebGUI::Form::CheckList->new($session, {defaultValue => 'default'});
is($c2->getOriginalValue(), "default", "Get original value returns the default value");
$c2->set('value',"original");
is($c2->getOriginalValue(), "original", "Get original value return original value");

View file

@ -73,7 +73,10 @@ my $input = $inputs[0];
is($input->name, 'TestDate', 'Checking input name');
is($input->type, 'text', 'Checking input type');
#is($input->value, $defaultTime, "Checking default value");
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->{size}, 10, 'Checking size param, default');
is($input->{maxlength}, 10, 'Checking maxlength param, default');
@ -95,7 +98,7 @@ $html = join "\n",
$input = $inputs[0];
is($input->name, 'preDateValue', 'Checking input name');
TODO: {
local $TODO = "Figure out why this is returning a MySQL value instead of an epoch.";
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');

View file

@ -60,6 +60,7 @@ my $html = join "\n",
checked => 1,
})->toHtml,
$footer;
use Data::Dumper;
my @forms = HTML::Form->parse($html, 'http://www.webgui.org');