[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Settings/LayoutEditor/actions/ -> Relation.php (source)

   1  <?php
   2  
   3  /*+**********************************************************************************
   4   * The contents of this file are subject to the vtiger CRM Public License Version 1.1
   5   * ("License"); You may not use this file except in compliance with the License
   6   * The Original Code is:  vtiger CRM Open Source
   7   * The Initial Developer of the Original Code is vtiger.
   8   * Portions created by vtiger are Copyright (C) vtiger.
   9   * All Rights Reserved.
  10   ************************************************************************************/
  11  
  12  class Settings_LayoutEditor_Relation_Action extends Settings_Vtiger_Index_Action {
  13      
  14      public function process(Vtiger_Request $request) {
  15          $relationInfo = $request->get('related_info');
  16          $updatedRelatedList = $relationInfo['updated'];
  17          $deletedRelatedList = $relationInfo['deleted'];
  18          if(empty($updatedRelatedList)) {
  19              $updatedRelatedList = array();
  20          }
  21          if(empty($deletedRelatedList)) {
  22              $deletedRelatedList = array();
  23          }
  24          $sourceModule = $request->get('sourceModule');
  25          $moduleModel = Vtiger_Module_Model::getInstance($sourceModule, false);
  26          $relationModulesList = Vtiger_Relation_Model::getAllRelations($moduleModel, false);
  27          $sequenceList = array();
  28          foreach($relationModulesList as $relationModuleModel) {
  29              $sequenceList[] = $relationModuleModel->get('sequence');
  30          }
  31          //To sort sequence in ascending order
  32          sort($sequenceList);
  33          $relationUpdateDetail = array();
  34          $index = 0;
  35          foreach($updatedRelatedList as $relatedId) {
  36              $relationUpdateDetail[] = array('relation_id' => $relatedId, 'sequence' => $sequenceList[$index++] , 'presence' => 0);
  37          }
  38          foreach($deletedRelatedList as $relatedId) {
  39              $relationUpdateDetail[] = array('relation_id'=> $relatedId, 'sequence' => $sequenceList[$index++], 'presence' => 1);
  40          }
  41          $response = new Vtiger_Response();
  42          try{
  43              $response->setResult(array('success'=> true));
  44              Vtiger_Relation_Model::updateRelationSequenceAndPresence($relationUpdateDetail, $moduleModel->getId());
  45          }
  46          catch(Exception $e) {
  47              $response->setError($e->getCode(), $e->getMessage());
  48          }
  49          $response->emit();
  50      }
  51      
  52      public function validateRequest(Vtiger_Request $request) { 
  53          $request->validateWriteAccess(); 
  54      } 
  55  }


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