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 : [
24 service.format_name = function(patron_obj) {
25 var patron_name = ( patron_obj.prefix() ? patron_obj.prefix() + ' ' : '') +
26 patron_obj.family_name() + ', ' +
27 patron_obj.first_given_name() + ' ' +
28 ( patron_obj.second_given_name() ? patron_obj.second_given_name() + ' ' : '' ) +
29 ( patron_obj.suffix() ? patron_obj.suffix() : '');
33 service.get = function(userId, args) {
34 var deferred = $q.defer();
36 if (!userId) deferred.reject();
38 var fields = service.defaultFleshFields;
41 // overridde flesh fields
42 fields = args.useFields;
45 // append flesh fields
46 fields = fields.concat(args.addFields);
52 'open-ils.actor.user.fleshed.retrieve',
53 egAuth.token(), userId, fields).then(
55 if (user && user.classname == 'au') {
56 deferred.resolve(user);
58 deferred.reject(user);
63 return deferred.promise;
66 service.getByBarcode = function(barcode, args) {
69 'open-ils.pcrud.search.ac.atomic',
70 egAuth.token(), {barcode:barcode}
71 ).then( function(card) {
72 if (card && angular.isArray(card) && card[0] && card[0].classname == 'ac') {
73 return service.get(card[0].usr(), args)
75 return service.get(null);