Files
crm.clientright.ru/modules/Documents/views/DeleteAjax.php

54 lines
2.1 KiB
PHP

<?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.
*************************************************************************************/
class Documents_DeleteAjax_View extends Vtiger_IndexAjax_View {
public function process(Vtiger_Request $request) {
$record = $request->get('record');
$moduleName = $request->getModule();
// Логируем запрос на удаление
$logstring = date('Y-m-d H:i:s').' DELETE DOCUMENT REQUEST: record='.$record.', module='.$moduleName.PHP_EOL;
file_put_contents('debug.log', $logstring, FILE_APPEND);
// Получаем модель записи
$recordModel = Documents_Record_Model::getInstanceById($record);
if(!$recordModel) {
$logstring = date('Y-m-d H:i:s').' DELETE DOCUMENT ERROR: Record not found, ID='.$record.PHP_EOL;
file_put_contents('debug.log', $logstring, FILE_APPEND);
$response = new Vtiger_Response();
$response->setError('Record not found');
$response->emit();
return;
}
// Удаляем документ (без проверки прав - любой может удалить)
try {
$recordModel->delete();
$logstring = date('Y-m-d H:i:s').' DELETE DOCUMENT SUCCESS: ID='.$record.PHP_EOL;
file_put_contents('debug.log', $logstring, FILE_APPEND);
$response = new Vtiger_Response();
$response->setResult(array('success' => true));
$response->emit();
} catch (Exception $e) {
$logstring = date('Y-m-d H:i:s').' DELETE DOCUMENT ERROR: '.$e->getMessage().', ID='.$record.PHP_EOL;
file_put_contents('debug.log', $logstring, FILE_APPEND);
$response = new Vtiger_Response();
$response->setError('Failed to delete document: ' . $e->getMessage());
$response->emit();
}
}
}