예제 #1
0
 public function process(Vtiger_Request $request)
 {
     $currentUser = Users_Record_Model::getCurrentUserModel();
     $loggedUserId = $currentUser->get('id');
     $viewer = $this->getViewer($request);
     $moduleName = $request->getModule();
     $linkId = $request->get('linkid');
     $user = $request->get('user');
     $time = $request->get('time');
     if ($time == NULL) {
         $time['start'] = date('Y-m-d', strtotime("-1 week"));
         $time['end'] = date("Y-m-d");
     } else {
         // date parameters passed, convert them to YYYY-mm-dd
         $time['start'] = Vtiger_Functions::currentUserDisplayDate($time['start']);
         $time['end'] = Vtiger_Functions::currentUserDisplayDate($time['end']);
     }
     if ($user == NULL) {
         $user = $loggedUserId;
     }
     $moduleModel = Vtiger_Module_Model::getInstance($moduleName);
     $widget = Vtiger_Widget_Model::getInstance($linkId, $currentUser->getId());
     $selectedTimeTypes = $request->get('timeTypes');
     if ('' == $selectedTimeTypes) {
         $selectedTimeTypes = 'all';
     }
     $data = $moduleModel->getWidgetTimeControl($user, $time, $selectedTimeTypes);
     $listViewUrl = 'index.php?module=OSSTimeControl&view=List';
     for ($i = 0; $i < count($data['data']['days']); $i++) {
         $data['data'][$i]['links'] = $listViewUrl . $this->getSearchParams($user, $data['data']['days'][$i]);
     }
     $timeTypesPossibility = array('PLL_HOLIDAY_TIME' => 'holidayTime', 'PLL_BREAK_TIME' => 'breakTime', 'PLL_WORKING_TIME' => 'workTime');
     $viewer->assign('SELECTEDTIMETYPES', $selectedTimeTypes);
     $viewer->assign('TIMETYPEPOSSIBILITY', $timeTypesPossibility);
     $viewer->assign('CHARTEXIST', $data['chartExist']);
     $viewer->assign('TIMETYPESCOLORS', $data['colors']);
     $viewer->assign('WORKDAYS', $workDays);
     $viewer->assign('USERID', $user);
     $viewer->assign('DTIME', $time);
     $viewer->assign('DATA', $data['data']);
     $viewer->assign('WIDGET', $widget);
     $viewer->assign('MODULE_NAME', $moduleName);
     $viewer->assign('CURRENTUSER', $currentUser);
     $viewer->assign('LOGGEDUSERID', $loggedUserId);
     $content = $request->get('content');
     if (!empty($content)) {
         $viewer->view('dashboards/TimeControlContents.tpl', $moduleName);
     } else {
         $viewer->view('dashboards/TimeControl.tpl', $moduleName);
     }
 }
예제 #2
0
 public function process(Vtiger_Request $request)
 {
     $currentUser = Users_Record_Model::getCurrentUserModel();
     $loggedUserId = $currentUser->get('id');
     $viewer = $this->getViewer($request);
     $moduleName = $request->getModule();
     $linkId = $request->get('linkid');
     $user = $request->get('user');
     $time = $request->get('time');
     if ($time == NULL) {
         $time['start'] = date('Y-m-d', strtotime("-1 week"));
         $time['end'] = date("Y-m-d");
     } else {
         // date parameters passed, convert them to YYYY-mm-dd
         $time['start'] = Vtiger_Functions::currentUserDisplayDate($time['start']);
         $time['end'] = Vtiger_Functions::currentUserDisplayDate($time['end']);
     }
     if ($user == NULL) {
         $user = $loggedUserId;
     }
     $moduleModel = Vtiger_Module_Model::getInstance($moduleName);
     $widget = Vtiger_Widget_Model::getInstance($linkId, $currentUser->getId());
     $data = $this->getWidgetTimeControl($user, $time);
     $daysAmount = count($data['ticks']);
     $listViewUrl = 'index.php?module=OSSTimeControl&view=List';
     for ($i = 0; $i < $daysAmount; $i++) {
         $data['links'][$i][0] = $i;
         $data['links'][$i][1] = $listViewUrl . $this->getSearchParams($user, $data['days'][$i]);
     }
     $publicHolidays = Settings_PublicHoliday_Module_Model::getHolidayGroupType([$time['start'], $time['end']]);
     if ($publicHolidays) {
         foreach ($publicHolidays as $key => $value) {
             $upperCase = strtoupper($key);
             $viewer->assign($upperCase, $value);
         }
     }
     $TCPModuleModel = Settings_TimeControlProcesses_Module_Model::getCleanInstance();
     $viewer->assign('TCPMODULE_MODEL', $TCPModuleModel->getConfigInstance());
     $viewer->assign('USERID', $user);
     $viewer->assign('DTIME', $time);
     $viewer->assign('WORKDAYS', $data['workDays']);
     $viewer->assign('WORKEDDAYS', $data['daysWorked']);
     $viewer->assign('HOLIDAYDAYS', $data['holiayDays']);
     $viewer->assign('AVERAGEBREAKTIME', $data['sumBreakTime']);
     $viewer->assign('WORKINGDAYS', $data['workingDays']);
     $viewer->assign('WEEKENDDAYS', $data['weekends']);
     $viewer->assign('AVERAGEWORKTIME', $data['averageWorkingTime']);
     $viewer->assign('ALLDAYS', $data['allDays']);
     $viewer->assign('DATA', $data);
     $viewer->assign('WIDGET', $widget);
     $viewer->assign('MODULE_NAME', $moduleName);
     $viewer->assign('CURRENTUSER', $currentUser);
     $viewer->assign('LOGGEDUSERID', $loggedUserId);
     $content = $request->get('content');
     if (!empty($content)) {
         $viewer->view('dashboards/TimeControlContents.tpl', $moduleName);
     } else {
         $viewer->view('dashboards/TimeControl.tpl', $moduleName);
     }
 }
예제 #3
0
function getValidDisplayDate($cur_date_val)
{
    return Vtiger_Functions::currentUserDisplayDate($cur_date_val);
}