/usr/local/CPAN/Apache-SWIT/Apache/SWIT/Maker/Skeleton/Scaffold/List.pm
use strict;
use warnings FATAL => 'all';
package Apache::SWIT::Maker::Skeleton::Scaffold::List;
use base qw(Apache::SWIT::Maker::Skeleton::Page
Apache::SWIT::Maker::Skeleton::Scaffold);
use Apache::SWIT::Maker::Conversions;
sub list_fields_v {
my $res = shift()->fields_v;
shift @$res;
return $res;
}
sub link_title_v { return conv_table_to_class(shift()->col1_v); }
sub template { return <<'ENDS'; }
use strict;
use warnings FATAL => 'all';
package [% class_v %]::Root::Item;
use base 'HTML::Tested::ClassDBI';
use [% root_class_v %]::DB::[% table_class_v %];
__PACKAGE__->ht_add_widget(::HTV."::Link", '[% col1_v %]'
, href_format => '../info/r?[% table_v %]_id=%s'
, cdbi_bind => [ [% col1_v %] => 'Primary' ]
, column_title => '[% link_title_v %]'
, 0 => { isnt_sealed => 1 });
[% FOREACH list_fields_v %]__PACKAGE__->ht_add_widget(::HTV."::Marked"
, '[% field %]', cdbi_bind => ''
, column_title => '[% title %]');
[% END %]
__PACKAGE__->bind_to_class_dbi('[% root_class_v %]::DB::[% table_class_v %]');
package [% class_v %]::Root;
use base 'HTML::Tested';
__PACKAGE__->ht_add_widget(::HTV."::Form", 'form', default_value => 'u');
__PACKAGE__->ht_add_widget(::HT."::List", '[% list_name_v %]'
, __PACKAGE__ . '::Item', render_table => 1);
package [% class_v %];
use base qw(Apache::SWIT::HTPage);
sub ht_swit_render {
my ($class, $r, $root) = @_;
$root->[% list_name_v %]_containee_do(query_class_dbi => 'retrieve_all');
return $root;
}
sub ht_swit_update {
my ($class, $r, $root) = @_;
return "r";
}
1;
ENDS
1;