LP 1772053: Add Missing Fields to Print Templates
authorDan Pearl <dpearl@cwmars.org>
Fri, 7 Sep 2018 17:18:56 +0000 (13:18 -0400)
committerChris Sharp <csharp@georgialibraries.org>
Wed, 19 Aug 2020 15:28:52 +0000 (11:28 -0400)
Almost complete implementation for LP1772053.  To be done: items
relating to call numbers, prefixes and suffixes for Hold Pull Lists
and Transit Slips.

Signed-off-by: Daniel Pearl <dpearl@cwmars.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Open-ILS/src/templates/staff/share/print_templates/t_checkout.tt2
Open-ILS/web/js/ui/default/staff/admin/workstation/app.js
Open-ILS/web/js/ui/default/staff/circ/patron/bills.js
Open-ILS/web/js/ui/default/staff/circ/patron/checkout.js
Open-ILS/web/js/ui/default/staff/circ/renew/app.js
Open-ILS/web/js/ui/default/staff/circ/services/circ.js

index 2a91759..16c6a46 100644 (file)
@@ -3,6 +3,22 @@
 <b>{{current_location.name}}</b></center>
 <h3>Checkout Receipt</h3>
 <div>You checked out the following items:</div>
+<div>
+  <div>[% l('Welcome to [_1]', '{{current_location.name}}') %]</div>
+  <div>[% l('You checked out the following items:') %]</div>
+  <hr/>
+  <ol>
+    <li ng-repeat="checkout in circulations">
+      <div>{{checkout.title}}</div>
+      <div>[% l('Barcode: [_1] Due: [_2]', 
+        '{{checkout.copy.barcode}}',
+        '{{checkout.circ.due_date | egDueDate:$root.egDateAndTimeFormat:checkout.circ.circ_lib:checkout.circ.duration}}') %]</div>
+    </li>
+  </ol>
+  <hr/>
+  <div>{{current_location.shortname}} {{today | date:$root.egDateAndTimeFormat}}</div>
+  <div>[% l('You were helped by [_1]', '{{staff.first_given_name}}') %]</div>
+>>>>>>> 058c331b02... LP 1772053: Add Missing Fields to Print Templates
 <br/>
 <ol>
 <div ng-repeat="checkout in circulations">
index ffa0b01..4923427 100644 (file)
@@ -457,16 +457,28 @@ function($scope , $q , egCore , ngToast) {
                 simple_record : {
                     'title' : 'Test Title'
                 }
+            },
+            owning_lib : {
+                name : 'Ankers Memorial Library',
+                shortname : 'Ankers'
             }
         },
+        circ_modifier : {
+               name : 'Book'
+                },
         location : {
             name : 'General Collection'
         },
+        status : {
+            name : 'In Transit'
+        },
         // flattened versions for item status template
         // TODO - make this go away
         'call_number.label' : '636.8 JON',
         'call_number.record.simple_record.title' : 'Test Title',
-        'location.name' : 'General Colleciton'
+        'location.name' : 'General Collection',
+        'call_number.owning_lib.name' : 'Ankers Memorial Library',
+        'call_number.owning_lib.shortname' : 'Ankers'
     }
 
     var one_hold = {
@@ -501,6 +513,15 @@ function($scope , $q , egCore , ngToast) {
                 id : 1,
                 xact_start : new Date().toISOString(),
                 xact_finish : new Date().toISOString(),
+               call_number : {
+                       label : "spindler",
+                       prefix : "biography",
+                       suffix : "Closed Stacks",
+                       owning_lib : {
+                          name : "Mineola Public Library",
+                           shortname : "Mineola"
+                                     }
+                               },
                 summary : {
                     xact_type : 'circulation',
                     last_billing_type : 'Overdue materials',
@@ -515,6 +536,15 @@ function($scope , $q , egCore , ngToast) {
                 id : 2,
                 xact_start : new Date().toISOString(),
                 xact_finish : new Date().toISOString(),
+               call_number : {
+                       label : "796.6 WEI",
+                       prefix : "",
+                       suffix : "REF",
+                       owning_lib : {
+                          name : "Rogers Reading Room",
+                           shortname : "Rogers"
+                                     }
+                               },
                 summary : {
                     xact_type : 'circulation',
                     last_billing_type : 'Overdue materials',
@@ -548,12 +578,13 @@ function($scope , $q , egCore , ngToast) {
                 circ : {
                     due_date : new Date().toISOString(),
                     circ_lib : 1,
-                    duration : '7 days'
+                    duration : '7 days',
+                    renewal_remaining : 2
                 },
                 copy : seed_copy,
                 title : seed_record.title,
                 author : seed_record.author
-            },
+            }
         ],
 
         patron_money : {
index b741359..2ccac23 100644 (file)
@@ -573,7 +573,7 @@ function($scope , $q , $routeParams , egCore , egConfirmDialog , $location,
                 'mbt' : ['summary', 'circulation'],
                 'circ' : ['target_copy'],
                 'acp' : ['call_number'],
-                'acn' : ['record'],
+                'acn' : ['record','owning_lib','prefix','suffix'],
                 'bre' : ['simple_record']
                 }
             },
@@ -624,8 +624,18 @@ function($scope , $q , $routeParams , egCore , egConfirmDialog , $location,
                 }
                 if (xact.circulation()) {
                     newXact.copy_barcode = xact.circulation().target_copy().barcode(),
-                    newXact.title = xact.circulation().target_copy().call_number().record().simple_record().title()
+                    newXact.title = xact.circulation().target_copy().call_number().record().simple_record().title();
+                    newXact.call_number = {
+                        label : xact.circulation().target_copy().call_number().label(),
+                       prefix : xact.circulation().target_copy().call_number().prefix().label(),
+                       suffix : xact.circulation().target_copy().call_number().suffix().label(),
+                        owning_lib : {
+                             name : xact.circulation().target_copy().call_number().owning_lib().name(),
+                             shortname : xact.circulation().target_copy().call_number().owning_lib().shortname()
+                        }
+                    }
                 }
+
                 xacts.push(newXact);
             }
         );
@@ -1097,7 +1107,7 @@ function($scope,  $q , egCore , patronSvc , billSvc , egPromptDialog , $location
                 'mbt' : ['summary', 'circulation'],
                 'circ' : ['target_copy'],
                 'acp' : ['call_number'],
-                'acn' : ['record'],
+                'acn' : ['record','owning_lib','prefix','suffix'],
                 'bre' : ['simple_record']
                 }
             },
@@ -1149,6 +1159,15 @@ function($scope,  $q , egCore , patronSvc , billSvc , egPromptDialog , $location
                 if (xact.circulation()) {
                     newXact.copy_barcode = xact.circulation().target_copy().barcode(),
                     newXact.title = xact.circulation().target_copy().call_number().record().simple_record().title()
+                    newXact.call_number = {
+                        label : xact.circulation().target_copy().call_number().label(),
+                       prefix : xact.circulation().target_copy().call_number().prefix().label(),
+                       suffix : xact.circulation().target_copy().call_number().suffix().label(),
+                        owning_lib : {
+                             name : xact.circulation().target_copy().call_number().owning_lib().name(),
+                             shortname : xact.circulation().target_copy().call_number().owning_lib().shortname()
+                        }
+                    }
                 }
                 xacts.push(newXact);
             }
index 7984b79..fb9072b 100644 (file)
@@ -315,14 +315,18 @@ function($scope , $q , $routeParams , egCore , egUser , patronSvc ,
                 print_data.circulations.push({
                     circ : egCore.idl.toHash(co.circ),
                     copy : egCore.idl.toHash(co.acp),
-                    call_number : egCore.idl.toHash(co.acn),
                     title : co.title,
                     author : co.author
-                })
+                });
+                // Flesh selected fields of this circulation 
+                print_data.circulations[0].copy.call_number =
+                    egCore.idl.toHash(co.acn);
+                print_data.circulations[0].copy.owning_lib =
+                   egCore.ils.toHash(co.aou);
             };
         });
 
-        // This is repeated in patron.* so everyting is in one place but left here so existing templates don't break.
+        // This is repeated in patron.* so everything is in one place but left here so existing templates don't break.
         print_data.patron_money = patronSvc.patron_stats.fines;
         print_data.patron = {
             prefix : cusr.prefix(),
index e15dd5e..b5cdfd1 100644 (file)
@@ -249,6 +249,11 @@ function($scope , $window , $location , egCore , egGridDataProvider , egCirc) {
                     title : egCore.idl.toHash(renewal.title),
                     author : egCore.idl.toHash(renewal.author)
                 });
+                // Flesh selected fields of this circulation 
+                print_data.circulations[0].copy.call_number =
+                    egCore.idl.toHash(renewal.acn);
+                print_data.circulations[0].copy.owning_lib =
+                   egCore.idl.toHash(renewal.aou);
             }
         });
 
index 64a68e1..15849f6 100644 (file)
@@ -713,7 +713,6 @@ function($uibModal , $q , egCore , egAlertDialog , egConfirmDialog,  egAddCopyAl
         return egCore.pcrud.retrieveAll('ccs', {}, {atomic : true}).then(
             function(list) {
                 egCore.env.absorbList(list, 'ccs');
-                copy.status(egCore.env.ccs.map[copy.status()]);
             }
         );
     }
@@ -1826,6 +1825,7 @@ function($uibModal , $q , egCore , egAlertDialog , egConfirmDialog,  egAddCopyAl
                 }
                 print_context.dest_location =
                     egCore.idl.toHash(egCore.org.get(data.transit.dest()));
+                print_context.copy.status = egCore.idl.toHash(print_context.copy.status);
             }
 
             if (data.patron) {