From 3cfa8e5ec29ae300a43de6a7ad1f8c1060f84b09 Mon Sep 17 00:00:00 2001 From: Eileen McNaughton Date: Sat, 23 Aug 2014 11:15:58 +1200 Subject: [PATCH] CRM-15168 Fix Dashboard test failure (not caused by this issue - but started failing off this issues commit) --- CRM/Core/BAO/Dashboard.php | 23 ++++++++++++++++++++--- api/v3/Dashboard.php | 27 +++++++++------------------ 2 files changed, 29 insertions(+), 21 deletions(-) diff --git a/CRM/Core/BAO/Dashboard.php b/CRM/Core/BAO/Dashboard.php index dce0e62e14..de6b98c8f0 100644 --- a/CRM/Core/BAO/Dashboard.php +++ b/CRM/Core/BAO/Dashboard.php @@ -37,6 +37,23 @@ * 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 @@ -407,6 +424,9 @@ class CRM_Core_BAO_Dashboard extends CRM_Core_DAO_Dashboard { $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; @@ -416,9 +436,6 @@ class CRM_Core_BAO_Dashboard extends CRM_Core_DAO_Dashboard { $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 diff --git a/api/v3/Dashboard.php b/api/v3/Dashboard.php index e17325e075..c4b111e9da 100644 --- a/api/v3/Dashboard.php +++ b/api/v3/Dashboard.php @@ -41,30 +41,21 @@ /** * Creates or updates an Dashlet. * - * @param array $params Associative array of property name/value + * @param array $params array of property name/value * pairs for the Dashlet. * * @return array Array containing 'is_error' to denote success or failure and details of the created activity * */ function civicrm_api3_dashboard_create($params) { - if (empty($params['id'])) { - civicrm_api3_verify_one_mandatory($params, - NULL, - array( - 'name', - 'label', - 'url', - 'fullscreen_url', - ) - ); - } - // create dashboard element - $dashboardBAO = CRM_Core_BAO_Dashboard::addDashlet($params); - if (isset($dashboardBAO->id)) { - _civicrm_api3_object_to_array($dashboardBAO, $dashboardArray[$dashboardBAO->id]); - return civicrm_api3_create_success($dashboardArray, $params, 'dashboard', 'create', $dashboardBAO); - } + civicrm_api3_verify_one_mandatory($params, NULL, array( + 'name', + 'label', + 'url', + 'fullscreen_url', + ) + ); + return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'Dashboard'); } /** -- 2.25.1