/[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 1104 by dpavlin, Mon Jun 29 12:11:14 2009 UTC revision 1121 by dpavlin, Tue Jun 30 13:24:03 2009 UTC
# Line 1  Line 1 
1  package App::RoomReservation::Reservation;  package App::RoomReservation::Reservation;
2  use Moose;  use Moose;
3    
4    use Moose::Util::TypeConstraints;
5    use Regexp::Common qw[Email::Address];
6    
7    subtype 'Email',
8            as 'Str',
9            where { /^$RE{Email}{Address}$/ },
10            message { "$_ is not valid e-mail" };
11    
12  extends 'App::RoomReservation';  extends 'App::RoomReservation';
13    
14  use lib 'lib';  use lib 'lib';
# Line 56  has mobitel => ( Line 64  has mobitel => (
64    
65  has email => (  has email => (
66          is => 'rw',          is => 'rw',
67          isa => 'Str',          isa => 'Email',
68          required => 1,          required => 1,
69  );  );
70    
71  has email_verify => (  has email_verify => (
72          is => 'rw',          is => 'rw',
73          isa => 'Str',          isa => 'Email',
74          required => 1,          required => 1,
75  );  );
76    
77  has _confirmed => (  has _confirmed => (
78          is => 'rw',          is => 'rw',
79          isa => 'Bool',          isa => 'Bool',
80          required => 1,  #       required => 1,
81          default => sub { 0 },          default => sub { 0 },
82  );  );
83    
84    has _seat_number => (
85            is => 'rw',
86            isa => 'Int',
87    );
88    
89  sub BUILD {  sub BUILD {
90          my $self = shift;          my $self = shift;
91          die "e-mail not verified\n" unless $self->email eq $self->email_verify;          die "e-mail not verified\n" unless $self->email eq $self->email_verify;
92            my $sth = $self->dbh->prepare(qq{
93                    select count(*) from reservation where email = ?
94            });
95            $sth->execute( $self->email );
96            my ($registred) = $sth->fetchrow_array;
97            die "e-mail address ", $self->email, " allready registred\n" if $registred;
98  }  }
99    
100  my @cols = Frey::PPI->new( class => __PACKAGE__ )->attribute_order;  my @cols = Frey::PPI->new( class => __PACKAGE__ )->attribute_order;
101  warn "# cols = ",join(',', @cols), $/;  warn "# cols = ",join(',', @cols), $/;
102    
103  sub token {  sub token {
         my ( $self ) = @_;  
104          my $self = shift;          my $self = shift;
105          my $sth = $self->dbh->prepare(qq{          my $sth = $self->dbh->prepare(qq{
106                  select md5( id || email ) from reservation where email = ?                  select md5( id || email ) from reservation where email = ?

Legend:
Removed from v.1104  
changed lines
  Added in v.1121

  ViewVC Help
Powered by ViewVC 1.1.26