Added preference to allow for default attendance status for unedited
authorjungwirr <jungwirr>
Fri, 19 Sep 2003 04:24:28 +0000 (04:24 +0000)
committerjungwirr <jungwirr>
Fri, 19 Sep 2003 04:24:28 +0000 (04:24 +0000)
rolls.  (it used to be just 'present' now it can be any of the three.

mod/attendance/db/mysql.php
mod/attendance/db/mysql.sql
mod/attendance/lib.php
mod/attendance/mod.html
mod/attendance/version.php

index d6b089a0a3134fcf4c21222c5aca44f6f279b4b5..200780936c7e7490ef0065bc2928ae3136f46828 100644 (file)
@@ -1,18 +1,18 @@
-<?PHP
-
-function attendance_upgrade($oldversion) {
-/// This function does anything necessary to upgrade 
-/// older versions to match current functionality 
-
-    global $CFG;
-
-    if ($oldversion < 2003091001) {
-
-       # Do something ...
-
-    }
-
-    return true;
-}
-
-?>
+<?PHP\r
+\r
+function attendance_upgrade($oldversion) {\r
+/// This function does anything necessary to upgrade \r
+/// older versions to match current functionality \r
+\r
+    global $CFG;\r
+\r
+    if ($oldversion < 2003091801) {\r
+\r
+        execute_sql("ALTER TABLE `attendance` ADD `edited` TINYINT( 1 ) DEFAULT '0' NOT NULL;");\r
+                               execute_sql("UPDATE `attendance` set `edited` = 1;");\r
+    }\r
+\r
+    return true;\r
+}\r
+\r
+?>\r
index 30124b1fd70fd94f032f31194c0ca79a75758a71..0ecc76b91ee93330e7a4246f8628cf03f975a80c 100755 (executable)
@@ -1,30 +1,30 @@
-#\r
-# Table structure for table `prefix_attendance`\r
-#\r
-\r
-CREATE TABLE prefix_attendance (\r
-  id int(10) unsigned NOT NULL auto_increment,\r
-  name varchar(255) NOT NULL default '',\r
-  course int(10) NOT NULL default '0',\r
-  day int(10) unsigned NOT NULL default '0',\r
-  hours tinyint(1) NOT NULL default '0',\r
-  roll tinyint(1) NOT NULL default '0',\r
-  notes varchar(64) NOT NULL default '',\r
-  timemodified int(10) unsigned NOT NULL default '0',\r
-  dynsection tinyint(1) NOT NULL default '0',\r
-  PRIMARY KEY  (id)\r
-) TYPE=MyISAM;\r
-\r
-#\r
-# Table structure for table `prefix_attendance_roll`\r
-#\r
-\r
-CREATE TABLE prefix_attendance_roll (\r
-  id int(11) NOT NULL auto_increment,\r
-  dayid int(10) unsigned NOT NULL default '0',\r
-  userid int(11) NOT NULL default '0',\r
-  hour tinyint(1) unsigned NOT NULL default '0',\r
-  status int(11) NOT NULL default '0',\r
-  notes varchar(64) NOT NULL default '',\r
-  PRIMARY KEY  (id)\r
-) TYPE=MyISAM;\r
+#
+# 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;
index 7379cff927d0d2ce9c7fdb2952e72dc22f7ea8c5..83f5a055152339e2b4b15f4497a6d3e966a69313 100755 (executable)
@@ -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;
index 10727d17a713643a4bfd971f18bb6e0385f1db68..806dafbc637015ac98871eaacc1cfc8a664fa95c 100755 (executable)
@@ -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="<input type=\"radio\" name=\"student_".$student->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="<input type=\"radio\" name=\"student_".$student->id."_".$j."\" value=\"0\" ".$r1c.">";
          $radio2="<input type=\"radio\" name=\"student_".$student->id."_".$j."\" value=\"1\" ".$r2c.">";
-      $radio3="<input type=\"radio\" name=\"student_".$student->id."_".$j."\" value=\"2\" ".$r3c.">";          
-      echo "<td align=\"left\" nowrap class=\"generaltablecell\" style=\"border-left: 1px dotted; border-top: 1px solid;\">".$radio1."</td>\n";
-      echo "<td align=\"left\" nowrap class=\"generaltablecell\" style=\"border-top: 1px solid;\">".$radio2."</td>\n";
-      echo "<td align=\"left\" nowrap class=\"generaltablecell\" style=\"border-top: 1px solid;\">".$radio3."</td>\n";
+    $radio3="<input type=\"radio\" name=\"student_".$student->id."_".$j."\" value=\"2\" ".$r3c.">";    
+    echo "<td align=\"left\" nowrap class=\"generaltablecell\" style=\"border-left: 1px dotted; border-top: 1px solid;\">".$radio1."</td>\n";
+    echo "<td align=\"left\" nowrap class=\"generaltablecell\" style=\"border-top: 1px solid;\">".$radio2."</td>\n";
+    echo "<td align=\"left\" nowrap class=\"generaltablecell\" style=\"border-top: 1px solid;\">".$radio3."</td>\n";
        } // for loop
     echo "</tr>\n";
 //      $radio1="<input type=\"radio\" name=\"student_".$student->id."\" value=\"0\" checked>";
index f7211dea9352c9989169f228e7295685462bec7c..fe8d5cd4f65a2e167491b6ea18e1ad064a6a3364 100644 (file)
@@ -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)
 
 ?>