Example #1
0
    } else {
        if (!$action) {
            if ($timenow < $workshop->assessmentend) {
                $action = 'studentsview';
            } else {
                $action = 'displayfinalgrade';
            }
        }
    }
}
// ...display header...
$navigation = build_navigation($action, $cm);
print_header_simple(format_string($workshop->name), "", $navigation, "", "", true, update_module_button($cm->id, $course->id, $strworkshop), navmenu($course, $cm));
// ...log activity...
add_to_log($course->id, "workshop", "view", "view.php?id={$cm->id}", $workshop->id, $cm->id);
if ($action == 'studentsview' and !workshop_is_student($workshop)) {
    $action = 'showdescription';
}
/****************** display final grade (for students) ************************************/
if ($action == 'displayfinalgrade') {
    require_capability('mod/workshop:participate', $context);
    print_heading("<b><a href=\"view.php?id={$cm->id}&amp;action=showdescription\">" . get_string("showdescription", 'workshop') . "</a></b>");
    // show the final grades as stored in the tables...
    if ($submissions = workshop_get_user_submissions($workshop, $USER)) {
        // any submissions from user?
        print_heading(get_string("displayoffinalgrades", "workshop"));
        echo "<div class=\"boxaligncenter\"><table border=\"1\" width=\"90%\"><tr>";
        echo "<td><b>" . get_string("submissions", "workshop") . "</b></td>";
        if ($workshop->wtype) {
            echo "<td align=\"center\"><b>" . get_string("assessmentsdone", "workshop") . "</b></td>";
            echo "<td align=\"center\"><b>" . get_string("gradeforassessments", "workshop") . "</b></td>";
Example #2
0
function workshop_count_ungraded_assessments($workshop)
{
    // function returns the number of ungraded assessments by students
    global $CFG;
    $timenow = time();
    $n = 0;
    // get all the cold assessments that have not been graded
    if ($assessments = get_records_select("workshop_assessments", "workshopid = {$workshop->id} AND\n            (timecreated + {$CFG->maxeditingtime}) < {$timenow} AND timegraded = 0")) {
        foreach ($assessments as $assessment) {
            if (workshop_is_student($workshop, $assessment->userid)) {
                $n++;
            }
        }
    }
    return $n;
}
 // ...and the resubmission flag
 set_field("workshop_assessments", "resubmission", 0, "id", $assessment->id);
 // if there's examples or peer assessments clear the counter in the submission so that
 // all assessments for this submission will be regraded
 if ($workshop->ntassessments or $workshop->nsassessments) {
     set_field("workshop_submissions", "nassessments", 0, "id", $submission->id);
     workshop_grade_assessments($workshop);
 } else {
     // it could be self assessment....
     // now see if there's a corresponding assessment so that the gradinggrade can be set
     if (workshop_is_teacher($workshop)) {
         // see if there's are student assessments, if so set their gradinggrade
         if ($assessments = workshop_get_assessments($submission)) {
             foreach ($assessments as $studentassessment) {
                 // skip if it's not a student assessment
                 if (!workshop_is_student($workshop, $studentassessment->userid)) {
                     continue;
                 }
                 $gradinggrade = workshop_compare_assessments($workshop, $assessment, $studentassessment);
                 set_field("workshop_assessments", "timegraded", $timenow, "id", $studentassessment->id);
                 set_field("workshop_assessments", "gradinggrade", $gradinggrade, "id", $studentassessment->id);
             }
         }
     } else {
         //it's a student assessment, see if there's a corresponding teacher's assessment
         if ($assessments = workshop_get_assessments($submission)) {
             foreach ($assessments as $teacherassessment) {
                 if (workshop_is_teacher($workshop, $teacherassessment->userid)) {
                     $gradinggrade = workshop_compare_assessments($workshop, $assessment, $teacherassessment);
                     set_field("workshop_assessments", "timegraded", $timenow, "id", $assessment->id);
                     set_field("workshop_assessments", "gradinggrade", $gradinggrade, "id", $assessment->id);
Example #4
0
require_login($course->id, false, $cm);
$strworkshops = get_string('modulenameplural', 'workshop');
$strworkshop = get_string('modulename', 'workshop');
$strsubmission = get_string('submission', 'workshop');
$navigation = build_navigation($strsubmission, $cm);
print_header_simple(format_string($workshop->name) . " : {$strsubmission}", "", $navigation, "", "", true);
$timenow = time();
$form = data_submitted("nomatch");
// POST may come from two forms
// don't be picky about not having a title
if (!($title = $form->title)) {
    $title = get_string("notitle", "workshop");
}
// 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 workshop examples rapidly
if (workshop_is_student($workshop)) {
    if ($submissions = workshop_get_user_submissions($workshop, $USER)) {
        // returns all submissions, newest on first
        foreach ($submissions as $submission) {
            if ($submission->timecreated > $timenow - $CFG->maxeditingtime) {
                // ignore this new submission
                redirect("view.php?id={$cm->id}");
                print_footer($course);
                exit;
            }
        }
    }
}
// get the current set of submissions
$submissions = workshop_get_user_submissions($workshop, $USER);
// add new submission record
Example #5
0
function workshop_print_submission_assessments($workshop, $submission, $type)
{
    global $USER, $CFG;
    // Returns the teacher or peer grade and a hyperlinked list of grades for this submission
    if (!($cm = get_coursemodule_from_instance("workshop", $workshop->id, $workshop->course))) {
        error("Course Module ID was incorrect");
    }
    $str = '';
    // get the assessments in grade order, highest first
    if ($assessments = workshop_get_assessments($submission, "", "grade DESC")) {
        if ($type == 'teacher' or $type == 'all') {
            // students can see teacher assessments only if the release date has passed
            $timenow = time();
            if (workshop_is_teacher($workshop, $USER->id) or $timenow > $workshop->releasegrades) {
                foreach ($assessments as $assessment) {
                    if (workshop_is_teacher($workshop, $assessment->userid)) {
                        if ($type == 'all') {
                            $str .= workshop_fullname($assessment->userid, $workshop->course) . ': ';
                        }
                        $str .= "<a href=\"viewassessment.php?aid={$assessment->id}\">" . "[" . number_format($assessment->grade * $workshop->grade / 100, 0) . "]</a>";
                        if (workshop_is_teacher($workshop, $USER->id)) {
                            $str .= ' <a title="' . get_string('reassess', 'workshop') . "\" href=\"assess.php?id={$cm->id}&amp;sid={$submission->id}\"><img src=\"{$CFG->pixpath}/t/edit.gif\" " . ' class="iconsmall" alt="' . get_string('reassess', 'workshop') . '" /></a>';
                            $str .= ' <a title="' . get_string('delete', 'workshop') . "\" href=\"assessments.php?action=confirmdelete&amp;wid={$workshop->id}&amp;aid={$assessment->id}\"><img src=\"{$CFG->pixpath}/t/delete.gif\" " . ' class="iconsmall" alt="' . get_string('delete', 'workshop') . '" /></a><br />';
                        }
                    }
                }
            }
        }
        if ($type == 'student' or $type == 'all') {
            foreach ($assessments as $assessment) {
                if (workshop_is_student($workshop, $assessment->userid)) {
                    if ($type == 'all') {
                        $str .= workshop_fullname($assessment->userid, $workshop->course) . ': ';
                    }
                    $str .= "<a href=\"viewassessment.php?aid={$assessment->id}\">";
                    if ($workshop->agreeassessments and !$assessment->timeagreed and workshop_is_student($workshop, $submission->userid)) {
                        // agreement on student work only
                        $str .= "&lt;&lt;" . number_format($assessment->grade * $workshop->grade / 100, 0) . " (" . number_format($assessment->gradinggrade * $workshop->gradinggrade / 100, 0) . ")&gt;&gt;</a> ";
                    } elseif ($assessment->timegraded) {
                        if ($assessment->gradinggrade) {
                            $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) . "}</a> ";
                    }
                    $str .= '<br />';
                }
            }
        }
    }
    if (!$str) {
        $str = "&nbsp;";
        // be kind to Mozilla browsers!
    }
    return $str;
}