]> git.evergreen-ils.org Git - working/NCIPServer.git/blob - lib/NCIP/ILS/Koha.pm
c6bc05afd48fb499c81e1a0fcddae042901ecc8c
[working/NCIPServer.git] / lib / NCIP / ILS / Koha.pm
1 #
2 #===============================================================================
3 #
4 #         FILE: Koha.pm
5 #
6 #  DESCRIPTION:
7 #
8 #        FILES: ---
9 #         BUGS: ---
10 #        NOTES: ---
11 #       AUTHOR: Chris Cormack (rangi), chrisc@catalyst.net.nz
12 # ORGANIZATION: Koha Development Team
13 #      VERSION: 1.0
14 #      CREATED: 05/11/13 11:14:09
15 #     REVISION: ---
16 #===============================================================================
17 package NCIP::ILS::Koha;
18
19 use Modern::Perl;
20 use Object::Tiny qw{ name };
21
22 use C4::Members qw{ GetMemberDetails };
23 use C4::Circulation qw { AddReturned CanBookBeIssued AddIssue }
24
25   sub itemdata {
26     my $self = shift;
27     return ( { barcode => '123', title => 'fish' }, undef );
28 }
29
30 sub userdata {
31     my $self     = shift;
32     my $userid   = shift;
33     my $userdata = GetMemberDetails( undef, $userid );
34     return $userdata;
35 }
36
37 sub checkin {
38     my $self    = shift;
39     my $barcode = shift;
40     my ($success, $messages, $issue, $borrower)  = AddReturn( $barcode, $branch, $exemptfine, $dropbox );
41     my $result = { success => $success, messages  => $messages, iteminformation => $issue, borrower=> $borrower};
42     return $result;
43 }
44
45 sub checkout {
46     my $self = shift;
47     my $userid = shift;
48     my $barcode = shift;
49     my ($error, $confirm) = CanBookBeIssued ( $userid, $barcode );
50     #( $issuingimpossible, $needsconfirmation ) =  CanBookBeIssued( $borrower, 
51     #                      $barcode, $duedatespec, $inprocess, $ignore_reserves );
52     if ($error) { # plus the confirmation?
53 # Can't issue item, return error hash
54         return ( 1, $error);
55     }
56     else {
57         AddIssue($userid,$barcode);
58         return ( 0 );
59     }
60 }
61
62 1;