which shows either the patron alias or last name + first name + second name.
This is so we can, for example, mimic the print output of the very buried
Admin -> For Developers -> Local Administration -> Expired Holds Shelf Printable
Listing interface.
One could do this by setting their hold_slip template in the Receipt Template
Editor to look like this:
Header:
%SHORTNAME% %TODAY_TRIM%<br/>
<hr/>
<style type="text/css">
body { font-size: 14pt; }
td {
padding-right: 1em;
padding-bottom: 1em;
border-bottom: 1px #999 dashed;
}
th {
text-align: left; font-weight: bold;
border-bottom: 1px #000 solid;
border-right: 1px #000 solid;
padding: 0.5em;
}
</style>
<table>
<tr>
<th>Patron</th>
<th>Action</th>
<th>Type</th>
<th>Title</th>
<th>Author</th>
<th>Shelving Location</th>
<th>Call Number</th>
<th>Barcode</th>
</tr>
Lineitem:
<tr>
<td>%patron_display_name%</td>
<td>%post_clear_shelf_action%</td>
<td>%hold_type%</td>
<td>%title%</td>
<td>%author%</td>
<td>%current_copy_location%</td>
<td>%callnumber%</td>
<td>%current_copy%</td>
</tr>
Footer:
</table>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
my $card = $e->retrieve_actor_card($user->card) or return $e->event;
$resp->{patron_first} = $user->first_given_name,
$resp->{patron_last} = $user->family_name,
+ $resp->{patron_middle} = $user->second_given_name,
$resp->{patron_barcode} = $card->barcode,
$resp->{patron_alias} = $user->alias,
};
'editable' : false, 'render' : function(my) { return my.patron_alias ? my.patron_alias : ""; }
},
{
+ "persist": "hidden width ordinal",
+ "id": "patron_display_name",
+ 'label' : document.getElementById('circStrings').getString('staff.circ.utils.patron_display_name'),
+ 'flex' : 1,
+ 'primary' : false,
+ 'hidden' : true,
+ 'editable' : false, 'render' : function(my) {
+ var display_name;
+ if (my.patron_alias) {
+ display_name = my.patron_alias;
+ } else {
+ display_name = [
+ (my.patron_family_name ? my.patron_family_name : ""),
+ (my.patron_first_given_name ? my.patron_first_given_name : ""),
+ (my.patron_second_given_name ? my.patron_second_given_name : "")
+ ].join(" ");
+ }
+ return display_name;
+ }
+ },
+ {
'persist' : 'hidden width ordinal',
'id' : 'patron_first_given_name',
'label' : document.getElementById('circStrings').getString('staff.circ.utils.patron_first_given_name'),
staff.circ.utils.patron_alias=Patron Alias
staff.circ.utils.patron_family_name=Patron Last Name
staff.circ.utils.patron_first_given_name=Patron First Name
+staff.circ.utils.patron_display_name=Patron Display Name
staff.circ.utils.checkin.override=Override Checkin Failure?
staff.circ.utils.checkin.override.item_deposit_paid.warning=A paid deposit will be owed to this patron if this action is overrided.
staff.circ.utils.billable.amount=Transaction for %1$s billable $%2$s
'mvr' : g.blob.mvr,
'patron_family_name' : g.blob.patron_last,
'patron_first_given_name' : g.blob.patron_first,
+ 'patron_second_given_name' : g.blob.patron_middle,
'patron_barcode' : g.blob.patron_barcode,
'patron_alias' : g.blob.patron_alias,
'total_holds' : g.blob.total_holds,
}
row.my.patron_family_name = blob.patron_last;
row.my.patron_first_given_name = blob.patron_first;
+ row.my.patron_second_given_name = blob.patron_middle;
row.my.patron_barcode = blob.patron_barcode;
row.my.patron_alias = blob.patron_alias;
row.my.total_holds = blob.total_holds;