Example #1
0
/**
 * @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");
}
Example #2
0
 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));
 }
Example #3
0
 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));
 }
Example #4
0
<?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");
}