$this->assign('hookContentPlacement', $contentPlacement);
}
- $communityMessages = CRM_Core_CommunityMessages::create();
- if ($communityMessages->isEnabled()) {
- $message = $communityMessages->pick();
- if ($message) {
- $this->assign('communityMessages', $communityMessages->evalMarkup($message['markup']));
- }
- }
+ $this->assign('communityMessages', $this->getCommunityMessageOutput());
- $loader = new Civi\Angular\AngularLoader();
+ $loader = Civi::service('angularjs.loader');
+ $loader->addModules('crmDashboard');
$loader->setPageName('civicrm/dashboard');
// For each dashlet that requires an angular directive, load the angular module which provides that directive
- $modules = [];
foreach (CRM_Core_BAO_Dashboard::getContactDashlets() as $dashlet) {
if (!empty($dashlet['directive'])) {
foreach ($loader->getAngular()->getModules() as $name => $module) {
if (!empty($module['exports'][$dashlet['directive']])) {
- $modules[] = $name;
+ $loader->addModules($name);
continue;
}
}
}
}
- $loader->setModules($modules);
-
- $loader->load();
return parent::run();
}
];
}
+ /**
+ * Get community message output.
+ *
+ * @return string
+ */
+ protected function getCommunityMessageOutput(): string {
+ $communityMessages = CRM_Core_CommunityMessages::create();
+ if ($communityMessages->isEnabled()) {
+ $message = $communityMessages->pick();
+ if ($message) {
+ return $communityMessages->evalMarkup($message['markup']);
+ }
+ }
+ return '';
+ }
+
}