|
|
@ -30,10 +30,8 @@ class AttendanceController |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public function attendance_list() |
|
|
|
public function attendance_list() |
|
|
|
{ |
|
|
|
{ |
|
|
|
$data = array(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// render to the view |
|
|
|
// render to the view |
|
|
|
$this->view->set_data($data); |
|
|
|
$this->view->set_data([]); |
|
|
|
$this->view->set_layout('layout'); |
|
|
|
$this->view->set_layout('layout'); |
|
|
|
$this->view->set_template('attendance_list'); |
|
|
|
$this->view->set_template('attendance_list'); |
|
|
|
$this->view->render(); |
|
|
|
$this->view->render(); |
|
|
@ -264,8 +262,12 @@ class AttendanceController |
|
|
|
* @param int $student_id |
|
|
|
* @param int $student_id |
|
|
|
* @param bool $edit |
|
|
|
* @param bool $edit |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public function attendance_sheet($action, $attendance_id, $student_id = 0, $edit = true) |
|
|
|
public function attendance_sheet( |
|
|
|
{ |
|
|
|
$action, |
|
|
|
|
|
|
|
$attendance_id, |
|
|
|
|
|
|
|
$student_id = 0, |
|
|
|
|
|
|
|
$edit = true |
|
|
|
|
|
|
|
) { |
|
|
|
$attendance = new Attendance(); |
|
|
|
$attendance = new Attendance(); |
|
|
|
$data = array(); |
|
|
|
$data = array(); |
|
|
|
$data['attendance_id'] = $attendance_id; |
|
|
|
$data['attendance_id'] = $attendance_id; |
|
|
@ -284,7 +286,11 @@ class AttendanceController |
|
|
|
|
|
|
|
|
|
|
|
if ($edit == true) { |
|
|
|
if ($edit == true) { |
|
|
|
if (api_is_allowed_to_edit(null, true) || $isDrhOfCourse) { |
|
|
|
if (api_is_allowed_to_edit(null, true) || $isDrhOfCourse) { |
|
|
|
$data['users_presence'] = $attendance->get_users_attendance_sheet($attendance_id, 0, $groupId); |
|
|
|
$data['users_presence'] = $attendance->get_users_attendance_sheet( |
|
|
|
|
|
|
|
$attendance_id, |
|
|
|
|
|
|
|
0, |
|
|
|
|
|
|
|
$groupId |
|
|
|
|
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
if (!empty($student_id)) { |
|
|
|
if (!empty($student_id)) { |
|
|
@ -297,17 +303,29 @@ class AttendanceController |
|
|
|
api_is_coach(api_get_session_id(), api_get_course_int_id()) || |
|
|
|
api_is_coach(api_get_session_id(), api_get_course_int_id()) || |
|
|
|
$isDrhOfCourse |
|
|
|
$isDrhOfCourse |
|
|
|
) { |
|
|
|
) { |
|
|
|
$data['users_presence'] = $attendance->get_users_attendance_sheet($attendance_id, 0, $groupId); |
|
|
|
$data['users_presence'] = $attendance->get_users_attendance_sheet( |
|
|
|
|
|
|
|
$attendance_id, |
|
|
|
|
|
|
|
0, |
|
|
|
|
|
|
|
$groupId |
|
|
|
|
|
|
|
); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
$data['users_presence'] = $attendance->get_users_attendance_sheet($attendance_id, $user_id, $groupId); |
|
|
|
$data['users_presence'] = $attendance->get_users_attendance_sheet( |
|
|
|
|
|
|
|
$attendance_id, |
|
|
|
|
|
|
|
$user_id, |
|
|
|
|
|
|
|
$groupId |
|
|
|
|
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$data['faults'] = $attendance->get_faults_of_user($user_id, $attendance_id, $groupId); |
|
|
|
$data['faults'] = $attendance->get_faults_of_user($user_id, $attendance_id, $groupId); |
|
|
|
$data['user_id'] = $user_id; |
|
|
|
$data['user_id'] = $user_id; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$data['next_attendance_calendar_id'] = $attendance->get_next_attendance_calendar_id($attendance_id); |
|
|
|
$data['next_attendance_calendar_id'] = $attendance->get_next_attendance_calendar_id( |
|
|
|
$data['next_attendance_calendar_datetime'] = $attendance->get_next_attendance_calendar_datetime($attendance_id); |
|
|
|
$attendance_id |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
$data['next_attendance_calendar_datetime'] = $attendance->get_next_attendance_calendar_datetime( |
|
|
|
|
|
|
|
$attendance_id |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST') { |
|
|
|
if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST') { |
|
|
|
if (isset($_POST['hidden_input'])) { |
|
|
|
if (isset($_POST['hidden_input'])) { |
|
|
@ -375,7 +393,8 @@ class AttendanceController |
|
|
|
if (isset($_POST['repeat'])) { |
|
|
|
if (isset($_POST['repeat'])) { |
|
|
|
//@todo check this error_logs |
|
|
|
//@todo check this error_logs |
|
|
|
$start_datetime = api_strtotime( |
|
|
|
$start_datetime = api_strtotime( |
|
|
|
api_get_utc_datetime($_POST['date_time']), 'UTC' |
|
|
|
api_get_utc_datetime($_POST['date_time']), |
|
|
|
|
|
|
|
'UTC' |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
$end_datetime = api_strtotime(api_get_utc_datetime($_POST['end_date_time'].' 23:59:59'), 'UTC'); |
|
|
|
$end_datetime = api_strtotime(api_get_utc_datetime($_POST['end_date_time'].' 23:59:59'), 'UTC'); |
|
|
@ -459,10 +478,14 @@ class AttendanceController |
|
|
|
* @param string $action |
|
|
|
* @param string $action |
|
|
|
* @param int $attendance_id |
|
|
|
* @param int $attendance_id |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public function attendance_sheet_export_to_pdf($action, $attendance_id, $student_id = 0, $course_id = '') |
|
|
|
public function attendance_sheet_export_to_pdf( |
|
|
|
{ |
|
|
|
$action, |
|
|
|
|
|
|
|
$attendance_id, |
|
|
|
|
|
|
|
$student_id = 0, |
|
|
|
|
|
|
|
$course_id = '' |
|
|
|
|
|
|
|
) { |
|
|
|
$attendance = new Attendance(); |
|
|
|
$attendance = new Attendance(); |
|
|
|
$courseInfo = CourseManager::get_course_information($course_id); |
|
|
|
$courseInfo = api_get_course_info($course_id); |
|
|
|
$attendance->set_course_id($courseInfo['code']); |
|
|
|
$attendance->set_course_id($courseInfo['code']); |
|
|
|
$groupId = isset($_REQUEST['group_id']) ? $_REQUEST['group_id'] : null; |
|
|
|
$groupId = isset($_REQUEST['group_id']) ? $_REQUEST['group_id'] : null; |
|
|
|
$data_array = array(); |
|
|
|
$data_array = array(); |
|
|
@ -504,7 +527,7 @@ class AttendanceController |
|
|
|
$data_array['next_attendance_calendar_id'] = $attendance->get_next_attendance_calendar_id($attendance_id); |
|
|
|
$data_array['next_attendance_calendar_id'] = $attendance->get_next_attendance_calendar_id($attendance_id); |
|
|
|
|
|
|
|
|
|
|
|
// Set headers pdf. |
|
|
|
// Set headers pdf. |
|
|
|
$courseCategory = CourseManager::get_course_category($courseInfo['category_code']); |
|
|
|
$courseCategory = CourseManager::get_course_category($courseInfo['categoryCode']); |
|
|
|
$teacherInfo = CourseManager::get_teacher_list_from_course_code($courseInfo['code']); |
|
|
|
$teacherInfo = CourseManager::get_teacher_list_from_course_code($courseInfo['code']); |
|
|
|
$teacherName = null; |
|
|
|
$teacherName = null; |
|
|
|
foreach ($teacherInfo as $teacherData) { |
|
|
|
foreach ($teacherInfo as $teacherData) { |
|
|
@ -615,6 +638,7 @@ class AttendanceController |
|
|
|
* Gets attendance base in the table: |
|
|
|
* Gets attendance base in the table: |
|
|
|
* TABLE_STATISTIC_TRACK_E_COURSE_ACCESS |
|
|
|
* TABLE_STATISTIC_TRACK_E_COURSE_ACCESS |
|
|
|
* @param bool $showForm |
|
|
|
* @param bool $showForm |
|
|
|
|
|
|
|
* @param bool $exportToPdf |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public function getAttendanceBaseInLogin($showForm = false, $exportToPdf = true) |
|
|
|
public function getAttendanceBaseInLogin($showForm = false, $exportToPdf = true) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -628,8 +652,7 @@ class AttendanceController |
|
|
|
$form = new FormValidator( |
|
|
|
$form = new FormValidator( |
|
|
|
'search', |
|
|
|
'search', |
|
|
|
'post', |
|
|
|
'post', |
|
|
|
api_get_self().'?'.api_get_cidreq( |
|
|
|
api_get_self().'?'.api_get_cidreq().'&action=calendar_logins' |
|
|
|
).'&action=calendar_logins' |
|
|
|
|
|
|
|
); |
|
|
|
); |
|
|
|
$form->addDateRangePicker('range', get_lang('DateRange')); |
|
|
|
$form->addDateRangePicker('range', get_lang('DateRange')); |
|
|
|
$form->addButton('submit', get_lang('Submit')); |
|
|
|
$form->addButton('submit', get_lang('Submit')); |
|
|
@ -650,7 +673,6 @@ class AttendanceController |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$attendance = new Attendance(); |
|
|
|
$attendance = new Attendance(); |
|
|
|
|
|
|
|
|
|
|
|
if ($exportToPdf) { |
|
|
|
if ($exportToPdf) { |
|
|
|
$result = $attendance->exportAttendanceLogin($startDate, $endDate); |
|
|
|
$result = $attendance->exportAttendanceLogin($startDate, $endDate); |
|
|
|
if (empty($result)) { |
|
|
|
if (empty($result)) { |
|
|
|