From: Jason Etheridge Date: Fri, 13 Jul 2018 16:29:20 +0000 (-0400) Subject: misc fixes X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=613322faadb15a32f68308d2935ab2cfaf026c72;p=working%2FEvergreen.git misc fixes to the IDL and for the email_notify checkbox. some refactoring to avoid using foreign fields in the request object Signed-off-by: Jason Etheridge --- diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index 1671334928..d8e77e2145 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -6241,6 +6241,7 @@ SELECT usr, + @@ -6274,6 +6275,7 @@ SELECT usr, + @@ -6325,6 +6327,7 @@ SELECT usr, + @@ -6342,6 +6345,7 @@ SELECT usr, + diff --git a/Open-ILS/web/js/ui/default/staff/acq/services/requests.js b/Open-ILS/web/js/ui/default/staff/acq/services/requests.js index f407d542f6..a9fbbdc4fe 100644 --- a/Open-ILS/web/js/ui/default/staff/acq/services/requests.js +++ b/Open-ILS/web/js/ui/default/staff/acq/services/requests.js @@ -169,9 +169,11 @@ function($uibModal , $q , egCore , egOrg , ngToast) { templateUrl: './acq/requests/t_edit', backdrop: 'static', controller: ['$scope', '$uibModalInstance','egCore', - 'request','request_types','request_status_types', + 'request_and_extra','request_types','request_status_types', function($m_scope , $uibModalInstance , egCore , - request , request_types , request_status_types ) { + request_and_extra , request_types , request_status_types ) { + var request = request_and_extra.request; + var extra = request_and_extra.extra || {}; var today = new Date(); today.setHours(0); today.setMinutes(0); @@ -181,10 +183,14 @@ function($uibModal , $q , egCore , egOrg , ngToast) { $m_scope.mode = mode; $m_scope.request = request; $m_scope.request_types = request_types; - $m_scope.extra = {}; + $m_scope.extra = extra; $m_scope.extra.user_obj = request.usr; angular.forEach(['hold', 'email_notify'], function(field) { - request[field] = request[field] == 't'; + if (request[field] == 't') { + request[field] = true; + } else if (request[field] == 'f') { + request[field] = false; + } }); if (request.request_type) { if (typeof request.request_type.id != 'undefined') { @@ -199,9 +205,6 @@ function($uibModal , $q , egCore , egOrg , ngToast) { if (request.need_before) { request.need_before = new Date(request.need_before); } - if (request.phone_notify) { - $m_scope.extra.phone_notify = true; - } if (request.pickup_lib) { $m_scope.request.pickup_lib = egCore.idl.fromHash('aou',request.pickup_lib); @@ -282,6 +285,7 @@ function($uibModal , $q , egCore , egOrg , ngToast) { $m_scope.extra.user_obj = usr; $m_scope.request.usr = usr.id; $m_scope.request.pickup_lib = egOrg.get(usr.home_ou.id); + $m_scope.request.phone_notify = usr.day_phone; angular.forEach(usr.settings, function(s) { if (s.name == 'opac.hold_notify') { if (s.value.match('phone')) { @@ -292,13 +296,14 @@ function($uibModal , $q , egCore , egOrg , ngToast) { } } if (s.name == 'opac.default_phone') { - $m_scope.request.phone_notify = s.value; + $m_scope.request.phone_notify = s.value.replace(/^"/,'').replace(/"$/,''); } if (s.name == 'opac.default_pickup_location') { $m_scope.request.pickup_lib = egOrg.get(s.value); } }); + return $m_scope.request; }); }); } @@ -316,9 +321,10 @@ function($uibModal , $q , egCore , egOrg , ngToast) { ); }], resolve : { - request : function() { + request_and_extra : function() { if (mode=='create') { var aur_obj = egCore.idl.toHash(new egCore.idl.aurs()); + var extra = {}; if (row['usr']) { return egCore.pcrud.search('au', { id : row['usr'] @@ -341,14 +347,18 @@ function($uibModal , $q , egCore , egOrg , ngToast) { aur_obj.pickup_lib = egCore.idl.toHash( egOrg.get(usr.home_ou.id) ); + aur_obj.phone_notify = usr.day_phone; angular.forEach(usr.settings, function(s) { if (s.name == 'opac.hold_notify') { + if (s.value.match('phone')) { + extra.phone_notify = true; + } if (s.value.match('email')) { aur_obj.email_notify = true; } } if (s.name == 'opac.default_phone') { - aur_obj.phone_notify = s.value; + aur_obj.phone_notify = s.value.replace(/^"/,'').replace(/"$/,''); } if (s.name == 'opac.default_pickup_location') { aur_obj.pickup_lib = egCore.idl.toHash( @@ -356,10 +366,11 @@ function($uibModal , $q , egCore , egOrg , ngToast) { ); } }); - return aur_obj; + return { 'request' : aur_obj, 'extra' : extra }; }); } else { - return aur_obj; + console.log('here'); + return { 'request' : aur_obj, 'extra': extra }; } } else { return egCore.pcrud.search('aurs', { @@ -368,7 +379,12 @@ function($uibModal , $q , egCore , egOrg , ngToast) { atomic : true } ).then(function(requests) { - return egCore.idl.toHash(requests[0]); + var aur_obj = egCore.idl.toHash(requests[0]); + var extra = {}; + if (aur_obj.phone_notify) { + extra.phone_notify = true; + } + return { 'request' : aur_obj, 'extra' : extra }; }); } } @@ -550,7 +566,6 @@ function($uibModal , $q , egCore , egOrg , ngToast) { 'open-ils.acq.clear_completed_user_requests', egCore.auth.token(), ids ).then(function(obj) { - console.log('obj',obj); if (callback) { callback(obj); }