* @see CRM_Utils_Hook::angularModules
*/
public function getAngularModules() {
+ // load angular files only if valid permissions are granted to the user
+ if (!CRM_Core_Permission::check('access CiviMail')
+ || !CRM_Core_Permission::check('create mailings')
+ || !CRM_Core_Permission::check('schedule mailings')
+ || !CRM_Core_Permission::check('approve mailings')
+ ) {
+ return array();
+ }
+
$result = array();
$result['crmMailing'] = array(
'ext' => 'civicrm',
'js' => array(
- 'js/angular-crmMailing.js',
- 'js/angular-crmMailing/*.js',
+ 'ang/crmMailing.js',
+ 'ang/crmMailing/*.js',
),
- 'css' => array('css/angular-crmMailing.css'),
- 'partials' => array('partials/crmMailing'),
+ 'css' => array('ang/crmMailing.css'),
+ 'partials' => array('ang/crmMailing'),
);
$result['crmMailingAB'] = array(
'ext' => 'civicrm',
'js' => array(
- 'js/angular-crmMailingAB.js',
- 'js/angular-crmMailingAB/*.js',
+ 'ang/crmMailingAB.js',
+ 'ang/crmMailingAB/*.js',
+ 'ang/crmMailingAB/*/*.js',
),
- 'css' => array('css/angular-crmMailingAB.css'),
- 'partials' => array('partials/crmMailingAB'),
+ 'css' => array('ang/crmMailingAB.css'),
+ 'partials' => array('ang/crmMailingAB'),
);
$result['crmD3'] = array(
'ext' => 'civicrm',
'js' => array(
- 'js/angular-crmD3.js',
+ 'ang/crmD3.js',
'bower_components/d3/d3.min.js',
),
);
$groupNames = civicrm_api3('Group', 'get', $params + array(
'is_active' => 1,
+ 'check_permissions' => TRUE,
'return' => array('title', 'visibility', 'group_type', 'is_hidden'),
));
$headerfooterList = civicrm_api3('MailingComponent', 'get', $params + array(
'contact_id' => $contactID,
));
- // FIXME: Loading the contents of every template into the dom does not scale well
$mesTemplate = civicrm_api3('MessageTemplate', 'get', $params + array(
'sequential' => 1,
'is_active' => 1,
- 'return' => array("msg_html", "id", "msg_title", "msg_subject", "msg_text"),
+ 'return' => array("id", "msg_title"),
'workflow_id' => array('IS NULL' => ""),
));
- $mailGrp = civicrm_api3('MailingGroup', 'get', $params);
$mailTokens = civicrm_api3('Mailing', 'gettokens', array(
'entity' => array('contact', 'mailing'),
'sequential' => 1,
));
$fromAddress = civicrm_api3('OptionValue', 'get', $params + array(
'option_group_id' => "from_email_address",
+ 'domain_id' => CRM_Core_Config::domainID(),
));
CRM_Core_Resources::singleton()
->addSetting(array(
'headerfooterList' => $headerfooterList['values'],
'mesTemplate' => $mesTemplate['values'],
'emailAdd' => $emailAdd['values'],
- 'mailGrp' => $mailGrp['values'],
'mailTokens' => $mailTokens['values'],
'contactid' => $contactID,
'requiredTokens' => CRM_Utils_Token::getRequiredTokens(),
'schedule mailings',
'approve mailings',
'delete in CiviMail',
+ 'edit message templates',
));
return $result;