[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Users/views/ -> PreferenceEdit.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_PreferenceEdit_View extends Vtiger_Edit_View {
  12  
  13  	public function checkPermission(Vtiger_Request $request) {
  14          $moduleName = $request->getModule();
  15          $currentUserModel = Users_Record_Model::getCurrentUserModel();
  16          $record = $request->get('record');
  17          if (!empty($record) && $currentUserModel->get('id') != $record) {
  18              $recordModel = Vtiger_Record_Model::getInstanceById($record, $moduleName);
  19              if($recordModel->get('status') != 'Active') {
  20                  throw new AppException('LBL_PERMISSION_DENIED');
  21              }
  22          }
  23          if(($currentUserModel->isAdminUser() == true || $currentUserModel->get('id') == $record)) {
  24              return true;
  25          } else {
  26              throw new AppException('LBL_PERMISSION_DENIED');
  27          }
  28      }
  29  
  30  	function preProcessTplName(Vtiger_Request $request) {
  31          return 'UserEditViewPreProcess.tpl';
  32      }
  33  
  34  
  35  	public function preProcess (Vtiger_Request $request, $display=true) {
  36          if($this->checkPermission($request)) {
  37              $currentUser = Users_Record_Model::getCurrentUserModel();
  38              $viewer = $this->getViewer($request);
  39              $menuModelsList = Vtiger_Menu_Model::getAll(true);
  40              $selectedModule = $request->getModule();
  41              $menuStructure = Vtiger_MenuStructure_Model::getInstanceFromMenuList($menuModelsList, $selectedModule);
  42  
  43              // Order by pre-defined automation process for QuickCreate.
  44              uksort($menuModelsList, array('Vtiger_MenuStructure_Model', 'sortMenuItemsByProcess'));
  45  
  46              $companyDetails = Vtiger_CompanyDetails_Model::getInstanceById();
  47              $companyLogo = $companyDetails->getLogo();
  48  
  49              $viewer->assign('CURRENTDATE', date('Y-n-j'));
  50              $viewer->assign('MODULE', $selectedModule);
  51              $viewer->assign('PARENT_MODULE', $request->get('parent'));
  52              $viewer->assign('VIEW', $request->get('view'));
  53              $viewer->assign('MENUS', $menuModelsList);
  54              $viewer->assign('MENU_STRUCTURE', $menuStructure);
  55              $viewer->assign('MENU_SELECTED_MODULENAME', $selectedModule);
  56              $viewer->assign('MENU_TOPITEMS_LIMIT', $menuStructure->getLimit());
  57              $viewer->assign('COMPANY_LOGO',$companyLogo);
  58              $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel());
  59              $viewer->assign('SEARCHABLE_MODULES', Vtiger_Module_Model::getSearchableModules());
  60  
  61              $homeModuleModel = Vtiger_Module_Model::getInstance('Home');
  62              $viewer->assign('HOME_MODULE_MODEL', $homeModuleModel);
  63              $viewer->assign('HEADER_LINKS',$this->getHeaderLinks());
  64              $viewer->assign('ANNOUNCEMENT', $this->getAnnouncement());
  65  
  66              $viewer->assign('CURRENT_VIEW', $request->get('view'));
  67              $viewer->assign('PAGETITLE', $this->getPageTitle($request));
  68              $viewer->assign('SCRIPTS',$this->getHeaderScripts($request));
  69              $viewer->assign('STYLES',$this->getHeaderCss($request));
  70              $viewer->assign('LANGUAGE_STRINGS', $this->getJSLanguageStrings($request));
  71              $viewer->assign('SKIN_PATH', Vtiger_Theme::getCurrentUserThemePath());
  72              $viewer->assign('IS_PREFERENCE', true);
  73              $viewer->assign('LANGUAGE', $currentUser->get('language'));
  74              
  75              if($display) {
  76                  $this->preProcessDisplay($request);
  77              }
  78          }
  79      }
  80  
  81  	protected function preProcessDisplay(Vtiger_Request $request) {
  82          $viewer = $this->getViewer($request);
  83          $viewer->view($this->preProcessTplName($request), $request->getModule());
  84      }
  85  
  86  	public function process(Vtiger_Request $request) {
  87          $moduleName = $request->getModule();
  88          $recordId = $request->get('record');
  89  
  90          if (!empty($recordId)) {
  91              $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $moduleName);
  92          } else {
  93              $recordModel = Vtiger_Record_Model::getCleanInstance($moduleName);
  94          }
  95  
  96          $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_EDIT);
  97          $dayStartPicklistValues = Users_Record_Model::getDayStartsPicklistValues($recordStructureInstance->getStructure());
  98  
  99          $viewer = $this->getViewer($request);
 100          $viewer->assign("DAY_STARTS", Zend_Json::encode($dayStartPicklistValues));
 101          $viewer->assign('IMAGE_DETAILS', $recordModel->getImageDetails());
 102          $viewer->assign('TAG_CLOUD', $recordModel->getTagCloudStatus());
 103          $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel());
 104  
 105          parent::process($request);
 106      }
 107  
 108      public function getHeaderScripts(Vtiger_Request $request) {
 109          $headerScriptInstances = parent::getHeaderScripts($request);
 110          $moduleName = $request->getModule();
 111          $moduleDetailFile = 'modules.'.$moduleName.'.resources.PreferenceEdit';
 112          unset($headerScriptInstances[$moduleDetailFile]);
 113  
 114          $jsFileNames = array(
 115              "modules.Users.resources.Edit",
 116              'modules.'.$moduleName.'.resources.PreferenceEdit'
 117          );
 118  
 119          $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames);
 120          $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances);
 121          return $headerScriptInstances;
 122      }
 123  }


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