From b727b5011bc5cd78e83a73e54f99fb36f226d06f Mon Sep 17 00:00:00 2001
From: Jason Boyer <jboyer@library.in.gov>
Date: Fri, 18 Jan 2019 12:38:22 -0500
Subject: [PATCH] LP1759343: Bills Annotation Persistance

Make the Annotate option on the patron Bills page
persistant and a workstation setting.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
---
 .../src/sql/Pg/upgrade/XXXX.data.annotate_payment_setting.sql |  8 ++++++++
 Open-ILS/src/templates/staff/circ/patron/t_bills.tt2          |  2 +-
 Open-ILS/web/js/ui/default/staff/circ/patron/bills.js         | 11 ++++++++++-
 3 files changed, 19 insertions(+), 2 deletions(-)
 create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.annotate_payment_setting.sql

diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.data.annotate_payment_setting.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.data.annotate_payment_setting.sql
new file mode 100644
index 0000000000..ed749c986c
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.data.annotate_payment_setting.sql
@@ -0,0 +1,8 @@
+BEGIN;
+
+SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+INSERT INTO config.workstation_setting_type (name,label,grp,datatype) VALUES ('eg.circ.bills.annotatepayment','Bills: Annotate Payment', 'circ', 'bool');
+
+COMMIT;
+
diff --git a/Open-ILS/src/templates/staff/circ/patron/t_bills.tt2 b/Open-ILS/src/templates/staff/circ/patron/t_bills.tt2
index 52c2965b01..69d04396c8 100644
--- a/Open-ILS/src/templates/staff/circ/patron/t_bills.tt2
+++ b/Open-ILS/src/templates/staff/circ/patron/t_bills.tt2
@@ -81,7 +81,7 @@
         <div class="form-group">
           <label for="annotate-payment" class="control-label col-md-5">[% l('Annotate') %]</label>
           <div class="col-md-1">
-            <input id="annotate-payment" type="checkbox" ng-model="annotate_payment"/>
+            <input id="annotate-payment" type="checkbox" ng-model="annotate_payment" ng-change="onAnnotatePaymentChanged()"/>
           </div>
           <div class="col-md-6">
             <button
diff --git a/Open-ILS/web/js/ui/default/staff/circ/patron/bills.js b/Open-ILS/web/js/ui/default/staff/circ/patron/bills.js
index 14b84c0641..495c85b245 100644
--- a/Open-ILS/web/js/ui/default/staff/circ/patron/bills.js
+++ b/Open-ILS/web/js/ui/default/staff/circ/patron/bills.js
@@ -194,12 +194,17 @@ function($scope , $q , $routeParams , egCore , egConfirmDialog , $location,
     $scope.amount_verified = false;
     $scope.disable_auto_print = false;
 
-    // check receipt_on_pay setting default persisted
+    // Load persistant settings
     egCore.hatch.getItem('circ.bills.receiptonpay')
                 .then(function(rcptOnPay){
                     if (rcptOnPay) $scope.receipt_on_pay.isChecked = rcptOnPay;
                 });
 
+    egCore.hatch.getItem('circ.bills.annotatepayment')
+                .then(function(annoPay){
+                    if (annoPay) $scope.annotate_payment = annoPay;
+                });
+
     // pre-define list-returning funcs in case we access them
     // before the grid instantiates
     $scope.gridControls = {
@@ -406,6 +411,10 @@ function($scope , $q , $routeParams , egCore , egConfirmDialog , $location,
         egCore.hatch.setItem('circ.bills.receiptonpay', $scope.receipt_on_pay.isChecked);
     }
 
+    $scope.onAnnotatePaymentChanged = function(){
+        egCore.hatch.setItem('circ.bills.annotatepayment', $scope.annotate_payment);
+    }
+
     function printReceipt(type, payment_ids, payments_made, note) {
         var payment_blobs = [];
         var cusr = patronSvc.current;
-- 
2.11.0