From cddc26f6fbd27c69150143928e6d2434654c7173 Mon Sep 17 00:00:00 2001 From: jungwirr Date: Fri, 19 Sep 2003 04:24:28 +0000 Subject: [PATCH] Added preference to allow for default attendance status for unedited rolls. (it used to be just 'present' now it can be any of the three. --- mod/attendance/db/mysql.php | 36 +++++++++++----------- mod/attendance/db/mysql.sql | 60 ++++++++++++++++++------------------- mod/attendance/lib.php | 3 +- mod/attendance/mod.html | 17 ++++++----- mod/attendance/version.php | 2 +- 5 files changed, 60 insertions(+), 58 deletions(-) diff --git a/mod/attendance/db/mysql.php b/mod/attendance/db/mysql.php index d6b089a0a3..200780936c 100644 --- a/mod/attendance/db/mysql.php +++ b/mod/attendance/db/mysql.php @@ -1,18 +1,18 @@ - + diff --git a/mod/attendance/db/mysql.sql b/mod/attendance/db/mysql.sql index 30124b1fd7..0ecc76b91e 100755 --- a/mod/attendance/db/mysql.sql +++ b/mod/attendance/db/mysql.sql @@ -1,30 +1,30 @@ -# -# Table structure for table `prefix_attendance` -# - -CREATE TABLE prefix_attendance ( - id int(10) unsigned NOT NULL auto_increment, - name varchar(255) NOT NULL default '', - course int(10) NOT NULL default '0', - day int(10) unsigned NOT NULL default '0', - hours tinyint(1) NOT NULL default '0', - roll tinyint(1) NOT NULL default '0', - notes varchar(64) NOT NULL default '', - timemodified int(10) unsigned NOT NULL default '0', - dynsection tinyint(1) NOT NULL default '0', - PRIMARY KEY (id) -) TYPE=MyISAM; - -# -# Table structure for table `prefix_attendance_roll` -# - -CREATE TABLE prefix_attendance_roll ( - id int(11) NOT NULL auto_increment, - dayid int(10) unsigned NOT NULL default '0', - userid int(11) NOT NULL default '0', - hour tinyint(1) unsigned NOT NULL default '0', - status int(11) NOT NULL default '0', - notes varchar(64) NOT NULL default '', - PRIMARY KEY (id) -) TYPE=MyISAM; +# +# Table structure for table `prefix_attendance` +# + +CREATE TABLE prefix_attendance ( + id int(10) unsigned NOT NULL auto_increment, + name varchar(255) NOT NULL default '', + course int(10) NOT NULL default '0', + day int(10) unsigned NOT NULL default '0', + hours tinyint(1) NOT NULL default '0', + roll tinyint(1) NOT NULL default '0', + notes varchar(64) NOT NULL default '', + timemodified int(10) unsigned NOT NULL default '0', + dynsection tinyint(1) NOT NULL default '0', + PRIMARY KEY (id) +) TYPE=MyISAM; + +# +# Table structure for table `prefix_attendance_roll` +# + +CREATE TABLE prefix_attendance_roll ( + id int(11) NOT NULL auto_increment, + dayid int(10) unsigned NOT NULL default '0', + userid int(11) NOT NULL default '0', + hour tinyint(1) unsigned NOT NULL default '0', + status int(11) NOT NULL default '0', + notes varchar(64) NOT NULL default '', + PRIMARY KEY (id) +) TYPE=MyISAM; diff --git a/mod/attendance/lib.php b/mod/attendance/lib.php index 7379cff927..83f5a05515 100755 --- a/mod/attendance/lib.php +++ b/mod/attendance/lib.php @@ -42,7 +42,7 @@ function attendance_add_instance($attendance) { if (isset($attendance->notes)) { $attendance->name = $attendance->name . " - " . $attendance->notes; } - + $attendance->edited = 0; if ($attendance->dynsection) { if ($mod->course) { if (! $course = get_record("course", "id", $mod->course)) { @@ -66,6 +66,7 @@ if ($attendance->dynsection) { function attendance_update_instance($attendance) { global $mod; + $attendance->edited = 1; $attendance->timemodified = time(); // $attendance->oldid=$attendance->id; $attendance->id = $attendance->instance; diff --git a/mod/attendance/mod.html b/mod/attendance/mod.html index 10727d17a7..806dafbc63 100755 --- a/mod/attendance/mod.html +++ b/mod/attendance/mod.html @@ -106,15 +106,16 @@ if ($form->hours >1) { for($j=1;$j<=$form->hours;$j++) { // set the attendance defaults for each student $r1c=$r2c=$r3c=" "; - if ($sroll[$student->id][$j]->status == 1) {$r2c="checked";} - elseif ($sroll[$student->id][$j]->status == 2) {$r3c="checked";} - else {$r1c="checked";} - $radio1="id."_".$j."\" value=\"0\" ".$r1c.">"; + $rollstatus = (($form->edited==0)?$CFG->attendance_default_student_status:$sroll[$student->id][$j]->status); + if ($rollstatus==1) {$r2c="checked";} + elseif ($rollstatus==2) {$r3c="checked";} + else {$r1c="checked";} + $radio1="id."_".$j."\" value=\"0\" ".$r1c.">"; $radio2="id."_".$j."\" value=\"1\" ".$r2c.">"; - $radio3="id."_".$j."\" value=\"2\" ".$r3c.">"; - echo "".$radio1."\n"; - echo "".$radio2."\n"; - echo "".$radio3."\n"; + $radio3="id."_".$j."\" value=\"2\" ".$r3c.">"; + echo "".$radio1."\n"; + echo "".$radio2."\n"; + echo "".$radio3."\n"; } // for loop echo "\n"; // $radio1="id."\" value=\"0\" checked>"; diff --git a/mod/attendance/version.php b/mod/attendance/version.php index f7211dea93..fe8d5cd4f6 100644 --- a/mod/attendance/version.php +++ b/mod/attendance/version.php @@ -5,7 +5,7 @@ /// This fragment is called by moodle_needs_upgrading() and /admin/index.php ///////////////////////////////////////////////////////////////////////////////// -$module->version = 2003091800; // The current module version (Date: YYYYMMDDXX) +$module->version = 2003091801; // The current module version (Date: YYYYMMDDXX) $module->cron = 0; // Period for cron to check this module (secs) ?> -- 2.39.5