(function (angular, $, _) {
angular.module('crmUtil', []);
- // usage:
- // crmApi('Entity', 'action', {...}).then(function(apiResult){...})
+ // Angular implementation of CRM.api3
+ // @link http://wiki.civicrm.org/confluence/display/CRMDOC/AJAX+Interface#AJAXInterface-CRM.api3
//
// Note: To mock API results in unit-tests, override crmApi.backend, e.g.
// var apiSpy = jasmine.createSpy('crmApi');
var deferred = $q.defer();
var p;
var backend = crmApi.backend || CRM.api3;
+ if (params && params.body_html) {
+ // CRM-18474 - remove Unicode Character 'LINE SEPARATOR' (U+2028)
+ // and 'PARAGRAPH SEPARATOR' (U+2029) from the html if present.
+ params.body_html = params.body_html.replace(/([\u2028]|[\u2029])/g, '\n');
+ }
if (_.isObject(entity)) {
// eval content is locally generated.
/*jshint -W061 */
- p = backend(eval('('+angular.toJson(entity)+')'), message);
+ p = backend(eval('('+angular.toJson(entity)+')'), action);
} else {
// eval content is locally generated.
/*jshint -W061 */