--- 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|
+
+ |
;
}
}