public function preProcess(Vtiger_Request $request, $display = true) { if ($this->checkPermission($request)) { $currentUser = Users_Record_Model::getCurrentUserModel(); $viewer = $this->getViewer($request); $menuModelsList = Vtiger_Menu_Model::getAll(true); $selectedModule = $request->getModule(); $menuStructure = Vtiger_MenuStructure_Model::getInstanceFromMenuList($menuModelsList, $selectedModule); // Order by pre-defined automation process for QuickCreate. uksort($menuModelsList, array('Vtiger_MenuStructure_Model', 'sortMenuItemsByProcess')); $companyDetails = Vtiger_CompanyDetails_Model::getInstanceById(); $companyLogo = $companyDetails->getLogo(); $viewer->assign('CURRENTDATE', date('Y-n-j')); $viewer->assign('MODULE', $selectedModule); $viewer->assign('PARENT_MODULE', $request->get('parent')); $viewer->assign('VIEW', $request->get('view')); $viewer->assign('MENUS', $menuModelsList); $viewer->assign('MENU_STRUCTURE', $menuStructure); $viewer->assign('MENU_SELECTED_MODULENAME', $selectedModule); $viewer->assign('MENU_TOPITEMS_LIMIT', $menuStructure->getLimit()); $viewer->assign('COMPANY_LOGO', $companyLogo); $viewer->assign('USER_MODEL', $currentUser); $viewer->assign('SEARCHABLE_MODULES', Vtiger_Module_Model::getSearchableModules()); $homeModuleModel = Vtiger_Module_Model::getInstance('Home'); $viewer->assign('HOME_MODULE_MODEL', $homeModuleModel); $viewer->assign('HEADER_LINKS', $this->getHeaderLinks()); $viewer->assign('ANNOUNCEMENT', $this->getAnnouncement()); $viewer->assign('CURRENT_VIEW', $request->get('view')); $viewer->assign('PAGETITLE', $this->getPageTitle($request)); $viewer->assign('SCRIPTS', $this->getHeaderScripts($request)); $viewer->assign('STYLES', $this->getHeaderCss($request)); $viewer->assign('LANGUAGE_STRINGS', $this->getJSLanguageStrings($request)); $viewer->assign('SKIN_PATH', Vtiger_Theme::getCurrentUserThemePath()); $viewer->assign('IS_PREFERENCE', true); $viewer->assign('LANGUAGE', $currentUser->get('language')); $allUsers = Users_Record_Model::getAll(true); $sharedUsers = Calendar_Module_Model::getCaledarSharedUsers($currentUser->id); $sharedType = Calendar_Module_Model::getSharedType($currentUser->id); $viewer->assign('ALL_USERS', $allUsers); $viewer->assign('SHAREDUSERS', $sharedUsers); $viewer->assign('SHARED_TYPE', $sharedType); // OpenSaaS $OSSMenu = OSSMenuManager_Record_Model::getMenu(); $viewer->assign('MENU_STRUCTURE', $OSSMenu); // OpenSaaS if ($display) { $this->preProcessDisplay($request); } } }
public function preProcess(Vtiger_Request $request, $display = true) { if ($this->checkPermission($request)) { $currentUser = Users_Record_Model::getCurrentUserModel(); $viewer = $this->getViewer($request); $selectedModule = $request->getModule(); $companyDetails = Vtiger_CompanyDetails_Model::getInstanceById(); $companyLogo = $companyDetails->getLogo(); $currentDate = Vtiger_Date_UIType::getDisplayDateValue(date('Y-n-j')); $viewer->assign('CURRENTDATE', $currentDate); $viewer->assign('MODULE', $selectedModule); $viewer->assign('MODULE_NAME', $selectedModule); $viewer->assign('QUALIFIED_MODULE', $selectedModule); $viewer->assign('PARENT_MODULE', $request->get('parent')); $viewer->assign('MENUS', Vtiger_Menu_Model::getAll(true)); $viewer->assign('VIEW', $request->get('view')); $viewer->assign('COMPANY_LOGO', $companyLogo); $viewer->assign('USER_MODEL', $currentUser); $homeModuleModel = Vtiger_Module_Model::getInstance('Home'); $viewer->assign('HOME_MODULE_MODEL', $homeModuleModel); $viewer->assign('HEADER_LINKS', $this->getHeaderLinks()); $viewer->assign('ANNOUNCEMENT', $this->getAnnouncement()); $viewer->assign('SEARCHABLE_MODULES', Vtiger_Module_Model::getSearchableModules()); $viewer->assign('CHAT_ACTIVE', vtlib_isModuleActive('AJAXChat')); //Additional parameters $viewer->assign('CURRENT_VIEW', $request->get('view')); $viewer->assign('PAGETITLE', $this->getPageTitle($request)); $viewer->assign('FOOTER_SCRIPTS', $this->getFooterScripts($request)); $viewer->assign('STYLES', $this->getHeaderCss($request)); $viewer->assign('LANGUAGE_STRINGS', $this->getJSLanguageStrings($request)); $viewer->assign('SKIN_PATH', Vtiger_Theme::getCurrentUserThemePath()); $viewer->assign('IS_PREFERENCE', true); $viewer->assign('HTMLLANG', Vtiger_Language_Handler::getShortLanguageName()); $viewer->assign('LANGUAGE', $currentUser->get('language')); $allUsers = Users_Record_Model::getAll(true); $sharedUsers = Calendar_Module_Model::getCaledarSharedUsers($currentUser->id); $sharedType = Calendar_Module_Model::getSharedType($currentUser->id); $viewer->assign('ALL_USERS', $allUsers); $viewer->assign('SHAREDUSERS', $sharedUsers); $viewer->assign('SHARED_TYPE', $sharedType); $viewer->assign('HEADER_SCRIPTS', $this->getHeaderScripts($request)); if ($display) { $this->preProcessDisplay($request); } } }
public function getCalendarSettings(Vtiger_Request $request) { $viewer = $this->getViewer($request); $currentUserModel = Users_Record_Model::getCurrentUserModel(); $module = $request->getModule(); $detailViewModel = Vtiger_DetailView_Model::getInstance('Users', $currentUserModel->id); $userRecordStructure = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($detailViewModel->getRecord(), Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_EDIT); $recordStructure = $userRecordStructure->getStructure(); $allUsers = Users_Record_Model::getAll(true); $sharedUsers = Calendar_Module_Model::getCaledarSharedUsers($currentUserModel->id); $sharedType = Calendar_Module_Model::getSharedType($currentUserModel->id); $dayStartPicklistValues = Users_Record_Model::getDayStartsPicklistValues($recordStructure); $viewer->assign('CURRENTUSER_MODEL', $currentUserModel); $viewer->assign('SHAREDUSERS', $sharedUsers); $viewer->assign("DAY_STARTS", Zend_Json::encode($dayStartPicklistValues)); $viewer->assign('ALL_USERS', $allUsers); $viewer->assign('RECORD_STRUCTURE', $recordStructure); $viewer->assign('MODULE', $module); $viewer->assign('RECORD', $currentUserModel->id); $viewer->assign('SHAREDTYPE', $sharedType); $viewer->view('CalendarSettings.tpl', $request->getModule()); }
/** * Function to get the record model based on the request parameters * @param Vtiger_Request $request * @return Vtiger_Record_Model or Module specific Record Model instance */ public function getRecordModelFromRequest(Vtiger_Request $request) { $recordModel = parent::getRecordModelFromRequest($request); $startDate = $request->get('date_start'); if (!empty($startDate)) { //Start Date and Time values $startTime = Vtiger_Time_UIType::getTimeValueWithSeconds($request->get('time_start')); $startDate = Vtiger_Date_UIType::getDBInsertedValue($request->get('date_start')); if ($startTime) { $startDateTime = Vtiger_Datetime_UIType::getDBDateTimeValue($request->get('date_start') . " " . $startTime); list($startDate, $startTime) = explode(' ', $startDateTime); } $recordModel->set('date_start', $startDate); $recordModel->set('time_start', $startTime); } $endDate = $request->get('due_date'); if (!empty($endDate)) { //End Date and Time values $endTime = $request->get('time_end'); $endDate = Vtiger_Date_UIType::getDBInsertedValue($request->get('due_date')); if ($endTime) { $endTime = Vtiger_Time_UIType::getTimeValueWithSeconds($endTime); $endDateTime = Vtiger_Datetime_UIType::getDBDateTimeValue($request->get('due_date') . " " . $endTime); list($endDate, $endTime) = explode(' ', $endDateTime); } $recordModel->set('time_end', $endTime); $recordModel->set('due_date', $endDate); } $record = $request->get('record'); if (!$record) { $activityType = $request->get('activitytype'); $visibility = $request->get('visibility'); if (empty($activityType)) { $recordModel->set('activitytype', 'Task'); $visibility = 'Private'; $recordModel->set('visibility', $visibility); } } if (empty($visibility)) { $assignedUserId = $recordModel->get('assigned_user_id'); $sharedType = Calendar_Module_Model::getSharedType($assignedUserId); if ($sharedType == 'selectedusers') { $sharedType = 'public'; } $recordModel->set('visibility', ucfirst($sharedType)); } return $recordModel; }
/** * Function to get the record model based on the request parameters * @param Vtiger_Request $request * @return Vtiger_Record_Model or Module specific Record Model instance */ public function getRecordModelFromRequest(Vtiger_Request $request) { $recordModel = parent::getRecordModelFromRequest($request); $startDate = $request->get('date_start'); if (!empty($startDate)) { //Start Date and Time values $startTime = Vtiger_Time_UIType::getTimeValueWithSeconds($request->get('time_start')); $startDate = Vtiger_Date_UIType::getDBInsertedValue($request->get('date_start')); if ($startTime) { $startDateTime = Vtiger_Datetime_UIType::getDBDateTimeValue($request->get('date_start') . " " . $startTime); list($startDate, $startTime) = explode(' ', $startDateTime); } $recordModel->set('date_start', $startDate); $recordModel->set('time_start', $startTime); } $endDate = $request->get('due_date'); if (!empty($endDate)) { //End Date and Time values $endTime = $request->get('time_end'); $endDate = Vtiger_Date_UIType::getDBInsertedValue($request->get('due_date')); if ($endTime) { $endTime = Vtiger_Time_UIType::getTimeValueWithSeconds($endTime); $endDateTime = Vtiger_Datetime_UIType::getDBDateTimeValue($request->get('due_date') . " " . $endTime); list($endDate, $endTime) = explode(' ', $endDateTime); } $recordModel->set('time_end', $endTime); $recordModel->set('due_date', $endDate); } $record = $request->get('record'); if (!$record) { $activityType = $request->get('activitytype'); $visibility = $request->get('visibility'); if (empty($activityType)) { $recordModel->set('activitytype', 'Task'); $visibility = 'Private'; $recordModel->set('visibility', $visibility); } } if (empty($visibility)) { $assignedUserId = $recordModel->get('assigned_user_id'); $sharedType = Calendar_Module_Model::getSharedType($assignedUserId); if ($sharedType == 'selectedusers') { $sharedType = 'public'; } $recordModel->set('visibility', ucfirst($sharedType)); } $time = strtotime($endTime) - strtotime($startTime); $diffinSec = strtotime($endDate) - strtotime($startDate); $diff_days = floor($diffinSec / (60 * 60 * 24)); $hours = (double) $time / 3600 + $diff_days * 24; $minutes = ((double) $hours - (int) $hours) * 60; $recordModel->set('duration_hours', (int) $hours); $recordModel->set('duration_minutes', round($minutes, 0)); return $recordModel; }