]> git.decadent.org.uk Git - maypole.git/blobdiff - lib/BeerDB.pm
This makes it all work as Maypole.
[maypole.git] / lib / BeerDB.pm
index 5cb320a4ecb29b5914690007959a18424dfe7dae..fd2c704e549a3db51306618c709008d16fa3291e 100644 (file)
@@ -1,15 +1,32 @@
-# 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->config->{uri_base} = "http://neo.trinity-house.org.uk/beerdb/";
+use Class::DBI::Loader::Relationship;
+# This line is required if you don't have Apache calling Perl handlers
+# as methods.
+sub handler { Maypole::handler(__PACKAGE__, @_) }
+
+# 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->set_database("dbi:mysql:beerdb");
 
-BeerDB::Brewery->columns(Stringify => qw/name/);
+# 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->{loader}->relationship( "a brewery produces beers" );
-BeerDB->config->{loader}->relationship( "a pub has beers on handpumps");
+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;