add %patron_display_name% macro to hold shelf collab/phasefx/hold_patron_display_name
authorJason Etheridge <jason@esilibrary.com>
Thu, 27 Sep 2012 14:35:06 +0000 (10:35 -0400)
committerJason Etheridge <jason@esilibrary.com>
Thu, 27 Sep 2012 14:35:06 +0000 (10:35 -0400)
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>
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
Open-ILS/xul/staff_client/server/circ/util.js
Open-ILS/xul/staff_client/server/locale/en-US/circ.properties
Open-ILS/xul/staff_client/server/patron/hold_details.js
Open-ILS/xul/staff_client/server/patron/holds.js

index 1dee0c3..6360e8e 100644 (file)
@@ -3225,6 +3225,7 @@ sub uber_hold_impl {
            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,
     };
index 5e766b2..5430952 100644 (file)
@@ -2546,6 +2546,27 @@ circ.util.hold_columns = function(modify,params) {
             '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'),
index 3f34a0f..48cf089 100644 (file)
@@ -341,6 +341,7 @@ staff.circ.utils.notify_count=Notices
 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
index be34911..d28004e 100644 (file)
@@ -141,6 +141,7 @@ function a_list_of_one() {
                         '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,
index 9b15aef..9c2999b 100644 (file)
@@ -106,6 +106,7 @@ patron.holds.prototype = {
                                     }
                                     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;