]> git.mjollnir.org Git - moodle.git/commitdiff
Now teachers can again grade assessments. Also various tweaks of admin interface...
authorgustav_delius <gustav_delius>
Thu, 9 Dec 2004 09:34:43 +0000 (09:34 +0000)
committergustav_delius <gustav_delius>
Thu, 9 Dec 2004 09:34:43 +0000 (09:34 +0000)
lang/en/workshop.php
mod/workshop/assessment_grading_form.html [new file with mode: 0644]
mod/workshop/assessments.php
mod/workshop/db/mysql.php
mod/workshop/db/postgres7.php
mod/workshop/lib.php
mod/workshop/locallib.php
mod/workshop/submissions.php
mod/workshop/upload.php
mod/workshop/version.php
mod/workshop/view.php

index 87c27b9ddfdb66bafb1910f7c81a895aee1607d1..6177113e200577e011a3dc7e4070ddc3bc252be2 100644 (file)
@@ -27,11 +27,12 @@ $string['assessmentendevent'] = 'End of assessments for $a';
 $string['assessmentgrade'] = 'Assessment Grade: $a';
 $string['assessmentnotyetagreed'] = 'Assessment not yet agreed';
 $string['assessmentnotyetgraded'] = 'Assessment not yet graded';
+$string['assessmentof'] = 'Assessment of $a';
 $string['assessmentofresubmission'] = 'This is an Assessment of a revised piece of the work. <br />The form here has been filled with your previous grades and comments. <br />Please amend these after looking at the revised work.';
 $string['assessmentofthissubmission'] = 'Assessment of this submission';
 $string['assessments'] = 'Assessments';
 $string['assessmentsareok'] = 'Assessments are OK';
-$string['assessmentsby'] = 'Assessments by $a';
+$string['assessmentsby'] = '$a Assessments';
 $string['assessmentsdone'] = 'Assessments Done';
 $string['assessmentsexcluded'] = 'Number of Assessments excluded for this $a';
 $string['assessmentsmustbeagreed'] = 'Assessments must be agreed';
@@ -40,10 +41,12 @@ $string['assessmentstartevent'] = 'Start of assessments for $a';
 $string['assessmentwasagreedon'] = 'Assessment was agreed on $a';
 $string['assessor'] = 'Assessor';
 $string['assessthissubmission'] = 'Assess this submission';
+$string['assessthisassessment'] = 'Grade this assessment';
 $string['assignmentnotinthecorrectphase'] = 'Assignment not in the Correct Phase';
 $string['attachment'] = 'Attachment';
 $string['attachments'] = 'Attachments';
 $string['authorofsubmission'] = 'Author of Submission';
+$string['automaticgradeforassessment'] = 'Automatic grade for assessment';
 $string['averageerror'] = 'Average Error';
 $string['awaitinggradingbyteacher'] = 'Awaiting Grading by $a';
 $string['beforedeadline'] = 'Before Deadline: $a';
@@ -66,6 +69,7 @@ $string['deleting'] = 'Deleting';
 $string['description'] = 'Description';
 $string['detailsofassessment'] = 'Details of Assessment';
 $string['disagreewiththisassessment'] = 'Disagree with this Assessment';
+$string['displayofgrades'] = 'Display of Grades';
 $string['displayofcurrentgrades'] = 'Display of Current Grades';
 $string['displayoffinalgrades'] = 'Display of Final Grades';
 $string['dontshowgrades'] = 'Don\'t Show Grades';
@@ -228,6 +232,7 @@ $string['scaleyes'] = '2 point Yes/No scale';
 $string['select'] = 'Select';
 $string['selfassessment'] = 'Self Assessment';
 $string['showgrades'] = 'Show Grades';
+$string['showsubmission'] = 'Show Submission: $a';
 $string['specimenassessmentform'] = 'Specimen Assessment Form';
 $string['standarddeviation'] = 'Standard Deviation';
 $string['standarddeviationofelement'] = 'Standard deviation of Element $a:';
@@ -253,6 +258,7 @@ $string['submitted'] = 'Submitted';
 $string['submittedby'] = 'Submitted by';
 $string['suggestedgrade'] = 'Suggested Grade';
 $string['teacherassessments'] = '$a Assessments';
+$string['teachergradeforassessment'] = '$a grade for assessment';
 $string['teacherscomment'] = 'Teacher\'s Comment';
 $string['teachersgrade'] = 'Teacher\'s Grade';
 $string['teachersubmissionsforassessment'] = '$a Teacher Submissions for Assessment';
@@ -293,7 +299,8 @@ $string['workshopcomments'] = 'Workshop Comments';
 $string['workshopfeedback'] = 'Workshop Feedback';
 $string['workshopsubmissions'] = 'Workshop Submissions';
 $string['wrongpassword'] = 'Incorrect password for this Workshop';
-$string['yourassessments'] = 'Your Assessments';
+$string['yourassessments'] = 'Your assessments of work by your peers';
+$string['yoursubmissions'] = 'Your Submissions';
 $string['yourassessmentsofexamplesfromtheteacher'] = 'Your Assessments of Examples from the $a';
 $string['yourfeedbackgoeshere'] = 'Your Feedback goes Here';
 
diff --git a/mod/workshop/assessment_grading_form.html b/mod/workshop/assessment_grading_form.html
new file mode 100644 (file)
index 0000000..a912aed
--- /dev/null
@@ -0,0 +1,30 @@
+<?php
+    if (!isset($assessment->teachercomment)) {
+        $assessment->teachercomment = '';
+    }
+?>
+<form name="gradingform" action="assessments.php" method="post">
+  <input type="hidden" name="action" value="updategrading" />
+  <input type="hidden" name="id" value="<?php echo $cm->id ?>" />
+  <input type="hidden" name="stype" value="<?php echo $_GET['stype'] ?>" />
+  <input type="hidden" name="aid" value="<?php echo $_GET['aid'] ?>" />
+  <center>
+    <table cellpadding="5" border="1">
+      <tr valign="top">
+        <td align="right"><b><?php print_string("teacherscomment", "workshop") ?>:</b></td>
+        <td>
+          <textarea name="teachercomment" rows="5" cols="75"><?php echo $assessment->teachercomment; ?></textarea>
+        </td>
+      </tr>
+      <tr>
+        <td align="right">
+          <b><?php print_string("gradeforstudentsassessment", "workshop") ?></td>
+        <td>
+          <input type="text" name="gradinggrade" size="3" value="<?php p($assessment->gradinggrade) ?>" />
+          /<?php echo $workshop->gradinggrade; ?>
+        </td>
+      </tr>
+    </table>
+    <input type="submit" value="<?php print_string("savemygrading", "workshop") ?>" />
+  </center>
+</form> 
\ No newline at end of file
index 4a015cd9af8db99a573db15aea1825cecfe89ed1..bcae00759ed9d1c8f8e4f3e21948de56b57bdbe3 100644 (file)
 
     /*************** grade (student's) assessment (by teacher) ***************************/
     elseif ($action == 'gradeassessment') {
-        
+
         if (!isteacher($course->id)) {
             error("Only teachers can look at this page");
         }
 
-        // set up coment scale
-        for ($i=COMMENTSCALE; $i>=0; $i--) {
-            $num[$i] = $i;
-        }
-        
         print_heading_with_help(get_string("gradeassessment", "workshop"), "gradingassessments", "workshop");
         // get assessment record
         if (!$assessmentid = $_GET['aid']) {
         echo "<center><b>".get_string("assessmentby", "workshop", $user->firstname." ".$user->lastname)."</b></center>\n";
         workshop_print_assessment($workshop, $assessment);
         
-        ?>
-        <form name="gradingform" action="assessments.php" method="post">
-        <input type="hidden" name="action" value="updategrading" />
-        <input type="hidden" name="id" value="<?php echo $cm->id ?>" />
-        <input type="hidden" name="stype" value="<?php echo $_GET['stype'] ?>" />
-        <input type="hidden" name="aid" value="<?php echo $_GET['aid'] ?>" />
-        <center>
-        <table cellpadding="5" border="1">
-        <?php
-
-        // now get the teacher's comment
-        echo "<tr valign=\"top\">\n";
-        echo "  <td align=\"right\"><b>". get_string("teacherscomment", "workshop").":</b></td>\n";
-        echo "  <td>\n";
-        echo "      <textarea name=\"teachercomment\" rows=\"5\" cols=\"75\">\n";
-        if (isset($assessment->teachercomment)) {
-            echo $assessment->teachercomment;
-        }
-        echo "</textarea>\n";
-        echo "  </td>\n";
-        echo "</tr>\n";
-        echo "<tr><td align=\"right\"><b>".get_string("gradeforstudentsassessment", "workshop")."</td><td>\n";
-        choose_from_menu($num, "gradinggrade", $assessment->gradinggrade, "");
-        echo "</td></tr></table>\n";
-        echo "<input type=\"submit\" value=\"".get_string("savemygrading", "workshop")."\" />\n";
-        echo "</center></form>\n";
+        include('assessment_grading_form.html');
+        die;
     }
 
 
             set_field("workshop_assessments", "gradinggrade", $form->gradinggrade, "id", $assessment->id);
             set_field("workshop_assessments", "timegraded", $timenow, "id", $assessment->id);
             set_field("workshop_assessments", "mailed", 0, "id", $assessment->id);
+            set_field("workshop_assessments", "teachergraded", 1, "id", $assessment->id);
             echo "<centre><b>".get_string("savedok", "workshop")."</b></centre><br />\n";
             
             add_to_log($course->id, "workshop", "grade", 
         // show assessment but don't allow changes
         workshop_print_assessment($workshop, $assessment, false, $allowcomments);
         
+        if (isteacher($course->id) and !isteacher($course->id, $assessment->userid)) {
+            print_heading('<a href="assessments.php?action=gradeassessment&amp;id='.$cm->id.'&amp;stype=student&amp;aid='.$assessment->id.'">'.
+                get_string('assessthisassessment', 'workshop').'</a>');
+        }
+        
         print_continue("view.php?id=$cm->id");
     }
 
index b5f160dc939d19af96f893afe03b768a74fe7559..1c2e9be141931f943edb868d31f0bc3563dc8c2c 100644 (file)
@@ -196,6 +196,10 @@ function workshop_upgrade($oldversion) {
         
         execute_sql("UPDATE {$CFG->prefix}event SET eventtype = 'submissionend' WHERE eventtype = 'deadline' AND modulename = 'workshop'", false);
     }
+    
+    if ($oldversion < 2004120900) {
+        table_column('workshop_assessments', '', 'teachergraded', 'INTEGER', '4', 'UNSIGNED', '0', 'NOT NULL', 'gradinggrade');
+    }
 
     return true;
 }
index 980dceb4382d5e3772d352042a35cf7a0a423ae6..63e5d8580cd72b7dc1573678f905ab38e13cf004 100644 (file)
@@ -189,6 +189,10 @@ function workshop_upgrade($oldversion) {
         
         execute_sql("UPDATE {$CFG->prefix}event SET eventtype = 'submissionend' WHERE eventtype = 'deadline' AND modulename = 'workshop'", false);
     }
+    
+    if ($oldversion < 2004120900) {
+        table_column('workshop_assessments', '', 'teachergraded', 'INTEGER', '4', 'UNSIGNED', '0', 'NOT NULL', 'gradinggrade');
+    }
 
     return true;
 
index fff656d80babd69191a0f6b1cb18ecff67922f0f..8f478a05317b084b880b91c6d25381811bb4d246 100644 (file)
@@ -1731,6 +1731,10 @@ function workshop_grade_assessments($workshop) {
                         }
                         echo "Best assessment is $bestassessmentid;\n";
                         foreach ($assessments as $assessment) {
+                            // don't overwrite teacher's grade
+                            if ($assessment->teachergraded) {
+                                continue;
+                            }
                             if ($assessment->id == $bestassessmentid) { 
                                 // it's the best one, set the grading grade to the maximum 
                                 set_field("workshop_assessments", "gradinggrade", 100, "id", $assessment->id);
@@ -1748,7 +1752,7 @@ function workshop_grade_assessments($workshop) {
                     // there are less than 3 assessments for this submission
                     if ($assessments = workshop_get_assessments($submission)) {
                         foreach ($assessments as $assessment) {
-                            if (!$assessment->timegraded) {
+                            if (!$assessment->timegraded and !$assessment->teachergraded) {
                                 // set the grading grade to the maximum and say it's been graded 
                                 set_field("workshop_assessments", "gradinggrade", 100, "id", $assessment->id);
                                 set_field("workshop_assessments", "timegraded", $timenow, "id", $assessment->id);
index 934d0804b44ece753f0b926163935dbff2b16dcc..13a0d1905b1de67cff23ef79819e8c130b3acb10 100644 (file)
@@ -918,7 +918,7 @@ function workshop_list_assessed_submissions($workshop, $user) {
                             get_string("view", "workshop")."</a>";
                     }
                 }          
-                if ($assessment->timecreated < $timenow) { // only show the date if it's in the past (future dates cause confusion
+                if ($assessment->timecreated < $timenow) { // only show the date if it's in the past (future dates cause confusion)
                     $comment = get_string("assessedon", "workshop", userdate($assessment->timecreated));
                 }
                 else {
@@ -1134,7 +1134,7 @@ function workshop_list_student_submissions($workshop, $user) {
                 $nassessments[$submission->id] = $n + rand(0, 98) / 100;
                 }
                 
-            if (isset($nassessments)) { // make sure we end up with something to play with :-)
+            if (isset($nassessments)) { // make sure we end up with something to play with
                 // put the submissions with the lowest number of assessments first
                 asort($nassessments);
                 reset($nassessments);
@@ -1846,8 +1846,8 @@ function workshop_phase($workshop, $style='') {
 //////////////////////////////////////////////////////////////////////////////////////
 function workshop_print_assessment($workshop, $assessment = false, $allowchanges = false, 
     $showcommentlinks = false, $returnto = '') {
-    // $allowchanges added 14/7/03
-    // $returnto added 28/8/03
+    // $allowchanges added 14/7/03. The form is inactive unless allowchanges = true
+    // $returnto added 28/8/03. The page to go to after the assessment has been submitted
     global $CFG, $THEME, $USER, $WORKSHOP_SCALES, $WORKSHOP_EWEIGHTS;
     
     if (! $course = get_record("course", "id", $workshop->course)) {
@@ -1857,30 +1857,32 @@ function workshop_print_assessment($workshop, $assessment = false, $allowchanges
         error("Course Module ID was incorrect");
     }
     
+    if (!$submission = get_record("workshop_submissions", "id", $assessment->submissionid)) {
+        error ("Workshop_print_assessment: Submission record not found");
+    }
+    
+    print_heading(get_string('assessmentof', 'workshop', 
+        "<a href=\"submissions.php?id=$cm->id&action=showsubmission&sid=$submission->id\" target=\"submission\">".
+        $submission->title.'</a>'));
+    
     $timenow = time();
 
     // reset the internal flags
     if ($assessment) {
         $showgrades = false;
-        }
+    }
     else { // if no assessment, i.e. specimen grade form always show grading scales
         $showgrades = true;
-        }
+    }
     
     if ($assessment) {
-        // set the internal flag is necessary
+        // set the internal flag if necessary
         if ($allowchanges or !$workshop->agreeassessments or !$workshop->hidegrades or 
                 $assessment->timeagreed) {
             $showgrades = true;
-            }
-            
-        echo "<center><table border=\"1\" width=\"95%\"><tr>
-            <td align=\"center\" bgcolor=\"$THEME->cellcontent\">\n";
-        if (!$submission = get_record("workshop_submissions", "id", $assessment->submissionid)) {
-            error ("Workshop_print_assessment: Submission record not found");
-            }
-        echo workshop_print_submission($workshop, $submission);
-        echo "</td></tr></table><br clear=\"all\" />\n";
+        }
+        
+        echo "<center>\n";
     
         // see if this is a pre-filled assessment for a re-submission...
         if ($assessment->resubmission) {
@@ -1891,7 +1893,7 @@ function workshop_print_assessment($workshop, $assessment = false, $allowchanges
         // print agreement time if the workshop requires peer agreement
         if ($workshop->agreeassessments and $assessment->timeagreed) {
             echo "<p>".get_string("assessmentwasagreedon", "workshop", userdate($assessment->timeagreed));
-            }
+        }
 
         // first print any comments on this assessment
         if ($comments = workshop_get_comments($assessment)) {
@@ -1902,13 +1904,13 @@ function workshop_print_assessment($workshop, $assessment = false, $allowchanges
                     get_string("commentby","workshop")." ";
                 if (isteacher($workshop->course, $comment->userid)) {
                     echo $course->teacher;
-                    }
+                }
                 elseif ($assessment->userid == $comment->userid) {
                     print_string("assessor", "workshop");
-                    }
+                }
                 else {
                     print_string("authorofsubmission", "workshop");
-                    }
+                }
                 echo " ".get_string("on", "workshop", userdate($comment->timecreated))."</b></p></td></tr><tr><td>\n";
                 echo format_text($comment->comments)."&nbsp;\n";
                 // add the links if needed
@@ -1918,15 +1920,15 @@ function workshop_print_assessment($workshop, $assessment = false, $allowchanges
                     if (isteacher($workshop->course, $USER->id) and ($comment->userid != $USER->id)) {
                         echo "<p align=\"right\"><a href=\"assessments.php?action=addcomment&amp;id=$cm->id&amp;aid=$assessment->id\">".
                             get_string("reply", "workshop")."</a>\n";
-                        }
+                    }
                     elseif (($comment->userid ==$USER->id) and (($timenow - $comment->timecreated) < $CFG->maxeditingtime)) {
                         echo "<p align=\"right\"><a href=\"assessments.php?action=editcomment&amp;id=$cm->id&amp;cid=$comment->id\">".
                             get_string("edit", "workshop")."</a>\n";
                         if ($USER->id == $submission->userid) {
                             echo " | <a href=\"assessments.php?action=agreeassessment&amp;id=$cm->id&amp;aid=$assessment->id\">".
                                 get_string("agreetothisassessment", "workshop")."</a>\n";
-                            }
                         }
+                    }
                     elseif (($comment->userid != $USER->id) and (($USER->id == $assessment->userid) or 
                         ($USER->id == $submission->userid))) {
                         echo "<p align=\"right\"><a href=\"assessments.php?action=addcomment&amp;id=$cm->id&amp;aid=$assessment->id\">".
@@ -1934,21 +1936,14 @@ function workshop_print_assessment($workshop, $assessment = false, $allowchanges
                         if ($USER->id == $submission->userid) {
                             echo " | <a href=\"assessments.php?action=agreeassessment&amp;id=$cm->id&amp;aid=$assessment->id\">".
                                 get_string("agreetothisassessment", "workshop")."</a>\n";
-                            }
                         }
                     }
-                echo "</td></tr>\n";
                 }
-            echo "</table>\n";
-            }
-            
-        // only show the grade if grading strategy > 0 and the grade is positive
-        if ($showgrades and $workshop->gradingstrategy and $assessment->grade >= 0) { 
-            echo "<center><b>".get_string("thegradeis", "workshop").": ".
-                number_format($assessment->grade * $workshop->grade / 100, 2)." (".
-                get_string("maximumgrade")." ".number_format($workshop->grade, 0).")</b></center><br clear=\"all\" />\n";
+                echo "</td></tr>\n";
             }
+            echo "</table>\n";
         }
+    }
         
     // now print the grading form with the grading grade if any
     // FORM is needed for Mozilla browsers, else radio bttons are not checked
@@ -1964,10 +1959,26 @@ function workshop_print_assessment($workshop, $assessment = false, $allowchanges
     <table cellpadding="2" border="1">
     <?php
     echo "<tr valign=\"top\">\n";
-    echo "  <td colspan=\"2\" bgcolor=\"$THEME->cellheading2\"><center><b>".get_string("assessment", "workshop").
-        "</b></center></td>\n";
+    echo "  <td colspan=\"2\" bgcolor=\"$THEME->cellheading2\"><center><b>";
+    if ($assessment and isteacher($course->id)) {
+        $user = get_record('user', 'id', $assessment->userid);
+        print_string("assessmentby", "workshop", fullname($user));
+    } else {
+        print_string('assessment', 'workshop');
+    }
+    echo "</b></center></td>\n";
     echo "</tr>\n";
-
+    
+    // only show the grade if grading strategy > 0 and the grade is positive
+    if ($showgrades and $workshop->gradingstrategy and $assessment->grade >= 0) { 
+        echo "<tr valign=\"top\">\n
+            <td colspan=\"2\" align=\"center\">
+            <b>".get_string("thegradeis", "workshop").": ".
+            number_format($assessment->grade * $workshop->grade / 100, 2)." (".
+            get_string("maximumgrade")." ".number_format($workshop->grade, 0).")</b>
+            </td></tr><tr><td colspan=\"2\" bgcolor=\"$THEME->cellheading2\">&nbsp;</td></tr>\n";
+    }
+    
     // get the assignment elements...
     $elementsraw = get_records("workshop_elements", "workshopid", $workshop->id, "elementno ASC");
     if (count($elementsraw) < $workshop->nelements) {
@@ -2477,29 +2488,37 @@ function workshop_print_assessment($workshop, $assessment = false, $allowchanges
         } 
         echo "</td></tr>\n";
     }
-    echo "<tr valign=\"top\">\n";
-    echo "  <td colspan=\"2\" bgcolor=\"$THEME->cellheading2\">&nbsp;</td>\n";
-    echo "</tr>\n";
     
     $timenow = time();
     // now show the grading grade if available...
     if ($assessment->timegraded) {
         echo "<tr valign=\"top\">\n";
-        echo "  <td align=\"right\"><p><b>";
-        if (isteacher($course->id, $assessment->userid)) {
-            print_string("gradeforstudentsassessment", "workshop", $course->teacher);
-        } else {
-            print_string("gradeforstudentsassessment", "workshop", $course->student);
+        echo "<td colspan=\"2\" bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".
+            get_string('gradeforstudentsassessment', 'workshop')."</b></td>\n";
+        echo "</tr>\n";
+        
+        if ($assessment->teachercomment) {
+            echo "<tr valign=top>\n";
+            echo "  <td align=\"right\"><p><b>". get_string("teacherscomment", "workshop").":</b></p></td>\n";
+            echo "  <td>\n";
+            echo text_to_html($assessment->teachercomment);
+            echo "&nbsp;</td>\n";
+            echo "</tr>\n";
         }
+
+        echo "<tr valign=\"top\">\n";
+        echo "  <td align=\"right\"><p><b>";
+        print_string('grade', 'workshop');
         echo ":</b></p></td><td>\n";
         echo number_format($assessment->gradinggrade * $workshop->gradinggrade / 100, 0);
         echo "&nbsp;</td>\n";
         echo "</tr>\n";
-        echo "<tr valign=\"top\">\n";
-        echo "<td colspan=\"2\" bgcolor=\"$THEME->cellheading2\">&nbsp;</td>\n";
-        echo "</tr>\n";
     }
-        
+    
+    echo "<tr valign=\"top\">\n";
+    echo "  <td colspan=\"2\" bgcolor=\"$THEME->cellheading2\">&nbsp;</td>\n";
+    echo "</tr>\n";
+            
     // ...and close the table, show submit button if needed...
     echo "</table>\n";
     if ($assessment) {
@@ -2532,7 +2551,10 @@ function workshop_print_assessments_by_user_for_admin($workshop, $user) {
         foreach ($assessments as $assessment) {
             echo "<p><center><b>".get_string("assessmentby", "workshop", fullname($user))."</b></center></p>\n";
             workshop_print_assessment($workshop, $assessment);
-            echo "<p align=\"right\"><a href=\"assessments.php?action=adminconfirmdelete&amp;id=$cm->id&amp;aid=$assessment->id\">".
+            echo "<p align=\"right\">".
+                '<a href="assessments.php?action=gradeassessment&amp;id='.$cm->id.'&amp;stype=student&amp;aid='.$assessment->id.'">'.
+                get_string('assessthisassessment', 'workshop').'</a> | '.
+                "<a href=\"assessments.php?action=adminconfirmdelete&amp;id=$cm->id&amp;aid=$assessment->id\">".
                 get_string("delete", "workshop")."</a></p><hr />\n";
             }
         }
@@ -2665,8 +2687,8 @@ function workshop_print_key($workshop) {
     echo "[] ".get_string("assessmentby", "workshop", $course->teacher).";&nbsp;&nbsp;\n";
     echo "&lt;&gt; ".get_string("assessmentdropped", "workshop").";\n";
     if ($workshop->agreeassessments) echo "&lt;&lt;&gt;&gt; ".get_string("assessmentnotyetagreed", "workshop").";\n";
-    echo "<br />() ".get_string("gradegiventoassessment", "workshop").";&nbsp;&nbsp;\n";
-    echo "(()) ".get_string("assessmentnotyetgraded", "workshop").".\n";
+    echo "<br />() ".get_string("automaticgradeforassessment", "workshop").";&nbsp;&nbsp;\n";
+    echo "[] ".get_string("teachergradeforassessment", "workshop", $course->teacher).".\n";
     echo "<br />".get_string("gradesforsubmissionsare", "workshop", $workshop->grade).";&nbsp;&nbsp;\n";
     echo get_string("gradesforassessmentsare", "workshop", $workshop->gradinggrade).".</small></p>\n";
     echo "</div>\n";
@@ -2798,7 +2820,7 @@ function workshop_print_submission_assessments($workshop, $submission, $type) {
  
     $str = '';
     // get the cold assessments in grade order, highest first
-    if ($assessments = workshop_get_assessments($submission, "cold", "grade DESC")) {
+    if ($assessments = workshop_get_assessments($submission, "", "grade DESC")) {
         switch ($type) {
             case "teacher" :
                 // students can see teacher assessments only if the release date has passed
@@ -2806,24 +2828,8 @@ function workshop_print_submission_assessments($workshop, $submission, $type) {
                 if (isteacher($workshop->course, $USER->id) or ($timenow > $workshop->releasegrades)) {
                     foreach ($assessments as $assessment) {
                         if (isteacher($workshop->course, $assessment->userid)) {
-                            $str .= "<a href=\"assessments.php?action=viewassessment&amp;id=$cm->id&amp;aid=$assessment->id\">";
-                            if ($assessment->timegraded) {
-                                if ($assessment->gradinggrade) {
-                                    $str .= "[".number_format($assessment->grade * $workshop->grade / 100, 0)." (".
-                                        number_format($assessment->gradinggrade * $workshop->gradinggrade / 100, 0).
-                                        ")]</a> ";
-                                } else {
-                                    $str .= "&lt;".number_format($assessment->grade * $workshop->grade / 100, 0).
-                                        " (0)&gt;</a> ";
-                                }
-                            } else {
-                                $str .= "[".number_format($assessment->grade *$workshop->grade / 100, 0);
-                                if ($workshop->wtype) { // print null grade if there are student assessments
-                                    $str .= " ((".number_format($assessment->gradinggrade * $workshop->gradinggrade / 100,
-                                                    0)."))";
-                                }
-                                $str .= "]</a> ";
-                            }
+                            $str .= "<a href=\"assessments.php?action=viewassessment&amp;id=$cm->id&amp;aid=$assessment->id\">"
+                                 . "[".number_format($assessment->grade *$workshop->grade / 100, 0)."]</a> ";
                         }
                     }
                 }
@@ -2839,16 +2845,20 @@ function workshop_print_submission_assessments($workshop, $submission, $type) {
                                 ")&gt;&gt;</a> ";
                         } elseif ($assessment->timegraded) {
                             if ($assessment->gradinggrade) {
-                                $str .= "{".number_format($assessment->grade * $workshop->grade / 100, 0)." (".
-                                    number_format($assessment->gradinggrade * $workshop->gradinggrade / 100, 0).
+                                $str .= "{".number_format($assessment->grade * $workshop->grade / 100, 0);
+                                if ($assessment->teachergraded) {
+                                    $str .= " [".number_format($assessment->gradinggrade * $workshop->gradinggrade / 100, 0).
+                                    "]}</a> ";
+                                } else {
+                                    $str .= " (".number_format($assessment->gradinggrade * $workshop->gradinggrade / 100, 0).
                                     ")}</a> ";
+                                }
                             } else {
                                 $str .= "&lt;".number_format($assessment->grade * $workshop->grade / 100, 0).
                                     " (0)&gt;</a> ";
                             }
                         } else {
-                            $str .= "{".number_format($assessment->grade * $workshop->grade / 100, 0)." ((".
-                                number_format($assessment->gradinggrade * $workshop->gradinggrade / 100, 0)."))}</a> ";
+                            $str .= "{".number_format($assessment->grade * $workshop->grade / 100, 0)."}</a> ";
                         }
                     }
                 }
@@ -2943,8 +2953,12 @@ function workshop_print_user_assessments($workshop, $user) {
             $str .= "<a href=\"assessments.php?action=viewassessment&amp;id=$cm->id&amp;aid=$assessment->id\">";
             if ($assessment->timegraded) {
                 if ($assessment->gradinggrade) {
-                    $str .= "{".number_format($assessment->grade * $workshop->grade / 100, 0). " (".
-                        number_format($assessment->gradinggrade * $workshop->gradinggrade / 100).")}</a> ";
+                    $str .= "{".number_format($assessment->grade * $workshop->grade / 100, 0);
+                    if ($assessment->teachergraded) {
+                        $str .= " [".number_format($assessment->gradinggrade * $workshop->gradinggrade / 100)."]}</a> ";
+                    } else {
+                        $str .= " (".number_format($assessment->gradinggrade * $workshop->gradinggrade / 100).")}</a> ";
+                    }
                 } else {
                     $str .= "&lt;".number_format($assessment->grade * $workshop->grade / 100, 0)." (0)&gt;</a> ";
                 }
index d8909f92b7ccdec7e07887128c0f3add0ccaaa18..001bfe3b0853276ba6f939ab9cc8c127acb44994 100644 (file)
         }
     
 
-    /*************** display final grades (by teacher) ***************************/
-    elseif ($action == 'displayfinalgrades') {
+    /*************** display grades (by teacher) ***************************/
+    elseif ($action == 'displaygrades' or $action == 'displayfinalgrades' or $action == 'displaycurrentgrades') {
 
         if (groupmode($course, $cm) == SEPARATEGROUPS) {
             $groupid = get_current_group($course->id);
         } else {
             $groupid = 0;
         }
-        // Get all the students
-        if (!$users = get_course_students($course->id, "u.lastname, u.firstname")) {
-            print_heading(get_string("nostudentsyet"));
-            print_footer($course);
-            exit;
-        }
         
-        // show the final grades as stored in the tables...
-        print_heading_with_help(get_string("displayoffinalgrades", "workshop"), "finalgrades", "workshop");
-        echo "<center><table border=\"1\" width=\"90%\"><tr>
-            <td bgcolor=\"$THEME->cellheading2\"><b>".$course->student."</b></td>";
-        echo "<td bgcolor=\"$THEME->cellheading2\"><b>".get_string("submission", "workshop")."</b></td>";
-        if ($workshop->wtype) {
-            echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("assessmentsdone", "workshop").
-                "</b></td>";
-            echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("gradeforassessments", 
-                "workshop")."</b></td>";
-        }
-        echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("assessmentsby", "workshop", 
-                $course->teachers)."</b></td>";
-        if ($workshop->wtype) {
-            echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("assessmentsby", "workshop", 
-                $course->students)."</b></td>";
-        }
-        echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("gradeforsubmission", 
-                "workshop")."</b></td>";
-        echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("overallgrade", "workshop").
-                "</b></td></tr>\n";
+        print_heading_with_help(get_string("displayofgrades", "workshop"), "finalgrades", "workshop");
 
-        foreach ($users as $user) {
-            // skip if student not in group
-            if ($groupid) {
-                if (!ismember($groupid, $user->id)) {
-                    continue;
-                }
-            }
-            if ($submissions = workshop_get_user_submissions($workshop, $user)) {
-                $gradinggrade = workshop_gradinggrade($workshop, $user);
-                foreach ($submissions as $submission) {
-                    $grade = workshop_submission_grade($workshop, $submission);
-                    echo "<tr><td>$user->firstname $user->lastname</td>";
-                    echo "<td>".workshop_print_submission_title($workshop, $submission)."</td>\n";
-                    if ($workshop->wtype) {
-                        echo "<td align=\"center\">".workshop_print_user_assessments($workshop, $user)."</td>";
-                        echo "<td align=\"center\">$gradinggrade</td>";
-                    }
-                    echo "<td align=\"center\">".workshop_print_submission_assessments($workshop, $submission, 
-                            "teacher")."</td>";
-                    if ($workshop->wtype) {
-                        echo "<td align=\"center\">".workshop_print_submission_assessments($workshop, $submission, 
-                            "student")."</td>";
-                    }
-                    echo "<td align=\"center\">$grade</td>";
-                    echo "<td align=\"center\">".number_format($gradinggrade + $grade, 1)."</td></tr>\n";
-                }
-            }
-        }
-        echo "</table><br clear=\"all\" />\n";
-        workshop_print_key($workshop);
-        if ($workshop->showleaguetable) {
-            workshop_print_league_table($workshop);
-            if ($workshop->anonymous) {
-                echo "<p>".get_string("namesnotshowntostudents", "workshop", $course->students)."</p>\n";
-            }
-        }
-        print_continue("view.php?id=$cm->id");
-    }
-
-
-    /*************** display current grades (by teacher) ***************************/
-    elseif ($action == 'displaycurrentgrades') {
-
-        if (groupmode($course, $cm) == SEPARATEGROUPS) {
-            $groupid = get_current_group($course->id);
-        } else {
-            $groupid = 0;
-        }
-        print_heading_with_help(get_string("displayofcurrentgrades", "workshop"), "finalgrades", "workshop");
-        
         if ($workshop->ntassessments) {
             // display the teacher's submissions
             echo "<center><table border=\"1\" width=\"90%\"><tr>\n";
             echo "<td bgcolor=\"$THEME->cellheading2\"><b>$course->teacher ".get_string("submission", "workshop").
                 "</b></td>";
-            echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("assessmentsby", "workshop", 
+            echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("assessmentsby", "workshop",
                     $course->teachers)."</b></td>";
-            echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("assessmentsby", "workshop", 
+            echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("assessmentsby", "workshop",
                    $course->students)."</b></td></tr>";
             if ($submissions = workshop_get_teacher_submissions($workshop)) {
                 foreach ($submissions as $submission) {
                     echo "<tr><td>".workshop_print_submission_title($workshop, $submission)."</td>\n";
-                    echo "<td align=\"center\">".workshop_print_submission_assessments($workshop, $submission, 
+                    echo "<td align=\"center\">".workshop_print_submission_assessments($workshop, $submission,
                                 "teacher")."</td>";
-                    echo "<td align=\"center\">".workshop_print_submission_assessments($workshop, $submission, 
+                    echo "<td align=\"center\">".workshop_print_submission_assessments($workshop, $submission,
                                 "student")."</td></tr>";
                 }
             }
             exit;
         }
         
-        // show the current grades as stored in the tables...
+        // show the grades as stored in the tables...     
         echo "<center><table border=\"1\" width=\"90%\"><tr>
-            <td bgcolor=\"$THEME->cellheading2\"><b>".$course->student."</b></td>";
-        echo "<td bgcolor=\"$THEME->cellheading2\"><b>".get_string("submission", "workshop")."</b></td>";
+            <td bgcolor=\"$THEME->cellheading2\" width=\"120\"><b>".$course->student."</b></td>";
         if ($workshop->wtype) {
             echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("assessmentsdone", "workshop").
                 "</b></td>";
             echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("gradeforassessments", 
                 "workshop")."</b></td>";
         }
+        echo "<td bgcolor=\"$THEME->cellheading2\"><b>".get_string("submission", "workshop")."</b></td>";
         echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("assessmentsby", "workshop", 
                 $course->teachers)."</b></td>";
         if ($workshop->wtype) {
                 $gradinggrade = workshop_gradinggrade($workshop, $user);
                 foreach ($submissions as $submission) {
                     $grade = workshop_submission_grade($workshop, $submission);
-                    echo "<tr><td>$user->firstname $user->lastname</td>";
-                    echo "<td>".workshop_print_submission_title($workshop, $submission)."</td>\n";
+                    echo "<tr><td><a href=\"{$CFG->wwwroot}/user/view.php?id=$user->id&amp;course=$course->id\">".
+                        fullname($user).'</a></td>';
                     if ($workshop->wtype) {
                         echo "<td align=\"center\">".workshop_print_user_assessments($workshop, $user)."</td>";
                         echo "<td align=\"center\">$gradinggrade</td>";
                     }
-                    echo "<td align=\"center\">".workshop_print_submission_assessments($workshop, $submission, 
-                            "teacher")."</td>";
+                    echo "<td>".workshop_print_submission_title($workshop, $submission)."</td>\n";
+                    $strteachergrades = workshop_print_submission_assessments($workshop, $submission, "teacher");
+                    if ($strteachergrades == '&nbsp;') {
+                        $strteachergrades = '<a href="assessments.php?action=assesssubmission&id='.
+                            $cm->id.'&sid='.$submission->id.'">'.get_string('assess', 'workshop').'</a>';
+                    }
+                    echo "<td align=\"center\">$strteachergrades</td>";
                     if ($workshop->wtype) {
                         echo "<td align=\"center\">".workshop_print_submission_assessments($workshop, $submission, 
                             "student")."</td>";
         }
         echo "</table><br clear=\"all\" />\n";
         workshop_print_key($workshop);
+        if ($workshop->showleaguetable and time() > $workshop->assessmentend) {
+            workshop_print_league_table($workshop);
+            if ($workshop->anonymous) {
+                echo "<p>".get_string("namesnotshowntostudents", "workshop", $course->students)."</p>\n";
+            }
+        }
         print_continue("view.php?id=$cm->id");
     }
 
index 9f9c79d7602a98fe374fd8f11aca4b2a5875eb51..c1a5d190355189d1faed22a6bbfeb06dc627b7d4 100644 (file)
 
     require_login($course->id);
 
-    $strworkshops = get_string("modulenameplural", "workshop");
-    $strworkshop = get_string("modulename", "workshop");
-    $strupload = get_string("upload");
+    $strworkshops = get_string('modulenameplural', 'workshop');
+    $strworkshop = get_string('modulename', 'workshop');
+    $strsubmission = get_string('submission', 'workshop');
 
-    print_header_simple("$workshop->name : $strupload", "",
+    print_header_simple("$workshop->name : $strsubmission", "",
                  "<a href=\"index.php?id=$course->id\">$strworkshops</a> -> 
-                  <a href=\"view.php?a=$workshop->id\">$workshop->name</a> -> $strupload", 
+                  <a href=\"view.php?a=$workshop->id\">$workshop->name</a> -> $strsubmission", 
                   "", "", true);
     $timenow = time();
 
@@ -64,7 +64,7 @@
         $newsubmission->late = 1;
     }
     if (!$newsubmission->id = insert_record("workshop_submissions", $newsubmission)) {
-        error("Workshop upload: Failure to create new submission record!");
+        error("Workshop submission: Failure to create new submission record!");
     }
     // see if this is a resubmission by looking at the previous submissions...
     if ($submissions and ($workshop->submissionstart > time())) { // ...but not teacher submissions
index ba58c24abcbd885136bac5410b6c0a79f8083912..fef985e89e80d938d2841b6df0f48e2ed4b5fc57 100644 (file)
@@ -5,7 +5,7 @@
 //  This fragment is called by /admin/index.php
 ////////////////////////////////////////////////////////////////////////////////
 
-$module->version  = 2004120402;
+$module->version  = 2004120900;
 $module->requires = 2004052505;  // Requires this Moodle version
 $module->cron     = 60;
 
index c53fbc8282906acaaed54c7b8923682f3309abc8..1454b51cf8385d595af88b53d67f350424970095 100644 (file)
@@ -16,6 +16,8 @@
     require("locallib.php");
     
     require_variable($id);    // Course Module ID
+    
+    $timenow = time();
 
     // get some useful stuff...
     if (! $cm = get_record("course_modules", "id", $id)) {
@@ -59,9 +61,9 @@
         if (!$cm->visible) {
             notice(get_string("activityiscurrentlyhidden"));
         }
-        if (time() < $workshop->submissionstart) { 
+        if ($timenow < $workshop->submissionstart) { 
             $action = 'notavailable'; 
-        } else if (time() < $workshop->assessmentend) {
+        } else if ($timenow < $workshop->assessmentend) {
             $action = 'studentsview';
         } else {
             $action = 'displayfinalgrade';
@@ -76,7 +78,7 @@
     if ($action == 'displayfinalgrade' ) {
 
         // show the final grades as stored in the tables...
-        print_heading_with_help(get_string("displayoffinalgrades", "workshop"), "finalgrades", "workshop");
+        print_heading(get_string("displayoffinalgrades", "workshop"));
         if ($submissions = workshop_get_user_submissions($workshop, $USER)) { // any submissions from user?
             echo "<center><table border=\"1\" width=\"90%\"><tr>";
             echo "<td><b>".get_string("submissions", "workshop")."</b></td>";
             }
             // has user submitted anything yet? 
             if (!workshop_get_user_submissions($workshop, $USER)) {
-                if (time() < $workshop->submissionend) {
+                if ($timenow < $workshop->submissionend) {
                     // print upload form
                     print_heading(get_string("submitassignmentusingform", "workshop").":");
                     workshop_print_upload_form($workshop);
                     workshop_list_self_assessments($workshop, $USER);
                 }
                 // if peer assessments are being done then show some  to assess...
-                if ($workshop->nsassessments and ($workshop->assessmentstart > time() and $workshop->assessmentend < time())) {  
+                if ($workshop->nsassessments and ($workshop->assessmentstart < $timenow and $workshop->assessmentend > $timenow)) {  
                     workshop_list_student_submissions($workshop, $USER);
                 }
                 // ..and any they have already done (and have gone cold)...
                     workshop_list_assessed_submissions($workshop, $USER);
                 }
                 // list any assessments by teachers
-                $timenow = time();
                 if (workshop_count_teacher_assessments_by_user($workshop, $USER) and ($timenow > $workshop->releasegrades)) {
                     print_heading(get_string("assessmentsby", "workshop", $course->teachers));
                     workshop_list_teacher_assessments_by_user($workshop, $USER);
                     workshop_list_peer_assessments($workshop, $USER);
                 }
                 // list previous submissions
-                print_heading(get_string("submissions", "workshop"));
+                print_heading(get_string("yoursubmissions", "workshop"));
                 workshop_list_user_submissions($workshop, $USER);
                 // are resubmissions allowed and the workshop is in submission/assessment phase?
-                if ($workshop->resubmit and (time() > $workshop->assessmentstart and time() < $workshop->submissionend)) {
+                if ($workshop->resubmit and ($timenow > $workshop->assessmentstart and $timenow < $workshop->submissionend)) {
                     // see if there are any cold assessments of the last submission
                     // if there are then print upload form
                     if ($submissions = workshop_get_user_submissions($workshop, $USER)) {
         }
 
         // Show link to student submissions for assessment only if assessment has started
-        if (time() > $workshop->assessmentstart) {
+        if ($timenow > $workshop->assessmentstart) {
             if ($numberofsubmissions = workshop_count_student_submissions_for_assessment($workshop, $USER)) {
                 echo "<br /><b><a href=\"submissions.php?id=$cm->id&amp;action=listforassessmentstudent\">".
                     get_string("studentsubmissionsforassessment", "workshop", 
         }
         
         // Show link to current grades
-        if (time() > $workshop->assessmentstart) {
-            if (time() < $workshop->assessmentend) {
+        if ($timenow > $workshop->assessmentstart) {
+            if ($timenow < $workshop->assessmentend) {
                 echo "<br /><b><a href=\"submissions.php?id=$cm->id&amp;action=displaycurrentgrades\">".
                         get_string("displayofcurrentgrades", "workshop")."</a></b> \n";
             } else {