diff --git a/main/attendance/attendance_sheet.php b/main/attendance/attendance_sheet.php
index 243befe41b..82346fc7b3 100644
--- a/main/attendance/attendance_sheet.php
+++ b/main/attendance/attendance_sheet.php
@@ -201,8 +201,8 @@ if (api_is_allowed_to_edit(null, true) || api_is_coach(api_get_session_id(), api
|
|
- |
diff --git a/main/inc/lib/attendance.lib.php b/main/inc/lib/attendance.lib.php
index 3566d3eceb..fb2c605c28 100644
--- a/main/inc/lib/attendance.lib.php
+++ b/main/inc/lib/attendance.lib.php
@@ -68,7 +68,8 @@ class Attendance
$condition_session = api_get_session_condition($session_id);
// Get attendance data
- $sql = "SELECT id, name, attendance_qualify_max FROM $tbl_attendance
+ $sql = "SELECT id, name, attendance_qualify_max
+ FROM $tbl_attendance
WHERE c_id = $course_id AND active = 1 $condition_session ";
$rs = Database::query($sql);
if (Database::num_rows($rs) > 0) {
@@ -144,8 +145,11 @@ class Attendance
$session_star = api_get_session_image(api_get_session_id(), $user_info['status']);
}
- if ($attendance['locked'] == 1) {
+ if ($attendance['active'] == 0) {
$attendance['name'] = "".$attendance['name']."";
+ }
+
+ if ($attendance['locked'] == 1) {
if (api_is_allowed_to_edit(null, true)) {
//Link to edit
$attendance['name'] = ''.$attendance['name'].''.$session_star;
@@ -283,7 +287,7 @@ class Attendance
// add link to gradebook
if ($link_to_gradebook && !empty($this->category_id)) {
$description = '';
- $link_info = is_resource_in_course_gradebook($course_code,7,$last_id,$session_id);
+ $link_info = is_resource_in_course_gradebook($course_code, 7, $last_id, $session_id);
$link_id = $link_info['id'];
if (!$link_info) {
add_resource_to_course_gradebook($this->category_id, $course_code, 7, $last_id, $title_gradebook,$weight_calification,$value_calification,$description,1,$session_id);
@@ -443,10 +447,11 @@ class Attendance
$current_session_id = $this->get_session_id();
if (!empty($current_session_id)) {
- $a_course_users = CourseManager :: get_user_list_from_course_code($current_course_id, $current_session_id,'','lastname');
+ $a_course_users = CourseManager :: get_user_list_from_course_code($current_course_id, $current_session_id,'', 'lastname');
} else {
$a_course_users = CourseManager :: get_user_list_from_course_code($current_course_id, 0, '','lastname');
}
+
// get registered users inside current course
$a_users = array();
foreach ($a_course_users as $key =>$user_data) {
@@ -457,7 +462,7 @@ class Attendance
$user_status_in_session = null;
$user_status_in_course = null;
- if (api_get_session_id()) {
+ if ($current_session_id) {
$user_status_in_session = SessionManager::get_user_status_in_course_session($uid, $current_course_id, $current_session_id);
} else {
$user_status_in_course = CourseManager::get_user_in_course_status($uid, $current_course_id);
@@ -496,13 +501,13 @@ class Attendance
}
/**
- * add attendaces sheet inside table
+ * Add attendaces sheet inside table
* @param int attendance calendar id
* @param array present users during current class (array with user_ids)
* @param int attendance id
* @return int affected rows
*/
- public function attendance_sheet_add($calendar_id, $users_present, $attendance_id, $save_user_absents = true) {
+ public function attendance_sheet_add($calendar_id, $users_present, $attendance_id, $save_user_absents = true, $done_attendance = true) {
$tbl_attendance_sheet = Database::get_course_table(TABLE_ATTENDANCE_SHEET);
$tbl_attendance_calendar= Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
@@ -568,12 +573,14 @@ class Attendance
}
}
}
+
+ if ($done_attendance) {
+ // update done_attendance inside attendance calendar table
+ $sql = "UPDATE $tbl_attendance_calendar SET done_attendance = 1 WHERE c_id = $course_id AND id = '$calendar_id'";
+ Database::query($sql);
+ }
- // update done_attendance inside attendance calendar table
- $sql = "UPDATE $tbl_attendance_calendar SET done_attendance = 1 WHERE c_id = $course_id AND id = '$calendar_id'";
- Database::query($sql);
-
- // Save user's results
+ // Save user's results
$this->update_users_results($user_ids, $attendance_id);
if ($affected_rows) {
@@ -712,8 +719,7 @@ class Attendance
$user_id = intval($user_id);
$attendance_id = intval($attendance_id);
$results = array();
- $attendance_data = $this->get_attendance_by_id($attendance_id);
-
+ $attendance_data = $this->get_attendance_by_id($attendance_id);
$calendar_count = $this->get_number_of_attendance_calendar($attendance_id);
$total_done_attendance = $attendance_data['attendance_qualify_max'];
@@ -724,22 +730,22 @@ class Attendance
//$total_done_attendance = $calendar_count;
// calculate results
- $faults = $total_done_attendance - $attendance_user_score;
-
+ $faults = $total_done_attendance - $attendance_user_score;
$faults = $faults > 0 ? $faults:0;
$faults_porcent = $calendar_count > 0 ?round(($faults*100)/$calendar_count,0):0;
$results['faults'] = $faults;
$results['total'] = $calendar_count;
$results['faults_porcent'] = $faults_porcent;
- $color_bar = '';
-
+
+ $color_bar = 'success';
if ($faults_porcent > 25 ) {
- $color_bar = '#F11';
- } else if ($faults_porcent > 10) {
- $color_bar = '#F90';
- }
+ $color_bar = 'important';
+ } elseif ($faults_porcent > 10) {
+ $color_bar = 'warning';
+ } elseif ($faults_porcent > 1) {
+ $color_bar = 'info';
+ }
$results['color_bar'] = $color_bar;
-
return $results;
}
diff --git a/main/inc/lib/gradebook.lib.php b/main/inc/lib/gradebook.lib.php
index f597d8f90b..d1e28aed32 100644
--- a/main/inc/lib/gradebook.lib.php
+++ b/main/inc/lib/gradebook.lib.php
@@ -54,8 +54,7 @@ class Gradebook extends Model {
foreach($gradebooks as &$gradebook) {
if (empty($gradebook['name'])) {
$gradebook['name'] = $gradebook['course_code'];
- }
- //$gradebook['name'] = $gradebook['course_code'] .' > '.$gradebook['name'];
+ }
}
return $gradebooks;
}
diff --git a/tests/migrate/migration.custom.class.php b/tests/migrate/migration.custom.class.php
index 57c57558df..a1aef22e00 100644
--- a/tests/migrate/migration.custom.class.php
+++ b/tests/migrate/migration.custom.class.php
@@ -363,7 +363,7 @@ class MigrationCustom {
static function create_attendance($data) {
error_log('create_attendance');
$session_id = $data['session_id'];
- $user_id = $data['user_id'];
+ $user_id = $data['user_id'];
if (!empty($session_id) && !empty($user_id)) {
$attendance = new Attendance();
@@ -381,8 +381,7 @@ class MigrationCustom {
$attendance->set_course_int_id($course_info['real_id']);
$attendance->set_session_id($session_id);
- $attendance_list = $attendance->get_attendances_list($course_info['real_id'], $session_id);
-
+ $attendance_list = $attendance->get_attendances_list($course_info['real_id'], $session_id);
if (empty($attendance_list)) {
$attendance->set_name('Asistencia');
$attendance->set_description('');
@@ -397,23 +396,22 @@ class MigrationCustom {
$attendance_data = current($attendance_list);
$attendance_id = $attendance_data['id'];
}
-
+
if ($attendance_id) {
//Attendance date exists?
- $cal_info = $attendance->get_attendance_calendar_data_by_date($attendance_id, $data['fecha']);
-
+ $cal_info = $attendance->get_attendance_calendar_data_by_date($attendance_id, $data['fecha']);
if ($cal_info && isset($cal_info['id'])) {
$cal_id = $cal_info['id'];
} else {
//Creating the attendance date
$attendance->set_date_time($data['fecha']);
- $cal_id = $attendance->attendance_calendar_add($attendance_id, true);
- }
-
+ $cal_id = $attendance->attendance_calendar_add($attendance_id, true);
+ error_log("Creating attendance calendar $cal_id");
+ }
//Adding presence for the user (by default everybody is present)
$users_present = array($user_id);
- $attendance->attendance_sheet_add($cal_id, $users_present, $attendance_id, false);
- exit;
+ $attendance->attendance_sheet_add($cal_id, $users_present, $attendance_id, false, false);
+ error_log("Adding calendar to user: $user_id to calendar: $cal_id");
} else {
error_log('No attendance_id created');
}