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 : [
25 service.format_name = function(patron_obj) {
26 var patron_name = ( patron_obj.prefix() ? patron_obj.prefix() + ' ' : '') +
27 patron_obj.family_name() + ', ' +
28 patron_obj.first_given_name() + ' ' +
29 ( patron_obj.second_given_name() ? patron_obj.second_given_name() + ' ' : '' ) +
30 ( patron_obj.suffix() ? patron_obj.suffix() : '');
34 service.get = function(userId, args) {
35 var deferred = $q.defer();
37 if (!userId) deferred.reject();
39 var fields = service.defaultFleshFields;
42 // overridde flesh fields
43 fields = args.useFields;
46 // append flesh fields
47 fields = fields.concat(args.addFields);
53 'open-ils.actor.user.fleshed.retrieve',
54 egAuth.token(), userId, fields).then(
56 if (user && user.classname == 'au') {
57 deferred.resolve(user);
59 deferred.reject(user);
64 return deferred.promise;
67 service.getByBarcode = function(barcode, args) {
70 'open-ils.pcrud.search.ac.atomic',
71 egAuth.token(), {barcode:barcode}
72 ).then( function(card) {
73 if (card && angular.isArray(card) && card[0] && card[0].classname == 'ac') {
74 return service.get(card[0].usr(), args)
76 return service.get(null);