X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FBeerDB.pm;h=b7961bc1e8874a22beaa670eb09d1ace92455534;hb=9bbeafd23117d2b489a298cc002a97b133de17bd;hp=c69e2dc9be87a381e290a286aac575639808df07;hpb=131e374a3433ce84f66ef69abefc45080d6d2dc0;p=maypole.git diff --git a/lib/BeerDB.pm b/lib/BeerDB.pm index c69e2dc..b7961bc 100644 --- a/lib/BeerDB.pm +++ b/lib/BeerDB.pm @@ -1,13 +1,29 @@ -# vim:ft=perl package BeerDB; -use Apache::MVC; use base 'Apache::MVC'; -sub handler { Apache::MVC::handler("BeerDB", @_) } -BeerDB->set_database("dbi:SQLite:dbname=/opt/beer/beerdb.db"); -BeerDB->config->{template_root} = "/opt/beer"; -BeerDB::Brewery->columns(Stringify => qw/name/); +use Class::DBI::Loader::Relationship; -BeerDB->config->{loader}->relationship( "a brewery produces beers" ); -BeerDB->config->{loader}->relationship( "a pub has beers on handpumps"); +# This is the sample application. Change this to the path to your +# database. (or use mysql or something) +#BeerDB->set_database("dbi:SQLite:t/beerdb.db"); +BeerDB->setup("dbi:mysql:beerdb"); +# Change this to the root of the web space. +#BeerDB->config->{uri_base} = "http://localhost/beerdb/"; +BeerDB->config->{uri_base} = "http://neo.trinity-house.org.uk/beerdb/"; + +BeerDB->config->{rows_per_page} = 10; + +# Handpumps should not show up. +BeerDB->config->{display_tables} = [qw[beer brewery pub style]]; +BeerDB::Brewery->untaint_columns( printable => [qw/name notes url/] ); +BeerDB::Style->untaint_columns( printable => [qw/name notes/] ); +BeerDB::Beer->untaint_columns( + printable => [qw/abv name price notes/], + integer => [qw/style brewery score/], + date =>[ qw/date/], +); +BeerDB->config->{loader}->relationship($_) for ( + "a brewery produces beers", + "a style defines beers", + "a pub has beers on handpumps"); 1;