/** * @author MAK */ function vtws_deleteUser($id, $newOwnerId, $user) { global $log, $adb; $webserviceObject = VtigerWebserviceObject::fromId($adb, $id); $handlerPath = $webserviceObject->getHandlerPath(); $handlerClass = $webserviceObject->getHandlerClass(); require_once $handlerPath; $handler = new $handlerClass($webserviceObject, $user, $adb, $log); $meta = $handler->getMeta(); $entityName = $meta->getObjectEntityName($id); $types = vtws_listtypes($user); if (!in_array($entityName, $types['types'])) { throw new WebServiceException(WebServiceErrorCode::$ACCESSDENIED, "Permission to perform the operation is denied, EntityName = " . $entityName); } if ($entityName !== $webserviceObject->getEntityName()) { throw new WebServiceException(WebServiceErrorCode::$INVALIDID, "Id specified is incorrect"); } if (!$meta->hasPermission(EntityMeta::$DELETE, $id)) { throw new WebServiceException(WebServiceErrorCode::$ACCESSDENIED, "Permission to read given object is denied"); } $idComponents = vtws_getIdComponents($id); if (!$meta->exists($idComponents[1])) { throw new WebServiceException(WebServiceErrorCode::$RECORDNOTFOUND, "Record you are trying to access is not found, idComponent = " . $idComponents); } if ($meta->hasWriteAccess() !== true) { throw new WebServiceException(WebServiceErrorCode::$ACCESSDENIED, "Permission to write is denied"); } $newIdComponents = vtws_getIdComponents($newOwnerId); if (empty($newIdComponents[1])) { //force the default user to be the default admin user. //added cause eazybusiness team is sending this value empty $newIdComponents[1] = 1; } vtws_transferOwnership($idComponents[1], $newIdComponents[1]); //delete from user vtiger_table; $sql = "delete from vtiger_users where id=?"; vtws_runQueryAsTransaction($sql, array($idComponents[1]), $result); VTWS_PreserveGlobal::flush(); return array("status" => "successful"); }
function transformOwnerShipAndDelete($userId, $transformToUserId) { $adb = PearDatabase::getInstance(); $em = new VTEventsManager($adb); // Initialize Event trigger cache $em->initTriggerCache(); $entityData = VTEntityData::fromUserId($adb, $userId); //set transform user id $entityData->set('transformtouserid', $transformToUserId); $em->triggerEvent("vtiger.entity.beforedelete", $entityData); vtws_transferOwnership($userId, $transformToUserId); //updating the vtiger_users table; $sql = "UPDATE vtiger_users SET status=?,deleted=? where id=?"; $adb->pquery($sql, array('Inactive', true, $userId)); }
function transformOwnerShipAndDelete($userId, $transformToUserId) { $adb = PearDatabase::getInstance(); $em = new VTEventsManager($adb); // Initialize Event trigger cache $em->initTriggerCache(); $entityData = VTEntityData::fromUserId($adb, $userId); //set transform user id $entityData->set('transformtouserid', $transformToUserId); $em->triggerEvent("vtiger.entity.beforedelete", $entityData); vtws_transferOwnership($userId, $transformToUserId); //delete from user vtiger_table; $sql = "delete from vtiger_users where id=?"; $adb->pquery($sql, array($userId)); //Delete user extension in asterisk. $sql = "delete from vtiger_asteriskextensions where userid=?"; $adb->pquery($sql, array($userId)); }
<?php /*+******************************************************************************** * The contents of this file are subject to the vtiger CRM Public License Version 1.0 * ("License"); You may not use this file except in compliance with the License * The Original Code is: vtiger CRM Open Source * The Initial Developer of the Original Code is vtiger. * Portions created by vtiger are Copyright (C) vtiger. * All Rights Reserved. ********************************************************************************/ require_once 'include/Webservices/Utils.php'; global $adb; $del_id = $_REQUEST['delete_user_id']; $tran_id = $_REQUEST['transfer_user_id']; vtws_transferOwnership($del_id, $tran_id); //delete from user vtiger_table; $sql15 = "delete from vtiger_users where id=?"; $adb->pquery($sql15, array($del_id)); //if check to delete user from detail view if (isset($_REQUEST["ajax_delete"]) && $_REQUEST["ajax_delete"] == 'false') { header("Location: index.php?action=ListView&module=Users"); } else { header("Location: index.php?action=UsersAjax&module=Users&file=ListView&ajax=true"); }