- foreach my $i (@{$patron->{items}}) {
- $item = new ILS::Item $i;
- last if ($title_id eq $item->title_id);
- $item = undef;
- }
- } else {
- foreach my $i (@{$patron->{items}}) {
- if ($i == $item_id) {
- # We have it checked out
- $item = new ILS::Item $item_id;
- last;
- }
- }
- }
+
+ # if (defined($title_id)) {
+ # foreach my $i (@{$patron->{items}}) {
+ # $item = new ILS::Item $i;
+ # last if ($title_id eq $item->title_id);
+ # $item = undef;
+ # }
+ # } else {
+ my $j = 0;
+ my $count = scalar @{$patron->{items}};
+ foreach my $i (@{$patron->{items}}) {
+ unless (defined $i->{barcode}) { # FIXME: using data instead of objects may violate the abstraction layer
+ syslog("LOG_ERR", "No barcode for item %s of %s: $item_id", $j+1, $count);
+ next;
+ }
+ syslog("LOG_DEBUG", "checking item %s of %s: $item_id vs. %s", ++$j, $count, $i->{barcode});
+ if ($i->{barcode} eq $item_id) {
+ # We have it checked out
+ $item = new ILS::Item $item_id;
+ last;
+ }
+ }
+ # }