/[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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1104 - (show annotations)
Mon Jun 29 12:11:14 2009 UTC (14 years, 10 months ago) by dpavlin
File size: 2188 byte(s)
verify e-mail address
1 package App::RoomReservation::Reservation;
2 use Moose;
3
4 extends 'App::RoomReservation';
5
6 use lib 'lib';
7 use Frey::PPI;
8
9 has ime => (
10 is => 'rw',
11 isa => 'Str',
12 required => 1,
13 );
14
15 has prezime => (
16 is => 'rw',
17 isa => 'Str',
18 required => 1,
19 );
20
21 has institucija => (
22 is => 'rw',
23 isa => 'Str',
24 required => 1,
25 );
26
27 has zanimanje => (
28 is => 'rw',
29 isa => 'Str',
30 required => 1,
31 );
32
33 has grad => (
34 is => 'rw',
35 isa => 'Str',
36 required => 1,
37 );
38
39 has drzava => (
40 is => 'rw',
41 isa => 'Str',
42 required => 1,
43 );
44
45 has telefon => (
46 is => 'rw',
47 isa => 'Str',
48 required => 1,
49 );
50
51 has mobitel => (
52 is => 'rw',
53 isa => 'Str',
54 required => 1,
55 );
56
57 has email => (
58 is => 'rw',
59 isa => 'Str',
60 required => 1,
61 );
62
63 has email_verify => (
64 is => 'rw',
65 isa => 'Str',
66 required => 1,
67 );
68
69 has _confirmed => (
70 is => 'rw',
71 isa => 'Bool',
72 required => 1,
73 default => sub { 0 },
74 );
75
76 sub BUILD {
77 my $self = shift;
78 die "e-mail not verified\n" unless $self->email eq $self->email_verify;
79 }
80
81 my @cols = Frey::PPI->new( class => __PACKAGE__ )->attribute_order;
82 warn "# cols = ",join(',', @cols), $/;
83
84 sub token {
85 my ( $self ) = @_;
86 my $self = shift;
87 my $sth = $self->dbh->prepare(qq{
88 select md5( id || email ) from reservation where email = ?
89 });
90 $sth->execute( $self->email );
91 $sth->fetchrow_array;
92 }
93
94 sub create_as_markup {
95 my ($self) = @_;
96
97 my @vals;
98 my @p;
99
100 map {
101 push @vals, $self->$_;
102 push @p, '?';
103 } @cols;
104
105 my $n = $#cols + 1;
106
107 my $sql
108 = 'insert into reservation ('
109 . join(',', @cols)
110 . ') values ('
111 . join(',', map { '?' } @cols )
112 . ')'
113 ;
114
115 warn "sql: $sql\n";
116
117 my $sth = $self->dbh->prepare( $sql );
118 $sth->execute( @vals );
119
120 return
121 $self->ime . ' ' . $self->prezime
122 . qq| we have accepted your registration!|
123 . qq|
124 <div style="color:red">
125 You have to confirm your e-mail address and registration
126 by clicking on link which should be in your e-mail INBOX shortly
127 </div>
128 |
129 . qq|<a href="/App::RoomReservation::Reservation::Confirmation/verify_as_markup?token=|
130 . $self->token
131 . qq|">verify</a>|
132 . ' or '
133 . qq|<a href="/App::RoomReservation::Reservation::Confirmation/cancel_as_markup?token=|
134 . $self->token
135 . qq|">cancel</a>|
136 ;
137 }
138
139
140 1;

  ViewVC Help
Powered by ViewVC 1.1.26