Bigtop
view release on metacpan or search on metacpan
t/gantry/02_controllers.t view on Meta::CPAN
page_link_label `Payee/Payor`;
config {
importance 1;
}
method do_main is main_listing {
title Payees;
cols name;
header_options Add => `$add_loc`;
row_options
Tasks => `"/lineitem/main/\$id"`, Edit, `Make Some`, Delete;
row_option_perms Tasks => update;
}
controls_table payee;
method my_crud_form is CRUD_form {
form_name payee_crud;
fields name;
}
method _form is CRUD_form {
form_name default_form;
fields name;
}
method form is AutoCRUD_form {
form_name payee;
fields name;
extra_keys
legend => `\$self->path_info =~ /edit/i ? 'Edit' : 'Add'`;
}
method do_members is stub {}
method do_nothing is stub {
no_gen 1;
}
}
controller Trans is AutoCRUD {
uses SomePackage::SomeModule => `qw( a_method \$b_scalar )`,
SomePackage::OtherModule => ``;
controls_table trans;
text_description Transactions;
location `/foreign/location`;
page_link_label Transactions;
config {
trivia 1 => no_accessor;
}
method do_detail is stub {
extra_args `\$id`;
}
method do_main is main_listing {
title Transactions;
cols status, cleared, trans_date, amount, payee_payor;
col_labels `Status 3`,
Cleared,
Date => `\$site->location() . '/date_order'`;
header_options Add;
row_options Edit, Delete;
order_by `trans_date DESC`;
where_terms cleared => `'t'`, amount => `{ '>', 0 }`;
}
method form is AutoCRUD_form {
all_fields_but id;
extra_keys
legend => `\$self->path_info =~ /edit/i ? 'Edit' : 'Add'`,
javascript => `\$self->calendar_month_js( 'trans' )`,
extraneous => `'uninteresting'`;
}
}
controller Trans::Action is AutoCRUD {
plugins PluginA;
controls_table trans;
rel_location transaction;
method form is AutoCRUD_form {
form_name trans;
fields status;
}
method controller_config is hashref {
permissions `crudcr-d-r--`;
}
}
controller NoOp { rel_location none; skip_test 1; plugins PluginB; }
table sch.tbl {
field id { is int4, primary_key, auto; }
field name { is varchar; }
}
controller SchTbl is AutoCRUD {
controls_table `sch.tbl`;
rel_location sch_tbl;
method form is AutoCRUD_form {
fields name;
}
}
}
EO_Bigtop_File
# Add this to status field of trans table:
# validate_with `R|O|C`;
# Add this to amount field of trans table:
# to_db_filter strip_decimal_point;
# from_db_filter insert_decimal_point;
# strip_decimal_point and insert_decimal_point would be functions in the
# data model class.
warning_like {
Bigtop::Parser->gen_from_string(
{
bigtop_string => $bigtop_string,
create => 'create',
build_list => [ 'Control', ],
}
);
} qr/^form methods should have/, '_form CRUD form name warning';
compare_dirs_filter_ok(
$play_dir, $ship_dir, \&strip_copyright, 'gantry controls'
);
#------------------------------------------------------------------------
# Regen test - not in create mode
#------------------------------------------------------------------------
my $new_bigtop = <<"EO_Second_Bigtop";
config {
engine MP20;
template_engine TT;
t/gantry/02_controllers.t view on Meta::CPAN
is varchar;
label Descr;
html_form_type textarea;
html_form_rows 3;
html_form_cols 60;
html_form_optional 1;
}
}
controller PayeeOr is CRUD {
uses SomePackage::SomeModule, ExportingModule;
controls_table payee;
text_description `Payee/Payor`;
config {
importance 1;
}
method do_main is main_listing {
title Payees;
cols name;
header_options Add => `$add_loc`;
row_options Edit, Delete;
}
method my_crud_form is CRUD_form {
form_name payee_crud;
fields name;
}
method form is AutoCRUD_form {
form_name payee;
fields name;
extra_keys
legend => `\$self->path_info =~ /edit/i ? 'Edit' : 'Add'`;
}
method do_members is stub {}
method do_nothing is stub {
no_gen 1;
}
}
controller Trans is AutoCRUD {
uses SomePackage::SomeModule => `qw( a_method \$b_scalar )`,
SomePackage::OtherModule => ``;
controls_table trans;
text_description Transactions;
config {
trivia 1 => no_accessor;
}
method do_detail is stub {
extra_args `\$id`;
}
method do_main is main_listing {
title Transactions;
cols status, trans_date, amount, payee_payor;
col_labels `Status 3`,
Date => `\$site->location() . '/date_order'`;
header_options Add;
row_options Edit, Delete;
}
method form is AutoCRUD_form {
form_name trans;
all_fields_but id;
extra_keys
legend => `\$self->path_info =~ /edit/i ? 'Edit' : 'Add'`,
javascript => `\$self->calendar_month_js( 'trans' )`,
extraneous => `'uninteresting'`;
}
}
controller Trans::Action is AutoCRUD {
controls_table trans;
method form is AutoCRUD_form {
form_name trans;
fields status;
}
}
controller NoOp { }
}
EO_No_Full_Use
mkdir $play_dir;
Bigtop::Parser->gen_from_string(
{
bigtop_string => $bigtop_string,
create => 1,
build_list => [ 'Control', ],
}
);
my $correct = <<'EO_Correct_Simple_Use';
# NEVER EDIT this file. It was generated and will be overwritten without
# notice upon regeneration of this application. You have been warned.
package Apps::GENCheckbook;
use strict;
use warnings;
use Gantry qw{ -TemplateEngine=TT };
use JSON;
use Gantry::Utils::TablePerms;
our @ISA = qw( Gantry );
use Some::Module;
use Some::Other::Module;
#-----------------------------------------------------------------
# $self->namespace() or Apps::Checkbook->namespace()
#-----------------------------------------------------------------
sub namespace {
return 'Apps::Checkbook';
}
##-----------------------------------------------------------------
## $self->init( $r )
##-----------------------------------------------------------------
#sub init {
# my ( $self, $r ) = @_;
#
# # process SUPER's init code
# $self->SUPER::init( $r );
#
#} # END init
( run in 1.759 second using v1.01-cache-2.11-cpan-5b529ec07f3 )