--- trunk/lib/App/RoomReservation/Reservation.pm 2009/07/02 10:12:54 1155 +++ trunk/lib/App/RoomReservation/Reservation.pm 2009/07/06 20:27:57 1175 @@ -7,7 +7,7 @@ subtype 'Email', as 'Str', where { /^$RE{Email}{Address}$/ }, - message { "$_ is not valid e-mail" }; + message { qq|$_ is not valid e-mail address| }; extends 'App::RoomReservation'; @@ -61,7 +61,7 @@ has mobitel => ( is => 'rw', isa => 'Str', - required => 1, + default => '', # FIXME without this we get undef in form ); has email => ( @@ -94,19 +94,58 @@ default => sub { 0 }, ); +sub form_labels {{ + ime => 'Ime', + prezime => 'Prezime', + institucija => 'Institucija', + zanimanje => 'Zanimanje', + grad => 'Grad', + drzava => 'Država', + telefon => 'Telefon', + mobitel => 'Mobitel', + email => 'e-mail adresa', + verify => 'unesite ponovo', + submit => 'Pošalji', # submit button +}} + +sub form_value_len { + my $self = shift; + my $sth = $self->dbh->prepare(qq{ + select * from reservation limit 1 + }); + $sth->execute; + my @columns = $sth->fetchrow_array; + + $sth = $self->dbh->prepare(qq{ + select + } . join(',', map { "max(length($_)) as $_" } grep { !/^_/ && !/id/ } @{ $sth->{NAME} } ) . qq{ + from reservation + }); + $sth->execute; + my $max_len = $sth->fetchrow_hashref; + warn "# max_len = ", $self->dump( $max_len ); + return $max_len; +} + sub BUILD { my $self = shift; my $email = $self->email; - die "e-mail not verified\n" unless $email eq $self->email_verify; + die qq|e-mail addresses not same| unless $email eq $self->email_verify; my $sth = $self->dbh->prepare(qq{ select count(*) from reservation where email = ? }); $sth->execute( $email ); my ($registred) = $sth->fetchrow_array; if ( $registred ) { - die qq| + die + qq| + e-mail address $email allready registred - | . $self->seat_confirmation_message( email => $email ) + | + . $self->seat_confirmation_message( email => $email ) + . qq| + + | ; } }