/[Frey]/trunk/lib/App/RoomReservation/Reservation.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/App/RoomReservation/Reservation.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1094 by dpavlin, Sun Jun 28 14:21:10 2009 UTC revision 1095 by dpavlin, Sun Jun 28 18:51:49 2009 UTC
# Line 3  use Moose; Line 3  use Moose;
3    
4  extends 'Frey';  extends 'Frey';
5  with 'Frey::Web';  with 'Frey::Web';
6  #with 'Frey::Storage';  
7    use DBI;
8    use lib 'lib';
9    use Frey::PPI;
10    
11  has ime => (  has ime => (
12          is => 'rw',          is => 'rw',
# Line 72  has _confirmed => ( Line 75  has _confirmed => (
75          default => sub { 0 },          default => sub { 0 },
76  );  );
77    
78  sub as_markup {  sub dsn { 'DBI:Pg:dbname=room-reservation' }
79    
80    my @cols = Frey::PPI->new( class => __PACKAGE__ )->attribute_order;
81    warn "# cols = ",join(',', @cols), $/;
82    
83    sub create_as_markup {
84          my ($self) = @_;          my ($self) = @_;
85    
86          $self->ime;          my $dbh = DBI->connect( $self->dsn, '', '', { RaiseError => 1 } ) || die $DBI::errstr;
87            $dbh->do( qq{ set client_encoding='utf-8' } ) if $self->dsn =~ m{pg}i;
88    
89            my @vals;
90            my @p;
91    
92            map {
93                    push @vals, $self->$_;
94                    push @p, '?';
95            } @cols;
96    
97            my $n = $#cols + 1;
98    
99            my $sql
100                    = 'insert into reservation ('
101                    . join(',', @cols)
102                    . ') values ('
103                    . join(',', map { '?' } @cols )
104                    . ')'
105                    ;
106    
107            warn "sql: $sql\n";
108    
109            my $sth = $dbh->prepare( $sql );
110            $sth->execute( @vals );
111    
112            $sth->rows;
113  }  }
114    
115  1;  1;

Legend:
Removed from v.1094  
changed lines
  Added in v.1095

  ViewVC Help
Powered by ViewVC 1.1.26