[ 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_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 }
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 |