[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Products/actions/ -> RelationAjax.php (source)

   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 Products_RelationAjax_Action extends Vtiger_RelationAjax_Action {
  12      
  13  	function __construct() {
  14          parent::__construct();
  15          $this->exposeMethod('addListPrice');
  16      }
  17      
  18      /*
  19       * Function to add relation for specified source record id and related record id list
  20       * @param <array> $request
  21       */
  22  	function addRelation($request) {
  23          $sourceModule = $request->getModule();
  24          $sourceRecordId = $request->get('src_record');
  25  
  26          $relatedModule = $request->get('related_module');
  27          $relatedRecordIdList = $request->get('related_record_list');
  28  
  29          $sourceModuleModel = Vtiger_Module_Model::getInstance($sourceModule);
  30          $relatedModuleModel = Vtiger_Module_Model::getInstance($relatedModule);
  31          $relationModel = Vtiger_Relation_Model::getInstance($sourceModuleModel, $relatedModuleModel);
  32          foreach($relatedRecordIdList as $relatedRecordId) {
  33              $relationModel->addRelation($sourceRecordId,$relatedRecordId,$listPrice);
  34              if($relatedModule == 'PriceBooks'){
  35                  $recordModel = Vtiger_Record_Model::getInstanceById($relatedRecordId);
  36                  if ($sourceRecordId && ($sourceModule === 'Products' || $sourceModule === 'Services')) {
  37                      $parentRecordModel = Vtiger_Record_Model::getInstanceById($sourceRecordId, $sourceModule);
  38                      $recordModel->updateListPrice($sourceRecordId, $parentRecordModel->get('unit_price'));
  39                  }
  40              }
  41          }        
  42      }
  43      
  44      /**
  45       * Function adds Products/Services-PriceBooks Relation
  46       * @param type $request
  47       */
  48  	function addListPrice($request) {
  49          $sourceModule = $request->getModule();
  50          $sourceRecordId = $request->get('src_record');
  51          $relatedModule =  $request->get('related_module');
  52          $relInfos = $request->get('relinfo');
  53  
  54          $sourceModuleModel = Vtiger_Module_Model::getInstance($sourceModule);
  55          $relatedModuleModel = Vtiger_Module_Model::getInstance($relatedModule);
  56          $relationModel = Vtiger_Relation_Model::getInstance($sourceModuleModel, $relatedModuleModel);
  57          foreach($relInfos as $relInfo) {
  58              $price = CurrencyField::convertToDBFormat($relInfo['price'], null, true);
  59              $relationModel->addListPrice($sourceRecordId, $relInfo['id'], $price);
  60          }
  61      }
  62      
  63  }
  64  ?>


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1