case 'delete_dashlet':
$dashletID = CRM_Utils_Type::escape($_REQUEST['dashlet_id'], 'Positive');
- CRM_Core_BAO_Dashboard::deleteDashlet($dashletID);
+ CRM_Core_DAO_Dashboard::deleteRecord(['id' => $dashletID]);
}
CRM_Utils_System::civiExit();
$dashlet = new CRM_Core_DAO_Dashboard();
if (!$dashboardID) {
-
// Assign domain before search to allow identical dashlets in different domains.
- if (empty($params['domain_id'])) {
- $dashlet->domain_id = CRM_Core_Config::domainID();
- }
- else {
- $dashlet->domain_id = $params['domain_id'] ?? NULL;
- }
+ $dashlet->domain_id = $params['domain_id'] ?? CRM_Core_Config::domainID();
// Try and find an existing dashlet - it will be updated if found.
- if (!empty($params['name'])) {
+ if (!empty($params['name']) || !empty($params['url'])) {
$dashlet->name = $params['name'] ?? NULL;
- $dashlet->find(TRUE);
- }
- else {
$dashlet->url = $params['url'] ?? NULL;
$dashlet->find(TRUE);
}
-
}
else {
$dashlet->id = $dashboardID;
}
/**
- * Delete Dashlet.
- *
+ * @deprecated
* @param int $dashletID
- *
* @return bool
*/
public static function deleteDashlet($dashletID) {
- $dashlet = new CRM_Core_DAO_Dashboard();
- $dashlet->id = $dashletID;
- if (!$dashlet->find(TRUE)) {
+ CRM_Core_Error::deprecatedFunctionWarning('CRM_Core_DAO_Dashboard::deleteRecord');
+ try {
+ CRM_Core_DAO_Dashboard::deleteRecord(['id' => $dashletID]);
+ }
+ catch (CRM_Core_Exception $e) {
return FALSE;
}
- $dashlet->delete();
return TRUE;
}
* Array holding 'id' of dashlet to be deleted.
* @return array
* @throws API_Exception
+ * @throws CiviCRM_API3_Exception
*/
function civicrm_api3_dashboard_delete($params) {
- if (CRM_Core_BAO_Dashboard::deleteDashlet($params['id'])) {
- return civicrm_api3_create_success(1, $params, 'Dashboard', 'delete');
- }
- else {
- throw new API_Exception('Could not delete dashlet');
- }
+ return _civicrm_api3_basic_delete(_civicrm_api3_get_BAO(__FUNCTION__), $params);
}