ePortal
view release on metacpan or search on metacpan
lib/ePortal/ThePersistent/Support.pm view on Meta::CPAN
$defaultvalue = 'gid';
$gid_def = $1;
$gid_style = 'inline';
}
$CGI{'-default'} = $defaultvalue;
# list of groups
my $G = new ePortal::epGroup;
my ($G_values, $G_labels) = $G->restore_all_hash('groupname','groupname', 'hidden=0');
return CGI::popup_menu( {%CGI} ) .
'<div id="'. $attr.
'_uidspan" class="smallfont" style="display:'.
$uid_style . ';"><br>' .
pick_lang(rus => 'Èìÿ:', eng => 'Name:') .
CGI::textfield({
-name => $attr.'_uid',
-class => 'dlgfield',
-size => 20,
-value => $uid_def}) .
qq{</div>} .
'<div id="'.$attr.'_gidspan" class="smallfont" style="display:'.$gid_style.';"><br>' .
pick_lang(rus => 'Ãðóïïà:', eng => 'Group:') .
CGI::popup_menu({
-name => $attr.'_gid',
-class => 'dlgfield',
-values => $G_values,
-labels => $G_labels,
-default => $gid_def}) .
qq{</div>}
;
}
die "Unknown fieldtype parameter for htmlField [$fieldtype]";
}##htmlField
############################################################################
# Function: htmlSave
# Description: Get parameters from HTTP request, update or create new
# object.
# Parameters: %ARGS from mason component
# Returns: throw Exception on error
#
############################################################################
sub htmlSave { #04/02/01 1:22
############################################################################
my $self = shift;
my %ARGS = @_;
# Save attributes from HTTP request into self
FIELD:
foreach my $field ( $self->attributes ) {
next FIELD if $field eq 'id';
# Date and DateTime fields may be passed as multi-field. See htmlField
# for details
my $A = $self->attribute($field);
if ( $A->{dtype} =~ /^DateT/oi ) {
if ( exists $ARGS{$field.'_d'} ) { # combobox style
my $datestring = $ARGS{$field.'_d'} . '.' . $ARGS{$field.'_m'} . '.' .$ARGS{$field.'_y'} . ' ' .$ARGS{$field.'_t'};
eval { $self->value($field, $datestring); };
$self->value($field, undef) if $@;
next FIELD;
} elsif ( exists $ARGS{$field.'_date'} ) { # java style
my $datestring = $ARGS{$field.'_date'} . ' ' .$ARGS{$field.'_time'};
eval { $self->value($field, $datestring); };
$self->value($field, undef) if $@;
next FIELD;
}
} elsif ( $A->{dtype} =~ /^Date/oi ) {
if ( exists $ARGS{$field.'_d'} ) { # combobox style
my $datestring = $ARGS{$field.'_d'} . '.' . $ARGS{$field.'_m'} . '.' .$ARGS{$field.'_y'};
eval { $self->value($field, $datestring); };
$self->value($field, undef) if $@;
next FIELD;
} elsif ( exists $ARGS{$field.'_date'} ) { # java style
my $datestring = $ARGS{$field.'_date'};
eval { $self->value($field, $datestring); };
$self->value($field, undef) if $@;
next FIELD;
}
} elsif ($field =~ /^xacl_/o) { # ExtendedACL
next if ! exists $ARGS{$field};
my $v = $ARGS{$field};
if ($v eq 'uid') { $v = 'uid:' . $ARGS{$field . '_uid'}; }
if ($v eq 'gid') { $v = 'gid:' . $ARGS{$field . '_gid'}; }
$self->value($field, $v);
next FIELD;
} elsif ( $A->{dtype} =~ /^Ar/oi) { # Array
next if ! exists $ARGS{$field};
my $v = [split('\s*,\s*', $ARGS{$field})];
$self->value($field, $v);
next FIELD;
}
# Default field processing
if (exists $ARGS{$field}) {
$self->value($field, $ARGS{$field});
}
}
if (! $ARGS{skip_object_insert_update}) {
if ($self->check_id()) {
return $self->update;
} else {
return $self->insert;
}
}
}##htmlSave
############################################################################
sub htmlSave2 { #04/02/01 1:22
############################################################################
my $self = shift;
my %ARGS = @_;
# Save attributes from HTTP request into self
FIELD:
foreach my $field ( $self->attributes_at ) {
next if ! exists $ARGS{$field};
my $A = $self->attribute($field);
if ( $A->{dtype} =~ /^Ar/oi) { # Array
$ARGS{$field} = [split('\s*,\s*', $ARGS{$field})];
}
try {
$self->value_from_req($field, $ARGS{$field});
( run in 1.070 second using v1.01-cache-2.11-cpan-59e3e3084b8 )