From 56e0cd9a2b702507b8792e393cff31ea1ed50d0d Mon Sep 17 00:00:00 2001 From: Mike Rylander Date: Fri, 27 Mar 2015 17:46:14 -0400 Subject: [PATCH] webstaff: Fetch FF pos map and value map, per record type Signed-off-by: Mike Rylander Signed-off-by: Galen Charlton Signed-off-by: Jason Stephenson --- .../ui/default/staff/cat/services/tagtable.js | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/Open-ILS/web/js/ui/default/staff/cat/services/tagtable.js b/Open-ILS/web/js/ui/default/staff/cat/services/tagtable.js index d696173697..5d3202dd06 100644 --- a/Open-ILS/web/js/ui/default/staff/cat/services/tagtable.js +++ b/Open-ILS/web/js/ui/default/staff/cat/services/tagtable.js @@ -11,7 +11,9 @@ function($q, egCore, egAuth) { marcFormat : 'marc21', marcRecordType : 'biblio', }, - fields : { } + fields : { }, + ff_pos_map : { }, + ff_value_map : { } }; // allow 'bre' and 'biblio' to be synonyms, etc. @@ -48,6 +50,34 @@ function($q, egCore, egAuth) { }); }; + service.fetchFFPosTable = function(rtype) { + var deferred = $q.defer(); + + if (service.ff_pos_map[rtype]) { + deferred.resolve(service.ff_pos_map[rtype]); + return deferred.promise; + } + + egCore.net.request( // First, get the list of FFs (minus 006) + 'open-ils.fielder', + 'open-ils.fielder.cmfpm.atomic', + { query : { tag : { '!=' : '006' } } } + ).then(function (data) { + service.ff_pos_map[rtype] = data; + }).then(function() { // Then, get the value maps + return egCore.net.request( + 'open-ils.cat', + 'open-ils.cat.biblio.fixed_field_values.by_rec_type', + rtype + ); + }).then(function (data) { + service.ff_value_map[rtype] = data; + deferred.resolve(service.ff_pos_map[rtype]); + }); + + return deferred.promise; + }; + service.loadRemoteTagTable = function(fields, tt_key) { egCore.net.request( 'open-ils.cat', -- 2.43.2