$user = get_record("user", "id", $userid);
    exercise_print_assessments_by_user_for_admin($exercise, $user);
    print_continue("submissions.php?action=adminlist&id={$cm->id}");
} elseif ($action == 'assessresubmission') {
    if (empty($sid)) {
        error("exercise asssessments: assessresubmission called with no sid");
    }
    if (!($submission = get_record("exercise_submissions", "id", $sid))) {
        error("Assess submission is misconfigured - no submission record!");
    }
    if (!($submissionowner = get_record("user", "id", $submission->userid))) {
        error("Assess resubmission: user record not found");
    }
    // there can be an assessment record, if there isn't...
    if (!($assessment = exercise_get_submission_assessment($submission, $USER))) {
        if (!($submissions = exercise_get_user_submissions($exercise, $submissionowner))) {
            error("Assess resubmission: submission records not found");
        }
        $lastone = '';
        // just the last but one submission
        foreach ($submissions as $submission) {
            $prevsubmission = $lastone;
            $lastone = $submission;
        }
        // get the teacher's assessment of the student's previous submission
        if (!($prevassessment = exercise_get_submission_assessment($prevsubmission, $USER))) {
            error("Assess resubmission: Previous assessment record not found");
        }
        // copy this assessment with comments...
        $assessment = exercise_copy_assessment($prevassessment, $submission, true);
    }
Example #2
0
function exercise_user_outline($course, $user, $mod, $exercise)
{
    if ($submissions = exercise_get_user_submissions($exercise, $user)) {
        $result->info = count($submissions) . " " . get_string("submissions", "exercise");
        foreach ($submissions as $submission) {
            // the first one is the most recent one
            $result->time = $submission->timecreated;
            break;
        }
        return $result;
    }
    return NULL;
}
Example #3
0
if (!($course = get_record("course", "id", $cm->course))) {
    error("Course is misconfigured");
}
if (!($exercise = get_record("exercise", "id", $cm->instance))) {
    error("Course module is incorrect");
}
require_login($course->id, false, $cm);
$strexercises = get_string("modulenameplural", "exercise");
$strexercise = get_string("modulename", "exercise");
$strupload = get_string("upload");
$navigation = build_navigation($strupload, $cm);
print_header_simple(format_string($exercise->name) . " : {$strupload}", "", $navigation, "", "", true);
// check that this is not a "rapid" second submission, caused by using the back button
// only check if a student, teachers may want to submit a set of exercise variants
if (isstudent($course->id)) {
    if ($submissions = exercise_get_user_submissions($exercise, $USER)) {
        // returns all submissions, newest on first
        foreach ($submissions as $submission) {
            if ($submission->timecreated > $timenow - $CFG->maxeditingtime) {
                // ignore this submission
                redirect("view.php?id={$cm->id}");
                print_footer($course);
                exit;
            }
        }
    }
}
// check existence of title
if ($title == '') {
    notify(get_string("notitlegiven", "exercise"));
} else {
Example #4
0
function exercise_test_for_resubmission($exercise, $user)
{
    // see if any of the user's submissions have the resubmit flag set
    $result = false;
    if ($submissions = exercise_get_user_submissions($exercise, $user)) {
        foreach ($submissions as $submission) {
            if ($submission->resubmit) {
                $result = true;
                break;
            }
        }
    }
    return $result;
}