[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Users/views/ -> PreferenceDetail.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 Users_PreferenceDetail_View extends Vtiger_Detail_View {
  12  
  13  	public function checkPermission(Vtiger_Request $request) {
  14          $currentUserModel = Users_Record_Model::getCurrentUserModel();
  15          $record = $request->get('record');
  16  
  17          if($currentUserModel->isAdminUser() == true || $currentUserModel->get('id') == $record) {
  18              return true;
  19          } else {
  20              throw new AppException('LBL_PERMISSION_DENIED');
  21          }
  22      }
  23  
  24      /**
  25       * Function to returns the preProcess Template Name
  26       * @param <type> $request
  27       * @return <String>
  28       */
  29  	public function preProcessTplName(Vtiger_Request $request) {
  30          return 'PreferenceDetailViewPreProcess.tpl';
  31      }
  32  
  33      /**
  34       * Function shows basic detail for the record
  35       * @param <type> $request
  36       */
  37  	public function showModuleBasicView($request) {
  38          return $this->showModuleDetailView($request);
  39      }
  40  
  41  	public function preProcess(Vtiger_Request $request, $display=true) {
  42          if($this->checkPermission($request)) {
  43              $currentUser = Users_Record_Model::getCurrentUserModel();
  44              $recordId = $request->get('record');
  45              $moduleName = $request->getModule();
  46              $detailViewModel = Vtiger_DetailView_Model::getInstance($moduleName, $recordId);
  47              $recordModel = $detailViewModel->getRecord();
  48  
  49              $detailViewLinkParams = array('MODULE'=>$moduleName,'RECORD'=>$recordId);
  50              $detailViewLinks = $detailViewModel->getDetailViewLinks($detailViewLinkParams);
  51  
  52              $viewer = $this->getViewer($request);
  53              $viewer->assign('RECORD', $recordModel);
  54  
  55              $viewer->assign('MODULE_MODEL', $detailViewModel->getModule());
  56              $viewer->assign('DETAILVIEW_LINKS', $detailViewLinks);
  57  
  58              $viewer->assign('IS_EDITABLE', $detailViewModel->getRecord()->isEditable($moduleName));
  59              $viewer->assign('IS_DELETABLE', $detailViewModel->getRecord()->isDeletable($moduleName));
  60  
  61              $linkParams = array('MODULE'=>$moduleName, 'ACTION'=>$request->get('view'));
  62              $linkModels = $detailViewModel->getSideBarLinks($linkParams);
  63              $viewer->assign('QUICK_LINKS', $linkModels);
  64              $viewer->assign('PAGETITLE', $this->getPageTitle($request));
  65              $viewer->assign('SCRIPTS',$this->getHeaderScripts($request));
  66              $viewer->assign('STYLES',$this->getHeaderCss($request));
  67              $viewer->assign('LANGUAGE_STRINGS', $this->getJSLanguageStrings($request));
  68              $viewer->assign('SEARCHABLE_MODULES', Vtiger_Module_Model::getSearchableModules());
  69  
  70              $menuModelsList = Vtiger_Menu_Model::getAll(true);
  71              $selectedModule = $request->getModule();
  72              $menuStructure = Vtiger_MenuStructure_Model::getInstanceFromMenuList($menuModelsList, $selectedModule);
  73  
  74              // Order by pre-defined automation process for QuickCreate.
  75              uksort($menuModelsList, array('Vtiger_MenuStructure_Model', 'sortMenuItemsByProcess'));
  76  
  77              $companyDetails = Vtiger_CompanyDetails_Model::getInstanceById();
  78              $companyLogo = $companyDetails->getLogo();
  79  
  80              $viewer->assign('CURRENTDATE', date('Y-n-j'));
  81              $viewer->assign('MODULE', $selectedModule);
  82              $viewer->assign('PARENT_MODULE', $request->get('parent'));
  83              $viewer->assign('VIEW', $request->get('view'));
  84              $viewer->assign('MENUS', $menuModelsList);
  85              $viewer->assign('MENU_STRUCTURE', $menuStructure);
  86              $viewer->assign('MENU_SELECTED_MODULENAME', $selectedModule);
  87              $viewer->assign('MENU_TOPITEMS_LIMIT', $menuStructure->getLimit());
  88              $viewer->assign('COMPANY_LOGO',$companyLogo);
  89              $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel());
  90  
  91              $homeModuleModel = Vtiger_Module_Model::getInstance('Home');
  92              $viewer->assign('HOME_MODULE_MODEL', $homeModuleModel);
  93              $viewer->assign('HEADER_LINKS',$this->getHeaderLinks());
  94              $viewer->assign('ANNOUNCEMENT', $this->getAnnouncement());
  95              $viewer->assign('CURRENT_VIEW', $request->get('view'));
  96              $viewer->assign('SKIN_PATH', Vtiger_Theme::getCurrentUserThemePath());
  97              $viewer->assign('LANGUAGE', $currentUser->get('language'));
  98  
  99              if($display) {
 100                  $this->preProcessDisplay($request);
 101              }
 102          }
 103      }
 104  
 105  	protected function preProcessDisplay(Vtiger_Request $request) {
 106          $viewer = $this->getViewer($request);
 107          $viewer->view($this->preProcessTplName($request), $request->getModule());
 108      }
 109  
 110  	public function process(Vtiger_Request $request) {
 111          $recordId = $request->get('record');
 112          $moduleName = $request->getModule();
 113  
 114          $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $moduleName);
 115  
 116          $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_EDIT);
 117  
 118          $dayStartPicklistValues = Users_Record_Model::getDayStartsPicklistValues($recordStructureInstance->getStructure());
 119  
 120          $viewer = $this->getViewer($request);
 121          $viewer->assign("DAY_STARTS", Zend_Json::encode($dayStartPicklistValues));
 122          $viewer->assign('IMAGE_DETAILS', $recordModel->getImageDetails());
 123  
 124          return parent::process($request);
 125      }
 126  
 127      public function getHeaderScripts(Vtiger_Request $request) {
 128          $headerScriptInstances = parent::getHeaderScripts($request);
 129          $moduleName = $request->getModule();
 130          $moduleDetailFile = 'modules.'.$moduleName.'.resources.PreferenceDetail';
 131          unset($headerScriptInstances[$moduleDetailFile]);
 132  
 133          $jsFileNames = array(
 134                          "modules.Users.resources.Detail",
 135                          'modules.'.$moduleName.'.resources.PreferenceDetail',
 136                          'modules.'.$moduleName.'.resources.PreferenceEdit'
 137          );
 138  
 139          $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames);
 140          $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances);
 141          return $headerScriptInstances;
 142      }
 143  }


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