Merge remote-tracking branch 'upstream/4.6' into 4.6-master-2015-10-19-19-40-00
[civicrm-core.git] / ang / crmStatusPage / StatusPageServices.js
1 (function(angular, $, _) {
2
3 /**
4 * get status messages
5 * build snooze options object reconciled with preferences
6 *
7 */
8 angular.module('statuspage').service('statuspageStatusModel', function(crmApi, statuspageGetStatuses, statuspageGetPreferences){
9 return function() {
10 var statusModel = {
11 hushed: false,
12 getStatuses: statuspageGetStatuses,
13 getPreferences: statuspageGetPreferences,
14 };
15 statusModel.statuses = statusModel
16 .getStatuses(statusModel.hushed)
17 .then(function(result){
18 result.preferences = statuspageGetPreferences();
19 return result;
20 });
21 };
22 });
23
24 angular.module('statuspage').service('statuspageGetStatuses', function(crmApi, statuspageSeverityList) {
25 return function(apiFilter) {
26 return crmApi('System', 'check', apiFilter)
27 .catch(function(obj){console.log(obj);})
28 .then(function(apiResults){
29 _.each(apiResults.values, function(status){
30 status.severity_id = status.severity;
31 status.severity = statuspageSeverityList[status.severity];
32 status.displayTitle = status.name+' - '+status.title +' - '+status.severity.toUpperCase();
33 status.snoozeOptions = {
34 show: false,
35 severity: status.severity
36 };
37 });
38 return apiResults;
39 });
40 };
41 });
42
43 angular.module('statuspage').service('statuspageGetPreferences', function(crmApi) {
44 return function() {
45 return crmApi('StatusPreference', 'get')
46 .then(function(apiResults) {
47 _.each(apiResults.values, function(pref){
48 pref.snoozeOptions = {
49 severity: pref.ignore_severity
50 };
51 });
52 return apiResults;
53 });
54 };
55 });
56
57
58 angular.module('statuspage').filter('trusted', function($sce){ return $sce.trustAsHtml; });
59
60 angular.module('statuspage').service('statuspageSeverityList', function() {
61 return ['debug', 'info', 'notice', 'warning', 'error', 'critical', 'alert', 'emergency'];
62 });
63
64 })(angular, CRM.$, CRM._);