summaryrefslogtreecommitdiff
path: root/GroLUG/lib/GroLUG
diff options
context:
space:
mode:
authordakkar <dakkar@luxion>2006-02-08 16:20:37 +0000
committerdakkar <dakkar@luxion>2006-02-08 16:20:37 +0000
commitd7170d520e6ba9b3f5376dd268b9f419a0dc9994 (patch)
tree565357879a40bdf41683c3be2a95589dadc3b44a /GroLUG/lib/GroLUG
parentschema database (diff)
downloadIscrittiGroLUG-d7170d520e6ba9b3f5376dd268b9f419a0dc9994.tar.gz
IscrittiGroLUG-d7170d520e6ba9b3f5376dd268b9f419a0dc9994.tar.bz2
IscrittiGroLUG-d7170d520e6ba9b3f5376dd268b9f419a0dc9994.zip
tentativo di modello... la documentazione di DBIC fa un po' pena
git-svn-id: svn://luxion/repos/IscrittiGroLUG/trunk@168 fcb26f47-9200-0410-b104-b98ab5b095f3
Diffstat (limited to 'GroLUG/lib/GroLUG')
-rw-r--r--GroLUG/lib/GroLUG/M/DB.pm6
-rw-r--r--GroLUG/lib/GroLUG/M/DB/Iscritto.pm10
-rw-r--r--GroLUG/lib/GroLUG/M/DB/Pagamento.pm20
3 files changed, 33 insertions, 3 deletions
diff --git a/GroLUG/lib/GroLUG/M/DB.pm b/GroLUG/lib/GroLUG/M/DB.pm
index e45de9e..193cb7a 100644
--- a/GroLUG/lib/GroLUG/M/DB.pm
+++ b/GroLUG/lib/GroLUG/M/DB.pm
@@ -4,14 +4,14 @@ use strict;
use base 'Catalyst::Model::DBIC::Plain';
my @conn_info = (
- '',
- '',
+ 'dbi:Pg:dbname=iscritti',
+ 'grolug',
'',
{ RaiseError => 1, PrintError => 0, ShowErrorStatement => 1, TraceLevel => 0 }
);
__PACKAGE__->load_classes;
-__PACKAGE__->compose_connection( __PACKAGE__, @conn_info );
+#DBIx::Class::Schema->compose_connection( __PACKAGE__, @conn_info );
=head1 NAME
diff --git a/GroLUG/lib/GroLUG/M/DB/Iscritto.pm b/GroLUG/lib/GroLUG/M/DB/Iscritto.pm
new file mode 100644
index 0000000..32282f5
--- /dev/null
+++ b/GroLUG/lib/GroLUG/M/DB/Iscritto.pm
@@ -0,0 +1,10 @@
+package GroLUG::M::DB::Iscritto;
+use base 'DBIx::Class::Core';
+
+__PACKAGE__->load_components(qw(PK::Auto::Pg));
+__PACKAGE__->table('iscritti');
+__PACKAGE__->add_columns(qw(id nome email note));
+__PACKAGE__->set_primary_key('id');
+__PACKAGE__->has_many(pagamenti=>'GroLUG::M::DB::Pagamento','iscritto');
+
+1;
diff --git a/GroLUG/lib/GroLUG/M/DB/Pagamento.pm b/GroLUG/lib/GroLUG/M/DB/Pagamento.pm
new file mode 100644
index 0000000..23ee176
--- /dev/null
+++ b/GroLUG/lib/GroLUG/M/DB/Pagamento.pm
@@ -0,0 +1,20 @@
+package GroLUG::M::DB::Pagamento;
+use base 'DBIx::Class::Core';
+use DateTime::Format::Pg;
+
+__PACKAGE__->load_components(qw(PK::Auto::Pg));
+__PACKAGE__->table('pagamenti');
+__PACKAGE__->add_columns(qw(id iscritto data_pagamento data_iscrizione data_scadenza prezzo));
+__PACKAGE__->set_primary_key('id');
+__PACKAGE__->belongs_to(iscritto=>'GroLUG::M::DB::Iscritto');
+
+for my $col (qw(data_pagamento data_iscrizione data_scadenza)) {
+ __PACKAGE__->inflate_column(
+ $col,
+ {
+ inflate => sub { DateTime::Format::Pg->parse_datetime(shift) },
+ deflate => sub { DateTime::Format::Pg->format_datetime(shift) },
+ });
+}
+
+1;