$resp .= add_field( FID_ITEM_ID, $item_id, $server );
$resp .= add_field( FID_TITLE_ID, $item->title_id, $server );
if ( $item->due_date ) {
- my $due_date;
- if( $account->{format_due_date} ){
- $due_date = output_pref({ str => $item->due_date, as_due_date => 1 });
- } else {
- $due_date = timestamp( $item->due_date );
- }
+ my $due_date =
+ $account->{format_due_date}
+ ? output_pref( { str => $item->due_date, as_due_date => 1 } )
+ : timestamp( $item->due_date );
$resp .= add_field( FID_DUE_DATE, $due_date, $server );
} else {
$resp .= add_field( FID_DUE_DATE, q{}, $server );
sub handle_item_information {
my ( $self, $server ) = @_;
- my $ils = $server->{ils};
+ my $account = $server->{account};
+ my $ils = $server->{ils};
+ my $fields = $self->{fields};
+ my $resp = ITEM_INFO_RESP;
my $trans_date;
- my $fields = $self->{fields};
- my $resp = ITEM_INFO_RESP;
my $item;
my $i;
$resp .= add_field( FID_HOLD_QUEUE_LEN, $i, $server );
}
if ( $item->due_date ) {
- $resp .= add_field( FID_DUE_DATE, timestamp( $item->due_date ), $server );
+ my $due_date =
+ $account->{format_due_date}
+ ? output_pref( { str => $item->due_date, as_due_date => 1 } )
+ : timestamp( $item->due_date );
+ $resp .= add_field( FID_DUE_DATE, $due_date, $server );
}
if ( ( $i = $item->recall_date ) != 0 ) {
$resp .= add_field( FID_RECALL_DATE, timestamp($i), $server );
};
subtest "Test cr_item_field" => sub {
- plan tests => 2;
+ plan tests => 3;
my $builder = t::lib::TestBuilder->new();
my $branchcode = $builder->build({ source => 'Branch' })->{branchcode};
my $itype = $item_object->itype;
ok( $response =~ m/CR$itype/, "Found correct CR field in response");
+
+ $server->{account}->{format_due_date} = 1;
+ t::lib::Mocks::mock_preference( 'dateFormat', 'sql' );
+ my $issue = Koha::Checkout->new({ branchcode => $branchcode, borrowernumber => $patron1->{borrowernumber}, itemnumber => $item_object->itemnumber, date_due => "1999-01-01 12:59:00" })->store;
+ $siprequest = ITEM_INFORMATION . 'YYYYMMDDZZZZHHMMSS' .
+ FID_INST_ID . $branchcode . '|'.
+ FID_ITEM_ID . $item_object->barcode . '|' .
+ FID_TERMINAL_PWD . 'ignored' . '|';
+ undef $response;
+ $msg = C4::SIP::Sip::MsgType->new( $siprequest, 0 );
+ $msg->handle_item_information( $server );
+ ok( $response =~ m/AH1999-01-01 12:59/, "Found correct CR field in response");
};
subtest 'Patron info summary > 5 should not crash server' => sub {