Bug 39829: (QA follow-up) Pass server through for the title field

add_field/maybe_add need $server to apply the hide_fields and
allow_fields account options; without it the AJ field is always sent.

- Pass $server at the FID_TITLE_ID call sites in the checkout, checkin,
  item information, item status update and renew responses

Assisted-by: Fable 5 (Anthropic)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Pedro Amorim <pedro.amorim@openfifth.co.uk>
This commit is contained in:
Paul Derscheid 2026-09-01 17:36:46 +02:00 committed by Pedro Amorim
parent f1ca516b60
commit 64aa56877a
No known key found for this signature in database
GPG Key ID: 06B75BA7F3894D55
1 changed files with 13 additions and 13 deletions

View File

@ -626,10 +626,10 @@ sub handle_checkout {
$resp .= timestamp; $resp .= timestamp;
# Now for the variable fields # Now for the variable fields
$resp .= add_field( FID_INST_ID, $inst, $server ); $resp .= add_field( FID_INST_ID, $inst, $server );
$resp .= add_field( FID_PATRON_ID, $patron_id, $server ); $resp .= add_field( FID_PATRON_ID, $patron_id, $server );
$resp .= add_field( FID_ITEM_ID, $item_id, $server ); $resp .= add_field( FID_ITEM_ID, $item_id, $server );
$resp .= add_field( FID_TITLE_ID, _format_title( { item => $item, server => $server } ) ); $resp .= add_field( FID_TITLE_ID, _format_title( { item => $item, server => $server } ), $server );
if ( $item->due_date ) { if ( $item->due_date ) {
my $due_date = my $due_date =
$account->{format_due_date} $account->{format_due_date}
@ -664,7 +664,7 @@ sub handle_checkout {
# If the item is valid, provide the title, otherwise # If the item is valid, provide the title, otherwise
# leave it blank # leave it blank
$resp .= add_field( FID_TITLE_ID, $item ? _format_title( { item => $item, server => $server } ) : "" ); $resp .= add_field( FID_TITLE_ID, $item ? _format_title( { item => $item, server => $server } ) : "", $server );
# Due date is required. Since it didn't get checked out, # Due date is required. Since it didn't get checked out,
# it's not due, so leave the date blank # it's not due, so leave the date blank
@ -764,7 +764,7 @@ sub handle_checkin {
if ($item) { if ($item) {
$resp .= add_field( FID_PERM_LOCN, $item->permanent_location, $server ); $resp .= add_field( FID_PERM_LOCN, $item->permanent_location, $server );
$resp .= maybe_add( FID_TITLE_ID, _format_title( { item => $item, server => $server } ) ); $resp .= maybe_add( FID_TITLE_ID, _format_title( { item => $item, server => $server } ), $server );
$resp .= $item->build_additional_item_fields_string($server); $resp .= $item->build_additional_item_fields_string($server);
} else { } else {
$resp .= add_field( FID_PERM_LOCN, "", $server ); $resp .= add_field( FID_PERM_LOCN, "", $server );
@ -1344,8 +1344,8 @@ sub handle_item_information {
$resp .= maybe_add( FID_SCREEN_MSG, "Item is damaged", $server ); $resp .= maybe_add( FID_SCREEN_MSG, "Item is damaged", $server );
} }
$resp .= add_field( FID_ITEM_ID, $item->id, $server ); $resp .= add_field( FID_ITEM_ID, $item->id, $server );
$resp .= add_field( FID_TITLE_ID, _format_title( { item => $item, server => $server } ) ); $resp .= add_field( FID_TITLE_ID, _format_title( { item => $item, server => $server } ), $server );
$resp .= maybe_add( FID_MEDIA_TYPE, $item->sip_media_type, $server ); $resp .= maybe_add( FID_MEDIA_TYPE, $item->sip_media_type, $server );
$resp .= maybe_add( FID_PERM_LOCN, $item->permanent_location, $server ); $resp .= maybe_add( FID_PERM_LOCN, $item->permanent_location, $server );
@ -1430,8 +1430,8 @@ sub handle_item_status_update {
$resp .= $status->ok ? '1' : '0'; $resp .= $status->ok ? '1' : '0';
$resp .= timestamp; $resp .= timestamp;
$resp .= add_field( FID_ITEM_ID, $item->id, $server ); $resp .= add_field( FID_ITEM_ID, $item->id, $server );
$resp .= add_field( FID_TITLE_ID, _format_title( { item => $item, server => $server } ) ); $resp .= add_field( FID_TITLE_ID, _format_title( { item => $item, server => $server } ), $server );
$resp .= maybe_add( FID_ITEM_PROPS, $item->sip_item_properties, $server ); $resp .= maybe_add( FID_ITEM_PROPS, $item->sip_item_properties, $server );
} }
@ -1619,9 +1619,9 @@ sub handle_renew {
} }
$resp .= sipbool( desensitize( { status => $status, patron => $patron, server => $server } ) ); $resp .= sipbool( desensitize( { status => $status, patron => $patron, server => $server } ) );
$resp .= timestamp; $resp .= timestamp;
$resp .= add_field( FID_PATRON_ID, $patron->id, $server ); $resp .= add_field( FID_PATRON_ID, $patron->id, $server );
$resp .= add_field( FID_ITEM_ID, $item->id, $server ); $resp .= add_field( FID_ITEM_ID, $item->id, $server );
$resp .= add_field( FID_TITLE_ID, _format_title( { item => $item, server => $server } ) ); $resp .= add_field( FID_TITLE_ID, _format_title( { item => $item, server => $server } ), $server );
if ( $item->due_date ) { if ( $item->due_date ) {
$resp .= add_field( FID_DUE_DATE, timestamp( $item->due_date ), $server ); $resp .= add_field( FID_DUE_DATE, timestamp( $item->due_date ), $server );
} else { } else {