Do template dodano formularz do rezerwacji ksiazek.
Nalezy napisac mechanizm obslogujacy rezerwacje ksiazek.
This commit is contained in:
parent
f2e4f434e2
commit
15412b1135
5 changed files with 38 additions and 12 deletions
1
TODO
1
TODO
|
@ -1,4 +1,3 @@
|
|||
1)Dodać obsługę informacji o tym, kto wypożyczył daną książkę
|
||||
2)Dodać uwieżytelnianie
|
||||
3)Dodać możliwość łączenia się po https
|
||||
4)Zintegrować z LDAP'em
|
||||
|
|
25
bin/app.pl
25
bin/app.pl
|
@ -15,7 +15,6 @@ get '/' => sub
|
|||
{
|
||||
my $sth = $dbh->prepare("select * from ksiazki;") or die "Nie mozna spreparowac zapytania";
|
||||
$sth->execute() or die "Nie mozna wykonac zapytania";
|
||||
#my $sth=$dbh->do("select * from ksiazki");
|
||||
my @result;
|
||||
(@result)=@{$sth->fetchall_arrayref} or die "blad przy pobieraniu danych";
|
||||
|
||||
|
@ -29,16 +28,23 @@ get '/' => sub
|
|||
|
||||
get '/req/:book' => sub
|
||||
{
|
||||
my $id=params->{book};
|
||||
my $sth;
|
||||
|
||||
$sth=$dbh->prepare("select type from ksiazki where id=?") or die "Nie mozna spreparowac zapytania";
|
||||
#TODO:Zamienic if'y na odpowiednie zapytania sql
|
||||
my ($id,$who) = split (/,/,params->{book});
|
||||
my $sth=$dbh->prepare("select can_borrow from ksiazki where id=?") or die "Nie mozna spreparowac zapytania";
|
||||
$sth->execute($id) or die "Nie mozna wykonac";
|
||||
my $type = $sth->fetchrow_array or die "Nie mozna pobrac danych";
|
||||
if ($type == 1)
|
||||
{
|
||||
$sth = $dbh->prepare("update ksiazki set state=not state where id=?") or die "Nie mozna spreparowac zapytania";
|
||||
$sth->execute($id) or die "Nie mozna wykonac zapytania";
|
||||
my $sth=$dbh->prepare("select who from ksiazki where id=?") or die "Nie mozna spreparowac zapytania";
|
||||
$sth->execute($id) or die "Nie mozna wykonac";
|
||||
my $who_from_base = $sth->fetchrow_array or die "Nie mozna pobrac danych";
|
||||
|
||||
if ($who_from_base ne 'nikt')
|
||||
{
|
||||
$who='nikt'
|
||||
}
|
||||
$sth = $dbh->prepare("update ksiazki set state=not state,who=? where id=?") or die "Nie mozna spreparowac zapytania";
|
||||
$sth->execute($who,$id) or die "Nie mozna wykonac zapytania";
|
||||
return 0;
|
||||
}
|
||||
elsif ($type == 0)
|
||||
|
@ -51,5 +57,10 @@ get '/req/:book' => sub
|
|||
}
|
||||
};
|
||||
|
||||
post '/res' => sub #do zrobienia, rezerwacja
|
||||
{
|
||||
#return params->{book_id};
|
||||
return "Not implemented yet";
|
||||
};
|
||||
|
||||
dance;
|
||||
|
|
BIN
bin/ksiazki.db
BIN
bin/ksiazki.db
Binary file not shown.
|
@ -1,4 +1,5 @@
|
|||
#!/usr/bin/perl -w
|
||||
#Skrypt nie dokonczony, nie dziala
|
||||
|
||||
use warnings;
|
||||
use strict;
|
||||
|
|
|
@ -1,17 +1,26 @@
|
|||
<html>
|
||||
<body>
|
||||
% (my @tab) = @{$_[0]->{'table'}};
|
||||
|
||||
% my $pool_id=0;
|
||||
% my $pool_isbn=1;
|
||||
% my $pool_title=2;
|
||||
% my $pool_author=3;
|
||||
% my $pool_owner=4;
|
||||
% my $pool_state=5;
|
||||
% my $pool_who=6;
|
||||
% my $pool_can_borrow=7;
|
||||
% my $pool_reserved=8;
|
||||
% my $pool_comment=9;
|
||||
<table border=7>
|
||||
<tr><td>id</td><td>isbn</td><td>tytul</td><td>autor</td><td>wlasiciciel</td><td>jest?</td><td>mozna brac?</td></tr>
|
||||
<tr><td>id</td><td>isbn</td><td>tytul</td><td>autor</td><td>wlasiciciel</td><td>jest?</td><td>kto?</td><td>mozna brac?</td><td>zarezerwowana?</td><td>komentarz</td></tr>
|
||||
<tr>
|
||||
|
||||
% for (my $i=0;$i<$#tab+1;$i++)
|
||||
% {
|
||||
% for (my $ii=0;$ii<7;$ii++) #Jest 7 pol w kazdym rekordzie
|
||||
% for (my $ii=0;$ii<9;$ii++) #Jest 9 pol w kazdym rekordzie
|
||||
% {
|
||||
|
||||
% if ($ii==5 || $ii==6)
|
||||
% if ($ii==$pool_state || $ii==$pool_can_borrow || $ii==$pool_reserved)
|
||||
% {
|
||||
% if ($tab[$i][$ii]==1)
|
||||
% {
|
||||
|
@ -31,5 +40,11 @@
|
|||
|
||||
</table>
|
||||
|
||||
<br>
|
||||
Rezerwacja ksiazek. Podaj id ksiazki do zarezerwowania. <br>
|
||||
<form action="http://i.am-a.cat:3000/res" method="post">
|
||||
<input type="text" name="book_id">
|
||||
<input type="submit" value="zarezerwuj">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Add table
Reference in a new issue