[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 <?php 2 /*+********************************************************************************** 3 * The contents of this file are subject to the vtiger CRM Public License Version 1.1 4 * ("License"); You may not use this file except in compliance with the License 5 * The Original Code is: vtiger CRM Open Source 6 * The Initial Developer of the Original Code is vtiger. 7 * Portions created by vtiger are Copyright (C) vtiger. 8 * All Rights Reserved. 9 ************************************************************************************/ 10 11 class Vtiger_ProcessDuplicates_Action extends Vtiger_Action_Controller { 12 function checkPermission(Vtiger_Request $request) { 13 $module = $request->getModule(); 14 $records = $request->get('records'); 15 if($records) { 16 foreach($records as $record) { 17 $recordPermission = Users_Privileges_Model::isPermitted($module, 'EditView', $record); 18 if(!$recordPermission) { 19 throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); 20 } 21 } 22 } 23 } 24 25 function process (Vtiger_Request $request) { 26 $moduleName = $request->getModule(); 27 $moduleModel = Vtiger_Module_Model::getInstance($moduleName); 28 $records = $request->get('records'); 29 $primaryRecord = $request->get('primaryRecord'); 30 $primaryRecordModel = Vtiger_Record_Model::getInstanceById($primaryRecord, $moduleName); 31 32 $fields = $moduleModel->getFields(); 33 foreach($fields as $field) { 34 $fieldValue = $request->get($field->getName()); 35 if($field->isEditable()) { 36 $primaryRecordModel->set($field->getName(), $fieldValue); 37 } 38 } 39 $primaryRecordModel->set('mode', 'edit'); 40 $primaryRecordModel->save(); 41 42 $deleteRecords = array_diff($records, array($primaryRecord)); 43 foreach($deleteRecords as $deleteRecord) { 44 $recordPermission = Users_Privileges_Model::isPermitted($moduleName, 'Delete', $deleteRecord); 45 if($recordPermission) { 46 $primaryRecordModel->transferRelationInfoOfRecords(array($deleteRecord)); 47 $record = Vtiger_Record_Model::getInstanceById($deleteRecord); 48 $record->delete(); 49 } 50 } 51 52 $response = new Vtiger_Response(); 53 $response->setResult(true); 54 $response->emit(); 55 } 56 57 public function validateRequest(Vtiger_Request $request) { 58 $request->validateWriteAccess(); 59 } 60 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |