EMS import/export, Form::*::getValueFromPost(alt_values), and tests
This commit is contained in:
parent
0a7e06edca
commit
c09b2cae1b
46 changed files with 1728 additions and 299 deletions
|
|
@ -96,15 +96,19 @@ sub generateIdParameter {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
Retrieves a value from a form GET or POST and returns it. If the value comes back as undef, this method will return undef.
|
||||
|
||||
=head3 value
|
||||
|
||||
An optional value to process, instead of POST input.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
my $formValue = $self->session->form->param($self->get("name"));
|
||||
my $formValue = @_ ? shift : $self->session->form->param($self->get("name"));
|
||||
if (defined $formValue) {
|
||||
return $formValue;
|
||||
} else {
|
||||
|
|
@ -122,10 +126,10 @@ Renders and input tag of type checkbox.
|
|||
|
||||
sub toHtml {
|
||||
my $self = shift;
|
||||
my $value = $self->fixMacros($self->fixQuotes($self->fixSpecialCharacters($self->get("value"))));
|
||||
my $checkedText = ' checked="checked"' if ($self->get("checked"));
|
||||
my $idText = ' id="'.$self->get('id').'" ' if ($self->get('id'));
|
||||
return '<input type="checkbox" name="'.$self->get("name").'" value="'.$value.'"'.$idText.$checkedText.' '.$self->get("extras").' />';
|
||||
my $value = $self->fixMacros($self->fixQuotes($self->fixSpecialCharacters($self->get("value")))) || '';
|
||||
my $checkedText = $self->get("checked") ? ' checked="checked"' : '';
|
||||
my $idText = $self->get('id') ? ' id="'.$self->get('id').'" ' : '';
|
||||
return '<input type="checkbox" name="'.($self->get("name")||'').'" value="'.$value.'"'.$idText.$checkedText.' '.($self->get("extras")||'').' />';
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -70,9 +70,9 @@ Returns a class name which has been taint checked.
|
|||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
my $value = $self->session->form->param($self->get("name"));
|
||||
my $value = @_ ? shift : $self->session->form->param($self->get("name"));
|
||||
$value =~ s/[^\w:]//g;
|
||||
return $value;
|
||||
return $value;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
@ -84,9 +84,9 @@ Renders a class name field.
|
|||
=cut
|
||||
|
||||
sub toHtml {
|
||||
my $self = shift;
|
||||
my $self = shift;
|
||||
$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").'\'),\'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890:_\')" ');
|
||||
$self->set("extras", $self->get('extras') . ' onkeyup="doInputCheck(document.getElementById(\''.$self->get("id").'\'),\'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890:_\')" ');
|
||||
return $self->SUPER::toHtml;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -62,17 +62,21 @@ sub definition {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
Returns a hex color like "#000000". Returns undef if the return value is not a valid color.
|
||||
|
||||
=head2 value
|
||||
|
||||
An optional value to use instead of POST input.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
my $color = $self->session->form->param($self->get("name"));
|
||||
return undef unless $color =~ /\#\w{6}/;
|
||||
return $color;
|
||||
my $color = @_ ? shift : $self->session->form->param($self->get("name"));
|
||||
return undef unless $color =~ /\#\w{6}/;
|
||||
return $color;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -78,22 +78,30 @@ sub definition {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
Returns an array or a carriage return ("\n") separated scalar depending
|
||||
upon whether you're returning the values into an array or a scalar. If
|
||||
any data is in the Text form, it is returned before a selected value from
|
||||
the list.
|
||||
|
||||
=head3 value
|
||||
|
||||
Optional values to process, instead of POST input.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
if ($self->session->form->param($self->get("name")."_new")) {
|
||||
|
||||
if (@_) {
|
||||
return $self->SUPER::getValueFromPost(@_);
|
||||
}
|
||||
elsif ($self->session->form->param($self->get("name")."_new")) {
|
||||
my $formValue = $self->session->form->param($self->get("name")."_new");
|
||||
$formValue =~ tr/\r\n//d;
|
||||
return $formValue;
|
||||
}
|
||||
}
|
||||
return $self->SUPER::getValueFromPost;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -412,15 +412,27 @@ sub fixTags {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
Retrieves a value from a form GET or POST and returns it. If the value comes back as undef, this method will return the defaultValue instead.
|
||||
|
||||
=head3 value
|
||||
|
||||
An optional value to process, instead of POST input.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
my $formValue = $self->session->form->param($self->get("name")) if ($self->session->request);
|
||||
my $formValue;
|
||||
|
||||
if (@_) {
|
||||
$formValue = shift;
|
||||
}
|
||||
elsif ($self->session->request) {
|
||||
$formValue = $self->session->form->param($self->get("name"));
|
||||
}
|
||||
|
||||
if (defined $formValue) {
|
||||
return $formValue;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -133,11 +133,15 @@ sub displayValue {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
Returns a validated form post result. If the result does not pass validation,
|
||||
it returns undef instead.
|
||||
|
||||
=head3 value
|
||||
|
||||
An optional value to process, instead of POST input. This should be in the 'YY(YY)?-MM-DD' form.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
|
|
@ -147,11 +151,11 @@ sub getValueFromPost {
|
|||
|| $self->get("defaultValue") =~ m/^\d+$/
|
||||
|| !$self->get("value")
|
||||
|| $self->get("value") =~ m/^\d+$/) {
|
||||
return $self->session->datetime->setToEpoch($self->session->form->param($self->get("name")));
|
||||
return $self->session->datetime->setToEpoch(@_ ? shift : $self->session->form->param($self->get("name")));
|
||||
} else {
|
||||
# MySQL format
|
||||
# YY(YY)?-MM-DD
|
||||
my $value = $self->session->form->param($self->get("name"));
|
||||
my $value = @_ ? shift : $self->session->form->param($self->get("name"));
|
||||
|
||||
# NOTE: Cannot fix time zone since we don't have a complete date/time
|
||||
|
||||
|
|
|
|||
|
|
@ -105,10 +105,14 @@ sub definition {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
Returns a validated form post result. If the result does not pass validation, it returns undef instead.
|
||||
|
||||
=head3 value
|
||||
|
||||
An optional value to process, instead of POST input. This should be in the 'YY(YY)?-MM-DD HH:MM:SS' form.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
|
|
@ -119,11 +123,11 @@ sub getValueFromPost {
|
|||
|| !$self->get("value")
|
||||
|| $self->get("value") =~ m/^\d+$/) {
|
||||
# Epoch format
|
||||
return $self->session->datetime->setToEpoch($self->session->form->param($self->get("name")));
|
||||
return $self->session->datetime->setToEpoch(@_ ? shift : $self->session->form->param($self->get("name")));
|
||||
} else {
|
||||
# MySQL format
|
||||
# YY(YY)?-MM-DD HH:MM:SS
|
||||
my $value = $self->session->form->param($self->get("name"));
|
||||
my $value = @_ ? shift : $self->session->form->param($self->get("name"));
|
||||
$self->session->errorHandler->warn("Date value: $value");
|
||||
|
||||
# Verify format
|
||||
|
|
|
|||
|
|
@ -70,15 +70,19 @@ sub definition {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
Returns a validated email address. If the result does not pass validation, it returns undef instead.
|
||||
|
||||
=head3 value
|
||||
|
||||
An optional value to process instead of POST input.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
my $value = $self->session->form->param($self->get("name"));
|
||||
my $value = @_ ? shift : $self->session->form->param($self->get("name"));
|
||||
if ($value =~ /^([0-9a-zA-Z]([-.+\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/i) {
|
||||
return $value;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,19 +94,23 @@ sub definition {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
Returns the integer from the form post, or returns 0.0 if the post result is invalid.
|
||||
|
||||
=head3 value
|
||||
|
||||
An optional value to process, instead of POST input.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
my $value = $self->session->form->param($self->get("name"));
|
||||
my $value = @_ ? shift : $self->session->form->param($self->get("name"));
|
||||
if ($value =~ /^-?[\d\.]+$/ and $value =~ /\d/) {
|
||||
return $value;
|
||||
}
|
||||
return 0.0;
|
||||
return $value;
|
||||
}
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -110,8 +110,8 @@ Returns a group pull-down field. A group pull down provides a select list that p
|
|||
|
||||
sub toHtml {
|
||||
my $self = shift;
|
||||
my $where;
|
||||
if ($self->get('excludeGroups')->[0] ne "") {
|
||||
my $where = '';
|
||||
if (($self->get('excludeGroups')->[0]||'') ne "") {
|
||||
$where = "and groupId not in (".$self->session->db->quoteAndJoin($self->get("excludeGroups")).")";
|
||||
}
|
||||
$self->set('options', $self->session->db->buildHashRef("select groupId,groupName from groups where showInForms=1 $where order by groupName"));
|
||||
|
|
|
|||
|
|
@ -104,15 +104,19 @@ sub definition {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
Returns the value of this form field after stipping unwanted tags like <body>.
|
||||
|
||||
=head3 value
|
||||
|
||||
An optional value to process, instead of POST input.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
return WebGUI::HTML::cleanSegment($self->SUPER::getValueFromPost());
|
||||
return WebGUI::HTML::cleanSegment($self->SUPER::getValueFromPost(@_));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -232,7 +232,7 @@ sub getValueFromPost {
|
|||
id => 'view-'.$self->get('id'),
|
||||
};
|
||||
|
||||
return WebGUI::Form::hexadecimal->new($self->session, $properties)->getValueFromPost;
|
||||
return WebGUI::Form::Hexadecimal->new($self->session, $properties)->getValueFromPost;
|
||||
}
|
||||
|
||||
1;
|
||||
|
|
|
|||
|
|
@ -101,9 +101,9 @@ sub getValueFromPost {
|
|||
my $self = shift;
|
||||
my $value = $self->session->form->param($self->get("name"));
|
||||
if ($value =~ /^[0-9a-f]+$/i) {
|
||||
return $value;
|
||||
}
|
||||
return 0;
|
||||
return $value;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -103,9 +103,9 @@ Renders an input tag of type hidden.
|
|||
|
||||
sub toHtmlAsHidden {
|
||||
my $self = shift;
|
||||
my $value = $self->fixMacros($self->fixQuotes($self->fixSpecialCharacters($self->get("value"))));
|
||||
my $idText = ' id="'.$self->get('id').'" ' if ($self->get('id'));
|
||||
return '<input type="hidden" name="'.$self->get("name").'" value="'.$value.'" '.$self->get("extras").$idText.' />'."\n";
|
||||
my $value = $self->fixMacros($self->fixQuotes($self->fixSpecialCharacters($self->get("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";
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -130,14 +130,19 @@ sub getOnChangeSlider {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
Retrieves a value from a form GET or POST and returns it. If the value comes back as undef, this method will return the defaultValue instead. Strip newlines/carriage returns from the value.
|
||||
|
||||
=head2 value
|
||||
|
||||
A value to process instead of POST input.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
my @args = @_;
|
||||
|
||||
my $properties = {
|
||||
name => $self->get('name'),
|
||||
|
|
@ -146,7 +151,7 @@ sub getValueFromPost {
|
|||
id => 'view-'.$self->get('id'),
|
||||
};
|
||||
|
||||
return WebGUI::Form::Integer->new($self->session, $properties)->getValueFromPost;
|
||||
return WebGUI::Form::Integer->new($self->session, $properties)->getValueFromPost(@args);
|
||||
}
|
||||
|
||||
1;
|
||||
|
|
|
|||
|
|
@ -94,19 +94,23 @@ sub definition {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
Returns the integer from the form post, or returns 0 if the post result is invalid.
|
||||
|
||||
=head3 value
|
||||
|
||||
An optional value to process, instead of POST input.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
my $value = $self->session->form->param($self->get("name"));
|
||||
my $value = @_ ? shift : $self->session->form->param($self->get("name"));
|
||||
if ($value =~ /^-?\d+$/) {
|
||||
return $value;
|
||||
}
|
||||
return 0;
|
||||
return $value;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -85,14 +85,24 @@ sub definition {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ num_and_units ] )
|
||||
|
||||
Returns either the interval that was posted (in seconds) or if nothing comes back it returns 0.
|
||||
|
||||
=head3 num_and_units
|
||||
|
||||
The number and units for this interval, to use instead of POST input, which is the default. ("3 days", for example.) Valid units are (case-insensitive): seconds, minutes, hours, days, weeks, months, years.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
|
||||
if (@_) {
|
||||
my @args = split /\s+/, shift;
|
||||
return $self->session->datetime->intervalToSeconds(@args);
|
||||
}
|
||||
|
||||
return $self->session->datetime->intervalToSeconds($self->session->form->param($self->get("name")."_interval"),$self->session->form->param($self->get("name")."_units")) || 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -194,16 +194,20 @@ sub displayValue {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
Returns an array or a carriage return ("\n") separated scalar depending upon whether you're returning the values into an array or a scalar.
|
||||
|
||||
=head3 value
|
||||
|
||||
Optional values to process, instead of POST input.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
my @data = $self->session->form->param($self->get("name"));
|
||||
return wantarray ? @data : join("\n",@data);
|
||||
my @data = @_ ? @_ : $self->session->form->param($self->get("name"));
|
||||
return wantarray ? @data : join("\n",@data);
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -70,19 +70,23 @@ sub definition {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
Returns a string filtered to allow only digits, spaces, and these special characters: + - ( ) or it will return undef it the number doesn't validate to those.
|
||||
|
||||
=head3 value
|
||||
|
||||
An input value to use instead of POST input.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
my $value = $self->session->form->param($self->get("name"));
|
||||
if ($value =~ /^[x\d \.\-\+\(\)]+$/ and $value =~ /\d/) {
|
||||
return $value;
|
||||
}
|
||||
return undef;
|
||||
my $value = @_ ? shift : $self->session->form->param($self->get("name"));
|
||||
if ($value =~ /^[x\d \.\-\+\(\)]+$/ and $value =~ /\d/) {
|
||||
return $value;
|
||||
}
|
||||
return undef;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -98,10 +98,10 @@ Renders and input tag of type radio.
|
|||
|
||||
sub toHtml {
|
||||
my $self = shift;
|
||||
my $value = $self->fixMacros($self->fixQuotes($self->fixSpecialCharacters($self->get("value"))));
|
||||
my $checkedText = ' checked="checked"' if ($self->get("checked"));
|
||||
my $idText = ' id="'.$self->get('id').'" ' if ($self->get('id'));
|
||||
return '<input type="radio" name="'.$self->get("name").'" value="'.$value.'"'.$idText.$checkedText.' '.$self->get("extras").' />';
|
||||
my $value = $self->fixMacros($self->fixQuotes($self->fixSpecialCharacters($self->get("value")))) || '';
|
||||
my $checkedText = $self->get("checked") ? ' checked="checked"' : '';
|
||||
my $idText = $self->get('id') ? ' id="'.$self->get('id').'" ' : '';
|
||||
return '<input type="radio" name="'.$self->get("name").'" value="'.$value.'"'.$idText.$checkedText.' '.($self->get("extras")||'').' />';
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -93,15 +93,20 @@ sub definition {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
Retrieves a value from a form GET or POST and returns it. If the value comes back as undef, this method will return the defaultValue instead. Note, this is exactly the same method as used by Control since SelectBoxes only support a single value.
|
||||
|
||||
=head3 value
|
||||
|
||||
Optional values to process (read "return"), instead of POST input.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
my $formValue = $self->session->form->param($self->get("name"));
|
||||
|
||||
my $formValue = @_ ? shift : $self->session->form->param($self->get("name"));
|
||||
if (defined $formValue) {
|
||||
return $formValue;
|
||||
} else {
|
||||
|
|
@ -119,7 +124,7 @@ Renders a select list form control.
|
|||
|
||||
sub toHtml {
|
||||
my $self = shift;
|
||||
my $output = '<select name="'.$self->get("name").'" size="'.$self->get("size").'" id="'.$self->get('id').'" '.$self->get("extras").'>';
|
||||
my $output = '<select name="'.($self->get("name")||'').'" size="'.($self->get("size")||'').'" id="'.($self->get('id')||'').'" '.($self->get("extras")||'').'>';
|
||||
my %options;
|
||||
tie %options, 'Tie::IxHash';
|
||||
%options = $self->orderedHash;
|
||||
|
|
|
|||
|
|
@ -95,8 +95,8 @@ Renders a select list form control.
|
|||
|
||||
sub toHtml {
|
||||
my $self = shift;
|
||||
my $multiple = ' multiple="multiple"' if ($self->get("multiple"));
|
||||
my $output = '<select name="'.$self->get("name").'" size="'.$self->get("size").'" id="'.$self->get('id').'" '.$self->get("extras").$multiple.'>';
|
||||
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;
|
||||
tie %options, 'Tie::IxHash';
|
||||
%options = $self->orderedHash;
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ package WebGUI::Form::SelectSlider;
|
|||
|
||||
use strict;
|
||||
use base 'WebGUI::Form::Slider';
|
||||
use WebGUI::Form::SelectList;
|
||||
use WebGUI::International;
|
||||
|
||||
=head1 NAME
|
||||
|
|
@ -177,16 +178,21 @@ sub getSliderValue {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
Retrieves a value from a form GET or POST and returns it. If the value comes
|
||||
back as undef, this method will return the defaultValue instead. Strip
|
||||
newlines/carriage returns from the value.
|
||||
|
||||
=head2 value
|
||||
|
||||
A value to process instead of POST input.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
my @args = @_;
|
||||
|
||||
my $properties = {
|
||||
-name => $self->get('name'),
|
||||
|
|
@ -196,7 +202,7 @@ sub getValueFromPost {
|
|||
-size => 1,
|
||||
};
|
||||
|
||||
return WebGUI::Form::selectList->new($self->session, $properties)->getValueFromPost;
|
||||
return WebGUI::Form::SelectList->new($self->session, $properties)->getValueFromPost(@args);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -84,15 +84,26 @@ sub definition {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
Retrieves a value from a form GET or POST and returns it. If the value comes back as undef, this method will return the defaultValue instead. Strip newlines/carriage returns from the value.
|
||||
|
||||
=head3 value
|
||||
|
||||
An optional value to process, instead of POST input.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
my $formValue = $self->session->form->param($self->get("name")) if ($self->session->request);
|
||||
my $formValue;
|
||||
|
||||
if (@_) {
|
||||
$formValue = shift;
|
||||
}
|
||||
elsif ($self->session->request) {
|
||||
$formValue = $self->session->form->param($self->get("name"));
|
||||
}
|
||||
if (defined $formValue) {
|
||||
$formValue =~ tr/\r\n//d;
|
||||
return $formValue;
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ sub definition {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
If the defaultValue is a MySQL time, the value returned by this form element
|
||||
will be a MySQL time. Note: Will not be adjusted for the user's time zone.
|
||||
|
|
@ -107,10 +107,31 @@ will be a MySQL time. Note: Will not be adjusted for the user's time zone.
|
|||
Otherwise, the value returned by this form element will be a number of seconds,
|
||||
adjusted for the user's time zone..
|
||||
|
||||
=head3 value
|
||||
|
||||
An optional value to process, instead of POST input. This should be in the form of an integer of seconds, 'HH:MM', or 'HH:MM:SS'.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
|
||||
if (@_) {
|
||||
my $value = shift;
|
||||
if (!$self->get("defaultValue")
|
||||
|| $self->get("defaultValue") =~ m/^\d+$/
|
||||
|| !$value
|
||||
|| $value =~ m/^\d+$/) {
|
||||
return $self->session->datetime->timeToSeconds($value)-($self->session->user->profileField("timeOffset")*3600);
|
||||
}
|
||||
elsif ($value =~ /^\d{2}\D\d{2}(\D\d{2})?$/) {
|
||||
return $value
|
||||
}
|
||||
else {
|
||||
return undef;
|
||||
}
|
||||
}
|
||||
|
||||
# This should probably be rewritten as a cascading ternary
|
||||
if (!$self->get("defaultValue")
|
||||
|| $self->get("defaultValue") =~ m/^\d+$/
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ Parses the posted value and tries to make corrections if necessary.
|
|||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
my $value = $self->session->form->param($self->get("name"));
|
||||
my $value = @_ ? shift : $self->session->form->param($self->get("name"));
|
||||
$value =~ tr/\r\n//d;
|
||||
if ($value =~ /mailto:/) {
|
||||
return $value;
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ sub definition {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 yesNo ( )
|
||||
|
||||
Returns either a 1 or 0 representing yes, no.
|
||||
|
||||
|
|
@ -97,6 +97,32 @@ sub yesNo {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
If value is present, we will process it, otherwise the superclass will handle the request.
|
||||
|
||||
=head3 value
|
||||
|
||||
An optional value to process, instead of POST input. This should be in the form 1, 0, 'Y' or 'N'. 1 or 0 is returned.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
my $formValue;
|
||||
|
||||
if (@_) {
|
||||
my $value = shift;
|
||||
return '' unless length $value; # empty import value?
|
||||
return ($value =~ /^y/i || $value eq '1') ? 1 : 0;
|
||||
}
|
||||
else {
|
||||
return $self->SUPER::getValueFromPost;
|
||||
}
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 toHtml ( )
|
||||
|
||||
Renders a yes/no question field.
|
||||
|
|
|
|||
|
|
@ -77,20 +77,24 @@ sub definition {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getValueFromPost ( )
|
||||
=head2 getValueFromPost ( [ value ] )
|
||||
|
||||
Returns a validated form post result. If the result does not pass validation, it returns undef instead.
|
||||
|
||||
=head3 value
|
||||
|
||||
An optional value to use instead of POST input.
|
||||
|
||||
=cut
|
||||
|
||||
sub getValueFromPost {
|
||||
my $self = shift;
|
||||
my $value = $self->session->form->param($self->get("name"));
|
||||
my $value = @_ ? shift : $self->session->form->param($self->get("name"));
|
||||
$value =~ tr/\r\n//d;
|
||||
if ($value =~ /^[A-Z\d\s\-]+$/) {
|
||||
return $value;
|
||||
}
|
||||
return undef;
|
||||
return $value;
|
||||
}
|
||||
return undef;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
@ -102,7 +106,7 @@ Renders a zip code field.
|
|||
=cut
|
||||
|
||||
sub toHtml {
|
||||
my $self = shift;
|
||||
my $self = shift;
|
||||
$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").'\'),\'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ- \')"');
|
||||
return $self->SUPER::toHtml;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue