[ 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.0 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 Campaigns_RelationAjax_Action extends Vtiger_RelationAjax_Action { 12 13 public function __construct() { 14 parent::__construct(); 15 $this->exposeMethod('addRelationsFromRelatedModuleViewId'); 16 $this->exposeMethod('updateStatus'); 17 } 18 19 /** 20 * Function to add relations using related module viewid 21 * @param Vtiger_Request $request 22 */ 23 public function addRelationsFromRelatedModuleViewId(Vtiger_Request $request) { 24 $sourceRecordId = $request->get('sourceRecord'); 25 $relatedModuleName = $request->get('relatedModule'); 26 27 $viewId = $request->get('viewId'); 28 if ($viewId) { 29 $sourceModuleModel = Vtiger_Module_Model::getInstance($request->getModule()); 30 $relatedModuleModel = Vtiger_Module_Model::getInstance($relatedModuleName); 31 32 $relationModel = Vtiger_Relation_Model::getInstance($sourceModuleModel, $relatedModuleModel); 33 $emailEnabledModulesInfo = $relationModel->getEmailEnabledModulesInfoForDetailView(); 34 35 if (array_key_exists($relatedModuleName, $emailEnabledModulesInfo)) { 36 $fieldName = $emailEnabledModulesInfo[$relatedModuleName]['fieldName']; 37 38 $db = PearDatabase::getInstance(); 39 $currentUserModel = Users_Record_Model::getCurrentUserModel(); 40 41 $queryGenerator = new QueryGenerator($relatedModuleName, $currentUserModel); 42 $queryGenerator->initForCustomViewById($viewId); 43 44 $query = $queryGenerator->getQuery(); 45 $result = $db->pquery($query, array()); 46 47 $numOfRows = $db->num_rows($result); 48 for ($i=0; $i<$numOfRows; $i++) { 49 $relatedRecordIdsList[] = $db->query_result($result, $i, $fieldName); 50 } 51 if(empty($relatedRecordIdsList)){ 52 $response = new Vtiger_Response(); 53 $response->setResult(array(false)); 54 $response->emit(); 55 } else{ 56 foreach($relatedRecordIdsList as $relatedRecordId) { 57 $relationModel->addRelation($sourceRecordId, $relatedRecordId); 58 } 59 } 60 } 61 } 62 } 63 64 /** 65 * Function to update Relation status 66 * @param Vtiger_Request $request 67 */ 68 public function updateStatus(Vtiger_Request $request) { 69 $relatedModuleName = $request->get('relatedModule'); 70 $relatedRecordId = $request->get('relatedRecord'); 71 $status = $request->get('status'); 72 $response = new Vtiger_Response(); 73 74 if ($relatedRecordId && $status && $status < 5) { 75 $sourceModuleModel = Vtiger_Module_Model::getInstance($request->getModule()); 76 $relatedModuleModel = Vtiger_Module_Model::getInstance($relatedModuleName); 77 78 $relationModel = Vtiger_Relation_Model::getInstance($sourceModuleModel, $relatedModuleModel); 79 $relationModel->updateStatus($request->get('sourceRecord'), array($relatedRecordId => $status)); 80 81 $response->setResult(array(true)); 82 } else { 83 $response->setError($code); 84 } 85 $response->emit(); 86 } 87 }
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 |