[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
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 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |