LP#1694529 Patron editor friendly xact ID collision alert
authorBill Erickson <berickxx@gmail.com>
Thu, 29 Jun 2017 21:53:56 +0000 (17:53 -0400)
committerGalen Charlton <gmc@equinoxinitiative.org>
Mon, 7 Aug 2017 14:54:43 +0000 (10:54 -0400)
Display a friendly alert dialog message to staff when attempting to save
a patron record that has been externally modified during editing.  This
is an improvement over the existing debug alert with JSON data.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/src/templates/staff/circ/patron/index.tt2
Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js

index 9f2d4cc..ea11be0 100644 (file)
@@ -61,6 +61,7 @@ angular.module('egCoreMod').run(['egStrings', function(s) {
   s.PATRON_PURGE_OVERRIDE_PROMPT = "[% l('The account has open transactions (circulations and/or unpaid bills). Purge anyway?') %]";
   s.OPT_IN_DIALOG_TITLE = "[% l('Verify Permission to Share Personal Information') %]";
   s.OPT_IN_DIALOG = "[% l('Does patron [_1], [_2] from [_3] ([_4]) consent to having their personal information shared with your library?', '{{family_name}}', '{{first_given_name}}', '{{org_name}}', '{{org_shortname}}') %]";
+  s.PATRON_EDIT_COLLISION = "[% l('Patron record was modified while editing.  Please reapply changes.') %]";
 }]);
 </script>
 
index 3cc9348..f40a9c0 100644 (file)
@@ -1810,6 +1810,14 @@ function($scope , $routeParams , $q , $uibModal , $window , egCore ,
                 return patronRegSvc.save_user_settings(
                     new_user, $scope.user_settings); 
             } else {
+                var evt = egCore.evt.parse(new_user);
+
+                if (evt && evt.textcode == 'XACT_COLLISION') {
+                    return egAlertDialog.open(
+                        egCore.strings.PATRON_EDIT_COLLISION).result;
+                }
+
+                // debug only -- should not get here.
                 alert('Patron update failed. \n\n' + js2JSON(new_user));
             }