HTML-Tested-ClassDBI
view release on metacpan or search on metacpan
lib/HTML/Tested/ClassDBI/Field.pm view on Meta::CPAN
}
sub get_column_value {
my ($self, $cdbi) = @_;
my $c = $self->column_name;
return exists $cdbi->{$c} ? $cdbi->{$c} : $cdbi->$c;
}
sub column_name { return shift()->[0]; }
sub update_column {
my ($self, $setter, $root, $name) = @_;
$setter->($self->[0], $root->$name) unless $root->ht_get_widget_option(
$name, "cdbi_readonly");
}
my %_dt_fmts = (date => '%x', 'time' => '%X', timestamp => '%c');
sub setup_datetime_from_info {
my ($self, $w, $info) = @_;
return unless $info->{type};
lib/HTML/Tested/ClassDBI/Field.pm view on Meta::CPAN
$root->ht_set_widget_option($w->name, "cdbi_readonly", 1)
unless exists $w->options->{cdbi_readonly};
}
sub get_column_value {
my ($self, $cdbi) = @_;
my @pvals = map { $cdbi->$_ } $cdbi->primary_columns;
return join('_', @pvals);
}
sub update_column {}
sub setup_type_info {
my ($self, $root, $w) = @_;
my @pc = $root->primary_columns;
return if @pc > 1;
$self->SUPER::setup_type_info($root, $w, $root->pg_column_info($pc[0]));
}
package HTML::Tested::ClassDBI::Field::Array;
lib/HTML/Tested/ClassDBI/Field.pm view on Meta::CPAN
my ($class, $root, $w, $arg) = @_;
return bless([ map { HTML::Tested::ClassDBI::Field->do_bless_arg(
$root, $w, $_) } @$arg ]);
}
sub get_column_value {
my ($self, $cdbi) = @_;
return [ map { $_->get_column_value($cdbi) } @$self ];
}
sub update_column {}
sub setup_type_info {
my ($self, $root, $w) = @_;
for (my $i = 0; $i < @$self; $i++) {
my $iopts = $w->options->{$i} || {};
$self->[$i]->setup_datetime_from_info($w, $iopts);
$w->options->{$i} = $iopts if %$iopts;
}
}
lib/HTML/Tested/ClassDBI/Upload.pm view on Meta::CPAN
$dbh->func($lo_fd, $buf, 4096, 'lo_read');
($ct, $buf) = HTML::Tested::ClassDBI::Upload->strip_mime_header($buf);
my $res = $buf;
while ($dbh->func($lo_fd, $buf, 4096, 'lo_read')) {
$res .= $buf;
}
$dbh->func($lo_fd, 'lo_close') or confess "Unable to close $loid";
return ($res, $ct);
}
sub update_column {
my ($self, $setter, $root, $name) = @_;
my $val = $root->$name or return;
my $lo = $self->import_lo_object($self->[0]->db_Main, $val, $self->[2]);
$setter->($self->[1], $lo);
}
sub get_column_value {}
1;
( run in 0.800 second using v1.01-cache-2.11-cpan-4d4bc49f3ae )