]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/ui/default/staff/services/event.js
LP#1526185 Disable second toast on permfail
[working/Evergreen.git] / Open-ILS / web / js / ui / default / staff / services / event.js
1 /**
2  * Core Service - egEvent
3  *
4  * Models / tests event objects returned by many server APIs. 
5  * E.g.
6  * {
7  *  "stacktrace":"..."
8  *  "ilsevent":"1575",
9  *  "pid":"28258",
10  *  "desc":"The requested container_biblio_record_entry_bucket was not found",
11  *  "payload":"2",
12  *  "textcode":"CONTAINER_BIBLIO_RECORD_ENTRY_BUCKET_NOT_FOUND",
13  *  "servertime":"Wed Nov 6 16:05:50 2013"
14  * }
15  *
16  * var evt = egEvent.parse(thing);
17  * if (evt) console.error(evt);
18  *
19  */
20
21 angular.module('egCoreMod')
22
23 .factory('egEvent', function() {
24
25     return {
26         parse : function(thing) {
27
28             function EGEvent(args) {
29                 this.code = args.ilsevent;
30                 this.textcode = args.textcode;
31                 this.desc = args.desc;
32                 this.payload = args.payload;
33                 this.debug = args.stacktrace;
34                 this.servertime = args.servertime;
35                 this.ilsperm = args.ilsperm;
36                 this.ilspermloc = args.ilspermloc;
37                 this.note = args.note;
38                 this.success = this.textcode == 'SUCCESS';
39                 this.toString = function() {
40                     var s = 'Event: ' + (this.code || '') + ':' + 
41                         this.textcode + ' -> ' + new String(this.desc);
42                     if(this.ilsperm)
43                         s += ' ' + this.ilsperm + '@' + this.ilspermloc;
44                     if(this.note)
45                         s += '\n' + this.note;
46                     return s;
47                 }
48             }
49             
50             if(thing && typeof thing == 'object' && 'textcode' in thing)
51                 return new EGEvent(thing);
52             return null;
53         }
54     }
55 });
56