* Class contains Contact dashboard related functions
*/
class CRM_Core_BAO_Dashboard extends CRM_Core_DAO_Dashboard {
+ /**
+ * function to add Dashboard
+ *
+ * @param array $params values
+ *
+ * @access public
+ * @static
+ *
+ * @return object
+ */
+ static function create($params) {
+ $hook = empty($params['id']) ? 'create' : 'edit';
+ CRM_Utils_Hook::pre($hook, 'Dashboard', CRM_Utils_Array::value('id', $params), $params);
+ $dao = self::addDashlet($params);
+ CRM_Utils_Hook::post($hook, 'Dashboard', $dao->id, $dao);
+ return $dao;
+ }
/**
* Get the list of dashlets enabled by admin
*/
static function addDashlet(&$params) {
- // special case to handle duplicate entires for report instances
+ // special case to handle duplicate entries for report instances
$dashboardID = CRM_Utils_Array::value('id', $params);
if (!empty($params['instanceURL'])) {
$dashlet->url = CRM_Utils_Array::value('url', $params);
$dashlet->find(TRUE);
}
+ if (empty($params['domain_id'])) {
+ $dashlet->domain_id = CRM_Core_Config::domainID();
+ }
}
else {
$dashlet->id = $dashboardID;
$params['permission'] = implode(',', $params['permission']);
}
$dashlet->copyValues($params);
-
- $dashlet->domain_id = CRM_Core_Config::domainID();
-
$dashlet->save();
// now we need to make dashlet entries for each contact