[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Vtiger/views/ -> QuickCreateAjax.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 Vtiger_QuickCreateAjax_View extends Vtiger_IndexAjax_View {
  12  
  13  	public function checkPermission(Vtiger_Request $request) {
  14          $moduleName = $request->getModule();
  15  
  16          if (!(Users_Privileges_Model::isPermitted($moduleName, 'EditView'))) {
  17              throw new AppException(vtranslate('LBL_PERMISSION_DENIED', $moduleName));
  18          }
  19      }
  20  
  21  	public function process(Vtiger_Request $request) {
  22          $moduleName = $request->getModule();
  23  
  24          $recordModel = Vtiger_Record_Model::getCleanInstance($moduleName);
  25          $moduleModel = $recordModel->getModule();
  26          
  27          $fieldList = $moduleModel->getFields();
  28          $requestFieldList = array_intersect_key($request->getAll(), $fieldList);
  29  
  30          foreach($requestFieldList as $fieldName => $fieldValue){
  31              $fieldModel = $fieldList[$fieldName];
  32              if($fieldModel->isEditable()) {
  33                  $recordModel->set($fieldName, $fieldModel->getDBInsertValue($fieldValue));
  34              }
  35          }
  36  
  37          $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_QUICKCREATE);
  38          $picklistDependencyDatasource = Vtiger_DependencyPicklist::getPicklistDependencyDatasource($moduleName);
  39  
  40          $viewer = $this->getViewer($request);
  41          $viewer->assign('PICKIST_DEPENDENCY_DATASOURCE',Zend_Json::encode($picklistDependencyDatasource));
  42          $viewer->assign('CURRENTDATE', date('Y-n-j'));
  43          $viewer->assign('MODULE', $moduleName);
  44          $viewer->assign('SINGLE_MODULE', 'SINGLE_'.$moduleName);
  45          $viewer->assign('MODULE_MODEL', $moduleModel);
  46          $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance);
  47          $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure());
  48          $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel());
  49          
  50          $viewer->assign('SCRIPTS', $this->getHeaderScripts($request));
  51          
  52          $viewer->assign('MAX_UPLOAD_LIMIT_MB', Vtiger_Util_Helper::getMaxUploadSize());
  53          $viewer->assign('MAX_UPLOAD_LIMIT', vglobal('upload_maxsize'));
  54          echo $viewer->view('QuickCreate.tpl',$moduleName,true);
  55  
  56      }
  57      
  58      
  59  	public function getHeaderScripts(Vtiger_Request $request) {
  60          
  61          $moduleName = $request->getModule();
  62          
  63          $jsFileNames = array(
  64              "modules.$moduleName.resources.Edit"
  65          );
  66  
  67          $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames);
  68          return $jsScriptInstances;
  69      }
  70          
  71          public function validateRequest(Vtiger_Request $request) { 
  72              $request->validateWriteAccess(); 
  73          } 
  74  }


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