Exemplo n.º 1
0
                 if ($num = exercise_count_unassessed_student_submissions($exercise)) {
                     $phase .= " [" . get_string("unassessed", "exercise", $num) . "]";
                 }
                 break;
         }
         $table->data[] = array($exercise->section, $link, $title, $phase, $submitted, $due);
     } else {
         // it's a student
         if ($assessments = exercise_get_user_assessments($exercise, $USER)) {
             // should be only one...
             foreach ($assessments as $studentassessment) {
                 break;
             }
             if ($studentassessment->timegraded) {
                 // it's been assessed
                 if ($teacherassessment = exercise_get_submission_assessment($submission)) {
                     $actualgrade = number_format($studentassessment->gradinggrade * $exercise->gradinggrade / 100.0 + $teacherassessment->grade * $exercise->grade / 100.0, 1);
                     if ($submission->late) {
                         $actualgrade = "<font color=\"red\">(" . $actualgrade . ")<font color=\"red\">";
                     }
                     $actualgrade .= " (" . get_string("maximumshort") . ": " . number_format($exercise->gradinggrade + $exercise->grade, 0) . ")";
                     $table->data[] = array($exercise->section, $link, $title, $actualgrade, $submitted, $due);
                 }
             } else {
                 $table->data[] = array($exercise->section, $link, $title, "-", $submitted, $due);
             }
         }
     }
 } else {
     $table->data[] = array($link, $submitted, $due);
 }
Exemplo n.º 2
0
    if ($exercise->gradingstrategy) {
        redirect($returnto, "<p align=\"center\"><b>" . get_string("thegradeis", "exercise") . ": " . number_format($grade * $exercise->grade / 100.0, 1) . " (" . get_string("maximumgrade") . " " . number_format($exercise->grade) . ")</b></p>", 1);
    } else {
        redirect($returnto);
    }
} elseif ($action == 'updateteacherassessment') {
    if (!has_capability('mod/exercise:assess', $context)) {
        error("Only teachers can look at this page");
    }
    $timenow = time();
    $form = data_submitted();
    // first do the (teacher's) assessment of the student's submission
    if (!($submission = get_record("exercise_submissions", "id", $form->sid))) {
        error("Update teacher assessment: student's submission record not found");
    }
    if (!($assessment = exercise_get_submission_assessment($submission, $USER))) {
        error("Update teacher assessment: teacher's assessment record not found");
    }
    // first get the assignment elements for maxscores and weights...
    if (!($elementsraw = get_records("exercise_elements", "exerciseid", $exercise->id, "elementno ASC"))) {
        print_string("noteonassignmentelements", "exercise");
    } else {
        foreach ($elementsraw as $element) {
            $elements[] = $element;
            // to renumber index 0,1,2...
        }
    }
    // don't fiddle about, delete all the old and then add the new!
    delete_records("exercise_grades", "assessmentid", $assessment->id);
    //determine what kind of grading we have
    switch ($exercise->gradingstrategy) {
Exemplo n.º 3
0
function exercise_test_user_assessments($exercise, $user)
{
    // see if user has assessed one of  teacher's exercises/submissions...
    global $CFG;
    $result = false;
    $timenow = time();
    if ($submissions = exercise_get_teacher_submissions($exercise)) {
        foreach ($submissions as $submission) {
            if ($assessment = exercise_get_submission_assessment($submission, $user)) {
                // ...the date stamp on the assessment should be in the past
                if ($assessment->timecreated < $timenow) {
                    $result = true;
                    break;
                }
            }
        }
    }
    return $result;
}