config {
engine MP20;
template_engine TT;
Init Std { }
Conf Gantry { conffile `docs/app.gantry.conf`; instance sample; }
HttpdConf Gantry { gantry_conf 1; }
SQL SQLite { }
SQL Postgres { }
SQL MySQL { }
CGI Gantry { with_server 1; flex_db 1; gantry_conf 1; }
Control Gantry { dbix 1; }
Model GantryDBIxClass { }
SiteLook GantryDefault { }
}
app Sample {
config {
dbconn `dbi:SQLite:dbname=app.db` => no_accessor;
template_wrapper `genwrapper.tt` => no_accessor;
doc_rootp `/static` => no_accessor;
show_dev_navigation 1 => no_accessor;
}
config CGI {
dbconn `dbi:SQLite:dbname=app.db` => no_accessor;
app_rootp `/cgi-bin/sample.cgi` => no_accessor;
}
controller is base_controller {
method do_main is base_links {
}
method site_links is links {
}
}
controller StreetAddress is AutoCRUD {
controls_table address_tbl;
rel_location street_address;
text_description `street address`;
page_link_label `Street Address`;
method do_main is main_listing {
cols ident, description;
header_options Add;
row_options Edit, Delete;
title `Street Address`;
}
method form is AutoCRUD_form {
all_fields_but id, created, modified;
extra_keys
legend => `$self->path_info =~ /edit/i ? q!Edit! : q!Add!`;
}
}
table address_tbl {
field id {
is int8, primary_key, assign_by_sequence;
}
field ident {
is varchar;
label Ident;
html_form_type text;
}
field description {
is varchar;
label Description;
html_form_type text;
}
field created {
is datetime;
}
field modified {
is datetime;
}
field name {
is varchar;
label Name;
html_form_type text;
html_form_optional 1;
}
field street_address {
is varchar;
html_form_type text;
html_form_options
Happy => 1,
Neutral => 2,
Unhappy => 0;
}
}
}