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 : [
26 service.format_name = function(patron_obj) {
27 var patron_name = ( patron_obj.prefix() ? patron_obj.prefix() + ' ' : '') +
28 patron_obj.family_name() + ', ' +
29 patron_obj.first_given_name() + ' ' +
30 ( patron_obj.second_given_name() ? patron_obj.second_given_name() + ' ' : '' ) +
31 ( patron_obj.suffix() ? patron_obj.suffix() : '');
35 service.get = function(userId, args) {
36 var deferred = $q.defer();
38 if (!userId) deferred.reject();
40 var fields = service.defaultFleshFields;
43 // overridde flesh fields
44 fields = args.useFields;
47 // append flesh fields
48 fields = fields.concat(args.addFields);
54 'open-ils.actor.user.fleshed.retrieve',
55 egAuth.token(), userId, fields).then(
57 if (user && user.classname == 'au') {
58 deferred.resolve(user);
60 deferred.reject(user);
65 return deferred.promise;
68 service.getByBarcode = function(barcode, args) {
71 'open-ils.pcrud.search.ac.atomic',
72 egAuth.token(), {barcode:barcode}
73 ).then( function(card) {
74 if (card && angular.isArray(card) && card[0] && card[0].classname == 'ac') {
75 return service.get(card[0].usr(), args)
77 return service.get(null);