2 * Service for fetching fleshed user objects.
5 angular.module('egUserMod', ['egCoreMod'])
8 ['$q','$timeout','egNet','egAuth','egOrg',
9 function($q, $timeout, egNet, egAuth, egOrg) {
12 defaultFleshFields : [
23 service.format_name = function(patron_obj) {
24 var patron_name = ( patron_obj.prefix() ? patron_obj.prefix() + ' ' : '') +
25 patron_obj.family_name() + ', ' +
26 patron_obj.first_given_name() + ' ' +
27 ( patron_obj.second_given_name() ? patron_obj.second_given_name() + ' ' : '' ) +
28 ( patron_obj.suffix() ? patron_obj.suffix() : '');
32 service.get = function(userId, args) {
33 var deferred = $q.defer();
35 if (!userId) deferred.reject();
37 var fields = service.defaultFleshFields;
40 // overridde flesh fields
41 fields = args.useFields;
44 // append flesh fields
45 fields = fields.concat(args.addFields);
51 'open-ils.actor.user.fleshed.retrieve',
52 egAuth.token(), userId, fields).then(
54 if (user && user.classname == 'au') {
55 deferred.resolve(user);
57 deferred.reject(user);
62 return deferred.promise;
65 service.getByBarcode = function(barcode, args) {
68 'open-ils.pcrud.search.ac.atomic',
69 egAuth.token(), {barcode:barcode}
70 ).then( function(card) {
71 if (card && angular.isArray(card) && card[0] && card[0].classname == 'ac') {
72 return service.get(card[0].usr(), args)
74 return service.get(null);