From: gustav_delius ".get_string("numberofsubmissions", "workshop", count($num))." ".get_string("numberofsubmissions", "workshop", count($num))."
Grade';
$string['agreetothisassessment'] = 'Agree to this Assessment';
$string['allgradeshaveamaximumof'] = 'All Grades have a Maximum of: $a';
$string['allowresubmit'] = 'Allow Resubmissions';
+$string['allsubmissions'] = 'All submissions';
$string['alreadyinphase'] = 'Already in Phase $a';
$string['amendassessmentelements'] = 'Amend Assessment Elements';
$string['amendtitle'] = 'Amend Title';
@@ -32,7 +34,7 @@ $string['assessmentofresubmission'] = 'This is an Assessment of a revised piece
$string['assessmentofthissubmission'] = 'Assessment of this submission';
$string['assessments'] = 'Assessments';
$string['assessmentsareok'] = 'Assessments are OK';
-$string['assessmentsby'] = '$a Assessments';
+$string['assessmentsby'] = 'Assessments by $a';
$string['assessmentsdone'] = 'Assessments Done';
$string['assessmentsexcluded'] = 'Number of Assessments excluded for this $a';
$string['assessmentsmustbeagreed'] = 'Assessments must be agreed';
@@ -43,6 +45,7 @@ $string['assessor'] = 'Assessor';
$string['assessthissubmission'] = 'Assess this submission';
$string['assessthisassessment'] = 'Grade this assessment';
$string['assignmentnotinthecorrectphase'] = 'Assignment not in the Correct Phase';
+$string['assmnts'] = 'Assessments';
$string['attachment'] = 'Attachment';
$string['attachments'] = 'Attachments';
$string['authorofsubmission'] = 'Author of Submission';
@@ -50,6 +53,7 @@ $string['automaticgradeforassessment'] = 'Automatic grade for assessment';
$string['averageerror'] = 'Average Error';
$string['awaitinggradingbyteacher'] = 'Awaiting Grading by $a';
$string['beforedeadline'] = 'Before Deadline: $a';
+$string['by'] = 'submitted by';
$string['calculationoffinalgrades'] = 'Calculation of Final Grades';
$string['clearlateflag'] = "Clear Late Flag";
$string['closeassignment'] = 'Close Assignment';
@@ -62,6 +66,8 @@ $string['correct'] = 'Correct';
$string['count'] = 'Count';
$string['criterion'] = 'Criterion';
$string['currentphase'] = 'Current phase';
+$string['date'] = 'Date';
+$string['datestr'] = '%%d/%%m/%%y
%%H:%%M';
$string['deadline'] = 'Deadline for submission';
$string['deadlineis'] = 'The Deadline for submission is $a';
$string['delete'] = 'Delete';
@@ -82,11 +88,13 @@ $string['elementweight'] = 'Element Weight';
$string['enterpassword'] = "Enter Password";
$string['errorbanded'] = 'Error Banded';
$string['errortable'] = 'Error Table';
+$string['examplesubmissions'] = 'Example Submissions';
$string['excellent'] = 'Excellent';
$string['excludingdroppedassessments'] = 'excluding dropped Assessments';
$string['expectederror'] = 'Expected Error Value if guessing: $a';
$string['fair'] = "Fair";
$string['feedbackgoeshere'] = 'Feedback goes here';
+$string['firstname'] = 'First name';
$string['generalcomment'] = 'General comment';
$string['good'] = 'Good';
$string['grade'] = 'Grade';
@@ -100,6 +108,7 @@ $string['gradeforreliability'] = 'Grade for Reliability';
$string['gradeforstudentsassessment'] = 'Grade for Student\'s Assessment';
$string['gradeforsubmission'] = 'Grade for Submission';
$string['gradeofsubmission'] = 'Grade of Submission: $a';
+$string['grades'] = 'Grades';
$string['gradesforassessmentsare'] = 'Grades for Assessments are out of $a';
$string['gradesforstudentsassessment'] = 'Grades for $a\'s Assessment';
$string['gradesforsubmissionsare'] = 'Grades for Submissions are out of $a';
@@ -114,6 +123,7 @@ $string['incorrect'] = 'Incorrect';
$string['info'] = 'Info';
$string['invaliddates'] = 'The dates you have entered are not possible.
Use the browser\'s Back button to return to the form and correct the dates.';
$string['iteration'] = 'Iteration $a completed';
+$string['lastname'] = 'Surname';
$string['lax'] = "Lax";
$string['leaguetable'] = 'League Table of Submitted Work';
$string['listassessments'] = 'List Assessments';
@@ -130,7 +140,7 @@ $string['mail6'] = 'Your assessment of the assignment \'$a\' has by reviewed.';
$string['mail7'] = 'The comments given by the $a can be seen in the Workshop Assignment '; //not used in 1.5
$string['mail8'] = 'The assignment $a is a revised piece of work. ';
$string['mail9'] = 'Please assess it in the workshop assignment \'$a\'.';
-$string['managingassignment'] = 'Managing the Assignment';
+$string['managingassignment'] = 'Managing the Workshop';
$string['maximum'] = 'Maximum';
$string['maximumsize'] = 'Maximum Size';
$string['mean'] = 'Mean';
@@ -161,6 +171,7 @@ $string['noteonstudentassessments'] = '{Grade from Student / Grading Grade for A
$string['notgraded'] = 'Not Graded';
$string['notitle'] = 'No Title';
$string['notitlegiven'] = 'No Title Given';
+$string['nowork'] = 'The submission period has now ended.
You have submitted no work.';
$string['numberofassessmentelements'] = 'Number of Comments, Assessment Elements, Grade Bands, Criterion Statments or Categories in a Rubric';
$string['numberofassessments'] = 'Number of Assessments';
$string['numberofassessmentschanged'] = 'Number of Assessments Changed: $a';
@@ -172,6 +183,7 @@ $string['numberofattachments'] = 'Number of Attachments expected on Submissions'
$string['numberofentries'] = 'Number of Entries';
$string['numberofnegativeresponses'] = 'Number of Negative Responses';
$string['numberofsubmissions'] = 'Number of Submissions: $a';
+$string['ograde'] = 'Total
Grade';
$string['on'] = 'on $a';
$string['openassignment'] = 'Open Assignment';
$string['optionaladjustment'] = 'Optional Adjustment';
@@ -183,6 +195,7 @@ $string['overallpeergrade'] = 'Overall Peer Grade: $a';
$string['overallteachergrade'] = 'Overall Teacher Grade: $a';
$string['ownwork'] = 'Own Work';
$string['passwordprotectedworkshop'] = "Password Protected Workshop";
+$string['passmnts'] = 'Peer
Assessments';
$string['percentageofassessments'] = 'Percentage of Assessments to Drop';
$string['phase'] = 'Phase';
$string['phase0'] = 'Inactive';
@@ -231,6 +244,8 @@ $string['scalepresent'] = '2 point Present/Absent scale';
$string['scaleyes'] = '2 point Yes/No scale';
$string['select'] = 'Select';
$string['selfassessment'] = 'Self Assessment';
+$string['sgrade'] = 'Sbmsn
Grade';
+$string['showdescription'] = 'Show Workshop Description';
$string['showgrades'] = 'Show Grades';
$string['showsubmission'] = 'Show Submission: $a';
$string['specimenassessmentform'] = 'Specimen Assessment Form';
@@ -252,11 +267,13 @@ $string['submissionstartevent'] = 'Start of submissions for $a';
$string['submissionsused'] = '$a Submissions used in this table';
$string['submitassignment'] = 'Submit Assignment';
$string['submitassignmentusingform'] = 'Submit your Assignment using this Form';
+$string['submitexample'] = 'Submit Example';
$string['submitexampleassignment'] = 'Submit Example Assignment';
$string['submitrevisedassignment'] = 'Submit your Revised Assignment using this Form';
$string['submitted'] = 'Submitted';
$string['submittedby'] = 'Submitted by';
$string['suggestedgrade'] = 'Suggested Grade';
+$string['tassmnt'] = 'Teacher
Assessment';
$string['teacherassessments'] = '$a Assessments';
$string['teachergradeforassessment'] = '$a grade for assessment';
$string['teacherscomment'] = 'Teacher\'s Comment';
@@ -267,7 +284,7 @@ $string['thegradeforthisassessmentis'] = 'The grade for this assessment is $a';
$string['theseasessmentsaregradedbytheteacher'] = 'These Assessments are graded by the $a';
$string['thisisadroppedassessment'] = 'This is a dropped Assessment.';
$string['timeassessed'] = 'Time Assessed';
-$string['title'] = 'Title';
+$string['title'] = 'Submission Title';
$string['typeofscale'] = 'Type of Scale';
$string['unassessed'] = "\$a Unassessed";
$string['ungradedassessments'] = '$a Ungraded Assessments';
@@ -279,6 +296,7 @@ $string['verylax'] = "Very Lax";
$string['verypoor'] = "Very Poor";
$string['verystrict'] = "Very Strict";
$string['view'] = 'View';
+$string['viewassessment'] = 'View Assessment';
$string['viewassessmentofteacher'] = 'View Assessment of $a';
$string['viewotherassessments'] = 'View other Assessments';
$string['warningonamendingelements'] = 'WARNING: There are submitted assessments.
Do NOT change the number
diff --git a/mod/workshop/assess.php b/mod/workshop/assess.php
new file mode 100644
index 0000000000..81ac08d797
--- /dev/null
+++ b/mod/workshop/assess.php
@@ -0,0 +1,137 @@
+workshopid)) {
+ error("Submission is incorrect");
+ }
+ if (! $course = get_record("course", "id", $workshop->course)) {
+ error("Workshop is misconfigured");
+ }
+ if (! $cm = get_coursemodule_from_instance("workshop", $workshop->id, $course->id)) {
+ error("No coursemodule found");
+ }
+
+ if (!$redirect) {
+ $redirect = urlencode($_SERVER["HTTP_REFERER"].'#sid='.$submission->id);
+ }
+
+ require_login($course->id);
+
+ $strworkshops = get_string("modulenameplural", "workshop");
+ $strworkshop = get_string("modulename", "workshop");
+ $strassess = get_string("assess", "workshop");
+
+ /// Now check whether we need to display a frameset
+
+ if (empty($_GET['frameset'])) {
+ echo "
';
+ echo workshop_print_submission_assessments($workshop, $submission, "all");
+ echo '
\n";
- add_to_log($course->id, "workshop", "agree", "assessments.php?action=viewassessment&id=$cm->id&aid=$assessment->id", "$assessment->id");
+ add_to_log($course->id, "workshop", "agree", "viewassessment.php?id=$cm->id&aid=$assessment->id", "$assessment->id");
print_continue("view.php?id=$cm->id");
}
- /*************** Assess submission (by teacher or student) ***************************/
- elseif ($action == 'assesssubmission') {
-
- require_variable($sid);
-
- optional_variable($allowcomments);
- if (!isset($allowcomments)) {
- $allowcomments = false;
- }
-
- if (! $submission = get_record("workshop_submissions", "id", $sid)) {
- error("Assess submission is misconfigured - no submission record!");
- }
-
- // there can be an assessment record (for teacher submissions), if there isn't...
- if (!$assessment = get_record("workshop_assessments", "submissionid", $submission->id, "userid",
- $USER->id)) {
- // if it's the teacher see if the user has done a self assessment if so copy it
- if (isteacher($course->id) and ($assessment = get_record("workshop_assessments", "submissionid",
- $submission->id, "userid", $submission->userid))) {
- $assessment = workshop_copy_assessment($assessment, $submission, true);
- // need to set owner of assessment
- set_field("workshop_assessments", "userid", $USER->id, "id", $assessment->id);
- $assessment->resubmission = 0; // not set by workshop_copy_assessment
- $assessment->timegraded = 0; // not set by workshop_copy_assessment
- $assessment->timeagreed = 0; // not set by workshop_copy_assessment
- } else {
- $yearfromnow = time() + 365 * 86400;
- // ...create one and set timecreated way in the future, this is reset when record is updated
- $assessment->workshopid = $workshop->id;
- $assessment->submissionid = $submission->id;
- $assessment->userid = $USER->id;
- $assessment->timecreated = $yearfromnow;
- $assessment->grade = -1; // set impossible grade
- $assessment->timegraded = 0;
- $assessment->timeagreed = 0;
- $assessment->resubmission = 0;
- if (!$assessment->id = insert_record("workshop_assessments", $assessment)) {
- error("Could not insert workshop assessment!");
- }
- // if it's the teacher and the workshop is error banded set all the elements to Yes
- if (isteacher($course->id) and ($workshop->gradingstrategy == 2)) {
- for ($i =0; $i < $workshop->nelements; $i++) {
- unset($element);
- $element->workshopid = $workshop->id;
- $element->assessmentid = $assessment->id;
- $element->elementno = $i;
- $element->feedback = '';
- $element->grade = 1;
- if (!$element->id = insert_record("workshop_grades", $element)) {
- error("Could not insert workshop grade!");
- }
- }
- // now set the adjustment
- unset($element);
- $i = $workshop->nelements;
- $element->workshopid = $workshop->id;
- $element->assessmentid = $assessment->id;
- $element->elementno = $i;
- $element->grade = 0;
- if (!$element->id = insert_record("workshop_grades", $element)) {
- error("Could not insert workshop grade!");
- }
- }
- }
- }
-
- print_heading_with_help(get_string("assessthissubmission", "workshop"), "grading", "workshop");
-
- // show assessment and allow changes
- workshop_print_assessment($workshop, $assessment, true, $allowcomments, $_SERVER["HTTP_REFERER"]);
- }
-
-
/*************** display grading form (viewed by student) *********************************/
elseif ($action == 'displaygradingform') {
@@ -766,7 +693,7 @@
add_to_log($course->id, "workshop", "comment", "view.php?id=$cm->id", "$comment->id");
- print_continue("assessments.php?action=viewassessment&id=$cm->id&aid=$assessment->id");
+ print_continue("viewassessment.php?id=$cm->id&aid=$assessment->id");
}
@@ -936,6 +863,7 @@
}
echo "";
workshop_grade_assessments($workshop);
+ echo '
';
print_continue("submissions.php?id=$cm->id&action=adminlist");
}
@@ -1122,7 +1050,7 @@
// redisplay form, going back to original returnto address
workshop_print_assessment($workshop, $assessment, true, true, $form->returnto);
- // add_to_log($course->id, "workshop", "assess", "assessments.php?action=viewassessment&id=$cm->id&aid=$assessment->id", "$assessment->id", "$cm->id");
+ // add_to_log($course->id, "workshop", "assess", "viewassessment.php?id=$cm->id&aid=$assessment->id", "$assessment->id", "$cm->id");
}
@@ -1301,16 +1229,17 @@
// set grade...
set_field("workshop_assessments", "grade", $grade, "id", $assessment->id);
- // ...and clear the timegraded but set the graddinggrade to maximum, may to reduced subsequently...
+ // ...and clear the timegraded but set the graddinggrade to maximum, may be reduced subsequently...
set_field("workshop_assessments", "timegraded", 0, "id", $assessment->id);
set_field("workshop_assessments", "gradinggrade", 100, "id", $assessment->id);
// ...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
- // the cron job will regrade this assessment (and the other assessments fo the submission)
+ // 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 (isteacher($course->id)) {
@@ -1346,7 +1275,7 @@
}
add_to_log($course->id, "workshop", "assess",
- "assessments.php?action=viewassessment&id=$cm->id&aid=$assessment->id", "$assessment->id", "$cm->id");
+ "viewassessment.php?id=$cm->id&aid=$assessment->id", "$assessment->id", "$cm->id");
// set up return address
if (!$returnto = $form->returnto) {
@@ -1387,10 +1316,10 @@
echo "
\n";
add_to_log($course->id, "workshop", "comment",
- "assessments.php?action=viewassessment&id=$cm->id&aid=$assessment->id", "$comment->id");
+ "viewassessment.php?id=$cm->id&aid=$assessment->id", "$comment->id");
}
- print_continue("assessments.php?action=viewassessment&id=$cm->id&aid=$assessment->id");
+ print_continue("viewassessment.php?id=$cm->id&aid=$assessment->id");
}
@@ -1417,47 +1346,9 @@
echo "
\n";
add_to_log($course->id, "workshop", "grade",
- "assessments.php?action=viewassessment&id=$cm->id&aid=$assessment->id", "$assessment->id", "$cm->id");
+ "viewassessment.php?id=$cm->id&aid=$assessment->id", "$assessment->id", "$cm->id");
}
- switch ($form->stype) {
- case "student" :
- redirect("assessments.php?action=listungradedstudentsubmissions&id=$cm->id");
- break;
- case "teacher" :
- redirect("assessments.php?action=listungradedteachersubmissions&id=$cm->id");
- break;
- }
- }
-
-
- /****************** user confirm delete ************************************/
- elseif ($action == 'userconfirmdelete' ) {
-
- if (empty($_GET['aid'])) {
- error("User confirm delete: assessment id missing");
- }
-
- notice_yesno(get_string("confirmdeletionofthisitem","workshop",
- get_string("assessment", "workshop")),
- "assessments.php?action=userdelete&id=$cm->id&aid=$_GET[aid]", "view.php?id=$cm->id");
- }
-
-
- /****************** user delete ************************************/
- elseif ($action == 'userdelete' ) {
-
- if (empty($_GET['aid'])) {
- error("User delete: assessment id missing");
- }
-
- print_string("deleting", "workshop");
- // first delete all the associated records...
- delete_records("workshop_comments", "assessmentid", $_GET['aid']);
- delete_records("workshop_grades", "assessmentid", $_GET['aid']);
- // ...now delete the assessment...
- delete_records("workshop_assessments", "id", $_GET['aid']);
-
- print_continue("view.php?id=$cm->id");
+ redirect($form->redirect);
}
@@ -1477,32 +1368,6 @@
print_continue("submissions.php?action=listallsubmissions&id=$cm->id");
}
-
- /****************** view assessment *****************************/
- elseif ($action == 'viewassessment') {
-
- optional_variable($allowcomments);
- if (!isset($allowcomments)) {
- $allowcomments = false;
- }
-
- // get the assessment record
- if (!$assessment = get_record("workshop_assessments", "id", $_GET['aid'])) {
- error("Assessment record not found");
- }
-
- // 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(''.
- get_string('assessthisassessment', 'workshop').'');
- }
-
- print_continue("view.php?id=$cm->id");
- }
-
-
/*************** no man's land **************************************/
else {
error("Fatal Error: Unknown Action: ".$action."\n");
diff --git a/mod/workshop/lib.php b/mod/workshop/lib.php
index 8f478a0531..5b5fb611eb 100644
--- a/mod/workshop/lib.php
+++ b/mod/workshop/lib.php
@@ -894,6 +894,7 @@ function workshop_update_instance($workshop) {
// Given an object containing all the necessary data,
// (defined by the form in mod.html) this function
// will update an existing instance with new data.
+ global $CFG;
$workshop->timemodified = time();
@@ -971,6 +972,12 @@ function workshop_update_instance($workshop) {
}
}
+ if (time() > $workshop->assessmentstart) {
+ // regrade all the submissions...
+ set_field("workshop_submissions", "nassessments", 0, "workshopid", $workshop->id);
+ workshop_grade_assessments($workshop);
+ }
+
return $returnid;
}
@@ -1314,21 +1321,21 @@ function workshop_get_assess_logs($course, $timestart) {
//////////////////////////////////////////////////////////////////////////////////////
function workshop_get_assessments($submission, $all = '', $order = '') {
// Return assessments for this submission ordered oldest first, newest last
- // new assessments made within the editing time are NOT returned unless the
- // second argument is set to ALL
- global $CFG;
-
+ // new assessments made within the editing time are NOT returned unless they
+ // belong to the user or the second argument is set to ALL
+ global $CFG, $USER;
+ $timenow = time();
if (!$order) {
$order = "timecreated DESC";
}
if ($all != 'ALL') {
- $timenow = time();
return get_records_select("workshop_assessments", "(submissionid = $submission->id) AND
- (timecreated < $timenow - $CFG->maxeditingtime)", $order);
+ ((timecreated < $timenow - $CFG->maxeditingtime) or
+ ((timecreated < $timenow) AND (userid = $USER->id)))", $order);
} else {
- return get_records_select("workshop_assessments", "submissionid = $submission->id",
- $order);
+ return get_records_select("workshop_assessments", "submissionid = $submission->id AND
+ (timecreated < $timenow)", $order);
}
}
@@ -1511,7 +1518,7 @@ function workshop_get_user_submissions($workshop, $user) {
//////////////////////////////////////////////////////////////////////////////////////
-function workshop_grade_assessments($workshop) {
+function workshop_grade_assessments($workshop, $verbose=false) {
global $WORKSHOP_EWEIGHTS;
// timeout after 10 minutes
@@ -1598,8 +1605,10 @@ function workshop_grade_assessments($workshop) {
$total += $n; // weighted total
}
}
- echo "
\n";
- echo get_string("numberofassessmentsweighted", "workshop", $total)."
\n";
+ echo get_string("numberofassessmentsweighted", "workshop", $total)."
";
- if ($sd[$i] <= $minvar) {
- print_string("standarddeviationnote", "workshop")."
\n";
+ if ($verbose) {
+ echo get_string("standarddeviationofelement", "workshop", $i+1)." $sd[$i]
";
+ if ($sd[$i] <= $minvar) {
+ print_string("standarddeviationnote", "workshop")."
\n";
+ }
}
}
}
@@ -1656,7 +1667,7 @@ function workshop_grade_assessments($workshop) {
// ...if there are three or more assessments calculate the variance of each assessment.
// Use the variance to find the "best" assessment. (When there is only one or two assessments they
// are not altered by this routine.)
- echo "Processing submission $submission->id ($nassessments asessments)...\n";
+ if ($verbose) echo "Processing submission $submission->id ($nassessments asessments)...\n";
if ($nassessments > 2) {
$num = 0; // weighted number of assessments
for ($i = 0; $i < $workshop->nelements; $i++) {
@@ -1694,7 +1705,7 @@ function workshop_grade_assessments($workshop) {
if ($num) { // could all the assessments be duff?
for ($i = 0; $i < $workshop->nelements; $i++) {
$mean[$i] = $sum[$i] / $num;
- echo "Submission: $submission->id; Element: $i; Mean: {$mean[$i]}\n";
+ if ($verbose) echo "Submission: $submission->id; Element: $i; Mean: {$mean[$i]}\n";
}
} else {
continue; // move to the next submission
@@ -1729,7 +1740,7 @@ function workshop_grade_assessments($workshop) {
if (!$best = get_record("workshop_assessments", "id", $bestassessmentid)) {
error("Workshop grade assessments: cannot find best assessment");
}
- echo "Best assessment is $bestassessmentid;\n";
+ if ($verbose) echo "Best assessment is $bestassessmentid;\n";
foreach ($assessments as $assessment) {
// don't overwrite teacher's grade
if ($assessment->teachergraded) {
@@ -1825,4 +1836,15 @@ function workshop_submission_grade($workshop, $submission) {
return number_format($grade * $workshop->grade / 100, 1);
}
+
+/////////////////////////////////////////////////////////////////////////////
+function workshop_fullname($userid, $courseid) {
+ global $CFG;
+ if (!$user = get_record('user', 'id', $userid)) {
+ return '';
+ }
+ return ''.
+ fullname($user).'';
+}
+
?>
diff --git a/mod/workshop/locallib.php b/mod/workshop/locallib.php
index 13a0d1905b..900c8ba476 100644
--- a/mod/workshop/locallib.php
+++ b/mod/workshop/locallib.php
@@ -751,7 +751,7 @@ function workshop_list_all_submissions($workshop, $user) {
AND userid = $user->id")) {
$curtime = time();
if (($curtime - $assessment->timecreated) > $CFG->maxeditingtime) {
- $action = "id&aid=$assessment->id\">"
+ $action = "id&aid=$assessment->id\">"
.get_string("view", "workshop")."";
// has teacher graded user's assessment?
if ($assessment->timegraded) {
@@ -761,12 +761,12 @@ function workshop_list_all_submissions($workshop, $user) {
}
}
else { // there's still time left to edit...
- $action = "id&sid=$submission->id\">".
+ $action = "id\">".
get_string("edit", "workshop")."";
}
}
else { // user has not graded this submission
- $action = "id&sid=$submission->id\">".
+ $action = "id\">".
get_string("assess", "workshop")."";
}
$table->data[] = array(workshop_print_submission_title($workshop, $submission), $action,
@@ -798,7 +798,7 @@ function workshop_list_all_submissions($workshop, $user) {
AND userid = $user->id")) {
$curtime = time();
if (($curtime - $assessment->timecreated) > $CFG->maxeditingtime) {
- $action = "id&aid=$assessment->id\">".
+ $action = "id&aid=$assessment->id\">".
get_string("view", "workshop")."";
// has teacher graded on user's assessment?
if ($assessment->timegraded) {
@@ -813,12 +813,12 @@ function workshop_list_all_submissions($workshop, $user) {
}
}
else { // there's still time left to edit...
- $action = "id&sid=$submission->id\">".
+ $action = "id\">".
get_string("edit", "workshop")."";
}
}
else { // user has not assessed this submission
- $action = "id&sid=$submission->id\">".
+ $action = "id\">".
get_string("assess", "workshop")."";
}
$table->data[] = array(workshop_print_submission_title($workshop, $submission), $action,
@@ -849,11 +849,11 @@ function workshop_list_all_ungraded_assessments($workshop) {
foreach ($assessments as $assessment) {
if (!isteacher($workshop->course, $assessment->userid)) {
if (($timenow - $assessment->timegraded) < $CFG->maxeditingtime) {
- $action = "id&aid=$assessment->id\">".
+ $action = "id&aid=$assessment->id\">".
get_string("edit", "workshop")."";
}
else {
- $action = "id&aid=$assessment->id\">".
+ $action = "id&aid=$assessment->id\">".
get_string("gradeassessment", "workshop")."";
}
$submission = get_record("workshop_submissions", "id", $assessment->submissionid);
@@ -899,22 +899,22 @@ function workshop_list_assessed_submissions($workshop, $user) {
if ($assessment->timecreated < ($timenow - $CFG->maxeditingtime)) { // it's cold
if ($workshop->agreeassessments) {
if (!$assessment->timeagreed) {
- $action = "id&aid=$assessment->id&".
+ $action = "id&aid=$assessment->id&".
"allowcomments=$workshop->agreeassessments\">".
get_string("view", "workshop")."";
- $action .= " | id&sid=$submission->id\">".
+ $action .= " | id\">".
get_string("reassess", "workshop")."";
} else {
- $action = "id&aid=$assessment->id&".
+ $action = "id&aid=$assessment->id&".
"allowcomments=false\">".get_string("view", "workshop")."";
}
} else {
// if it been graded allow student to re-assess, except if it's a self assessment
if ($assessment->timegraded and !($USER->id == $assessment->userid)) {
- $action = "id&sid=$submission->id\">".
+ $action = "id\">".
get_string("reassess", "workshop")."";
} else {
- $action = "id&aid=$assessment->id\">".
+ $action = "id&aid=$assessment->id\">".
get_string("view", "workshop")."";
}
}
@@ -988,7 +988,7 @@ function workshop_list_peer_assessments($workshop, $user) {
($assessment->userid != $user->id)) {
$timenow = time();
if (($timenow - $assessment->timecreated) > $CFG->maxeditingtime) {
- $action = "id&aid=$assessment->id&".
+ $action = "id&aid=$assessment->id&".
"allowcomments=$workshop->agreeassessments\">".
get_string("view", "workshop")."";
$comment = get_string("assessedon", "workshop", userdate($assessment->timecreated));
@@ -1059,13 +1059,13 @@ function workshop_list_self_assessments($workshop, $user) {
$comment = get_string("ownwork", "workshop"); // just in case they don't know!
if (!$assessment = get_record_select("workshop_assessments", "submissionid = $submission->id AND
userid = $user->id")) {
- $action = "id&sid=$submission->id\">".
+ $action = "id\">".
get_string("assess", "workshop")."";
$table->data[] = array(workshop_print_submission_title($workshop, $submission), $action, $comment);
} else {
// may still be warm
if (($assessment->timecreated + $CFG->maxeditingtime) > $timenow) {
- $action = "id&sid=$submission->id\">".
+ $action = "id\">".
get_string("reassess", "workshop")."";
$table->data[] = array(workshop_print_submission_title($workshop, $submission), $action, $comment);
}
@@ -1187,12 +1187,12 @@ function workshop_list_student_submissions($workshop, $user) {
// just assessed but still editable [warm]; and "static" (may or may not have been graded by teacher, that
// is shown in the comment) [cold]
if ($assessment->timecreated > $timenow) { // user needs to assess this submission
- $action = "id&sid=$submission->id\">".
+ $action = "id\">".
get_string("assess", "workshop")."";
$table->data[] = array(workshop_print_submission_title($workshop, $submission), $action, $comment);
}
elseif ($assessment->timecreated > ($timenow - $CFG->maxeditingtime)) { // there's still time left to edit...
- $action = "id&sid=$submission->id\">".
+ $action = "id\">".
get_string("edit", "workshop")."";
$table->data[] = array(workshop_print_submission_title($workshop, $submission), $action, $comment);
}
@@ -1251,20 +1251,20 @@ function workshop_list_submissions_for_admin($workshop, $order) {
AND userid = $USER->id")) {
$curtime = time();
if ($assessment->timecreated > $curtime) { // it's a "hanging" assessment
- $action .= " | id&sid=$submission->id\">".
+ $action .= " | id\">".
get_string("assess", "workshop")."";
}
elseif (($curtime - $assessment->timecreated) > $CFG->maxeditingtime) {
- $action .= " | id&sid=$submission->id\">"
+ $action .= " | id\">"
.get_string("reassess", "workshop")."";
}
else { // there's still time left to edit...
- $action .= " | id&sid=$submission->id\">".
+ $action .= " | id\">".
get_string("edit", "workshop")."";
}
}
else { // user has not graded this submission
- $action .= " | id&sid=$submission->id\">".
+ $action .= " | id\">".
get_string("assess", "workshop")."";
}
if ($assessments = workshop_get_assessments($submission)) {
@@ -1272,7 +1272,7 @@ function workshop_list_submissions_for_admin($workshop, $order) {
get_string("listassessments", "workshop")."";
}
if (isteacheredit($course->id)) {
- $action .= " | id&sid=$submission->id\">".
+ $action .= " | id&sid=$submission->id\">".
get_string("delete", "workshop")."";
}
$table->data[] = array("id&sid=$submission->id\">$submission->title", $course->teacher, $action);
@@ -1306,7 +1306,7 @@ function workshop_list_submissions_for_admin($workshop, $order) {
$title ='';
foreach ($assessments as $assessment) {
if (!$submission = get_record("workshop_submissions", "id", $assessment->submissionid)) {
- error("Workshop_list_submissions_for_admin: Submission record not found!");
+ error("Workshop_list_submissions_for_admin: Submission $assessment->submissionid not found!");
}
$title .= $submission->title;
if ($workshop->agreeassessments and !$assessment->timeagreed and
@@ -1421,16 +1421,16 @@ function workshop_list_submissions_for_admin($workshop, $order) {
AND userid = $USER->id")) {
$curtime = time();
if (($curtime - $assessment->timecreated) > $CFG->maxeditingtime) {
- $action .= " | id&sid=$submission->id\">".
+ $action .= " | id\">".
get_string("reassess", "workshop")."";
}
else { // there's still time left to edit...
- $action .= " | id&sid=$submission->id\">".
+ $action .= " | id\">".
get_string("edit", "workshop")."";
}
}
else { // user has not assessed this submission
- $action .= " | id&sid=$submission->id\">".
+ $action .= " | id\">".
get_string("assess", "workshop")."";
}
if ($nassessments = workshop_count_assessments($submission)) {
@@ -1441,7 +1441,7 @@ function workshop_list_submissions_for_admin($workshop, $order) {
$action .= " | id&sid=$submission->id\">".
get_string("clearlateflag", "workshop")."";
}
- $action .= " | id&sid=$submission->id\">".
+ $action .= " | id&sid=$submission->id\">".
get_string("delete", "workshop")."";
$nsubmissions++;
$table->data[] = array("$user->firstname $user->lastname", $submission->title.
@@ -1482,7 +1482,7 @@ function workshop_list_teacher_assessments_by_user($workshop, $user) {
if ($assessments = workshop_get_assessments($submission)) {
foreach ($assessments as $assessment) {
if (isteacher($workshop->course, $assessment->userid)) { // assessments by teachers only
- $action = "id&aid=$assessment->id\">".
+ $action = "id&aid=$assessment->id\">".
get_string("view", "workshop")."";
// has teacher commented on teacher's assessment? shouldn't happen but leave test in
if ($assessment->timegraded and ($timenow - $assessment->timegraded > $CFG->maxeditingtime)) {
@@ -1579,16 +1579,16 @@ function workshop_list_teacher_submissions($workshop, $user) {
// user assessment has two states: record created but not assessed (date created in the future);
// assessed but always available for re-assessment
if ($assessment->timecreated > $timenow) { // user needs to assess this submission
- $action = "id&sid=$submission->id\">".
+ $action = "id\">".
get_string("assess", "workshop")."";
}
elseif ($assessment->timegraded and ($assessment->gradinggrade < $reassessthreshold)) {
// allow student to improve on their assessment once it's been graded and is below threshold
- $action = "id&sid=$submission->id\">".
+ $action = "id\">".
get_string("reassess", "workshop")."";
} else {
// allow student just to see their assessment if it hasn't been graded (or above threshold)
- $action = "id&aid=$assessment->id\">".
+ $action = "id&aid=$assessment->id\">".
get_string("view", "workshop")."";
}
// see if the assessment is graded
@@ -1657,7 +1657,7 @@ function workshop_list_unassessed_student_submissions($workshop, $user) {
if (($timenow - $assessment->timecreated < $CFG->maxeditingtime)) {
// last chance salon
$submissionowner = get_record("user", "id", $submission->userid);
- $action = "id&sid=$submission->id\">".
+ $action = "id\">".
get_string("edit", "workshop")."";
$table->data[] = array(workshop_print_submission_title($workshop, $submission),
fullname($submissionowner), $timegap, $action, $comment);
@@ -1667,7 +1667,7 @@ function workshop_list_unassessed_student_submissions($workshop, $user) {
// no assessment by this user, if no other teacher has assessed submission then list it
if (!workshop_count_teacher_assessments($course->id, $submission)) {
$submissionowner = get_record("user", "id", $submission->userid);
- $action = "id&sid=$submission->id\">".
+ $action = "id\">".
get_string("assess", "workshop")."";
$table->data[] = array(workshop_print_submission_title($workshop, $submission),
fullname($submissionowner), $timegap, $action, $comment);
@@ -1706,13 +1706,13 @@ function workshop_list_unassessed_teacher_submissions($workshop, $user) {
$timenow = time();
if (($timenow - $assessment->timecreated < $CFG->maxeditingtime)) {
// last chance salon
- $action = "id&sid=$submission->id\">".
+ $action = "id\">".
get_string("edit", "workshop")."";
$table->data[] = array(workshop_print_submission_title($workshop, $submission), $action, $comment);
}
}
else { // no assessment
- $action = "id&sid=$submission->id\">".
+ $action = "id\">".
get_string("assess", "workshop")."";
$table->data[] = array(workshop_print_submission_title($workshop, $submission), $action, $comment);
}
@@ -1753,11 +1753,11 @@ function workshop_list_ungraded_assessments($workshop, $stype) {
foreach ($assessments as $assessment) {
if (!isteacher($workshop->course, $assessment->userid)) { // don't let teacher grade their own assessments
if (($timenow - $assessment->timegraded) < $CFG->maxeditingtime) {
- $action = "id&stype=$stype&aid=$assessment->id\">".
+ $action = "id&stype=$stype&aid=$assessment->id\">".
get_string("edit", "workshop")."";
}
else {
- $action = "id&stype=$stype&aid=$assessment->id\">".
+ $action = "id&stype=$stype&aid=$assessment->id\">".
get_string("grade", "workshop")."";
}
$submission = get_record("workshop_submissions", "id", $assessment->submissionid);
@@ -1796,7 +1796,7 @@ function workshop_list_user_submissions($workshop, $user) {
if (($submission->timecreated > ($timenow - $CFG->maxeditingtime)) or ($workshop->assessmentstart > time())) {
$action = "id&sid=$submission->id\">".
get_string("edit", "workshop")." | ".
- "id&sid=$submission->id\">".
+ "id&sid=$submission->id\">".
get_string("delete", "workshop")."";
}
else {
@@ -1856,15 +1856,16 @@ function workshop_print_assessment($workshop, $assessment = false, $allowchanges
if (! $cm = get_coursemodule_from_instance("workshop", $workshop->id, $course->id)) {
error("Course Module ID was incorrect");
}
-
- if (!$submission = get_record("workshop_submissions", "id", $assessment->submissionid)) {
- error ("Workshop_print_assessment: Submission record not found");
+ if ($assessment) {
+ if (!$submission = get_record("workshop_submissions", "id", $assessment->submissionid)) {
+ error ("Workshop_print_assessment: Submission record not found");
+ }
+
+ print_heading(get_string('assessmentof', 'workshop',
+ "id&action=showsubmission&sid=$submission->id\" target=\"submission\">".
+ $submission->title.''));
}
- print_heading(get_string('assessmentof', 'workshop',
- "id&action=showsubmission&sid=$submission->id\" target=\"submission\">".
- $submission->title.''));
-
$timenow = time();
// reset the internal flags
@@ -1966,7 +1967,7 @@ function workshop_print_assessment($workshop, $assessment = false, $allowchanges
} else {
print_string('assessment', 'workshop');
}
- echo "\n";
+ echo '
'.userdate($assessment->timecreated)."\n";
echo "\n";
// only show the grade if grading strategy > 0 and the grade is positive
@@ -2549,12 +2550,11 @@ function workshop_print_assessments_by_user_for_admin($workshop, $user) {
if ($assessments = workshop_get_user_assessments_done($workshop, $user)) {
foreach ($assessments as $assessment) {
- echo "
". - ''. + ''. get_string('assessthisassessment', 'workshop').' | '. - "id&aid=$assessment->id\">". + "id&aid=$assessment->id\">". get_string("delete", "workshop")."
id&aid=$assessment->id\">".
+ echo " id&aid=$assessment->id\">".
get_string("delete", "workshop")."
\n";
}
}
@@ -2584,6 +2584,7 @@ function workshop_print_assessments_for_admin($workshop, $submission) {
//////////////////////////////////////////////////////////////////////////////////////
function workshop_print_assignment_info($workshop) {
+ global $CFG;
if (! $course = get_record("course", "id", $workshop->course)) {
error("Course is misconfigured");
@@ -2616,13 +2617,20 @@ function workshop_print_assignment_info($workshop) {
echo $string;
$grade = $workshop->gradinggrade + $workshop->grade;
- echo "
".get_string("maximumgrade").": $grade
";
- echo "".get_string("detailsofassessment", "workshop").":
- id&action=displaygradingform\">".
- get_string("specimenassessmentform", "workshop")."
";
+ echo "
".get_string("maximumgrade").": $grade ";
+ // print link to specimen assessment form
+ echo "(id&action=displaygradingform\">".
+ get_string("specimenassessmentform", "workshop")."";
+ // print edit icon
+ if (isteacheredit($course->id) and $workshop->nelements) {
+ echo " id&action=editelements\">".
+ "pixpath/t/edit.gif\" ".
+ 'height="11" width="11" border="0" alt="'.get_string('amendassessmentelements', 'workshop').'">';
+ }
+ echo ")
";
print_simple_box_end();
echo "
";
- echo format_text($workshop->description, $workshop->format);
+ echo format_text($workshop->summary, $workshop->format);
print_simple_box_end();
echo "
";
}
@@ -2811,58 +2819,67 @@ function workshop_print_submission($workshop, $submission) {
//////////////////////////////////////////////////////////////////////////////////////
function workshop_print_submission_assessments($workshop, $submission, $type) {
- global $USER;
+ 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 cold assessments in grade order, highest first
+ // get the assessments in grade order, highest first
if ($assessments = workshop_get_assessments($submission, "", "grade DESC")) {
- switch ($type) {
- case "teacher" :
- // students can see teacher assessments only if the release date has passed
- $timenow = time();
- if (isteacher($workshop->course, $USER->id) or ($timenow > $workshop->releasegrades)) {
- foreach ($assessments as $assessment) {
- if (isteacher($workshop->course, $assessment->userid)) {
- $str .= "id&aid=$assessment->id\">"
- . "[".number_format($assessment->grade *$workshop->grade / 100, 0)."] ";
+ if ($type == 'teacher' or $type == 'all') {
+ // students can see teacher assessments only if the release date has passed
+ $timenow = time();
+ if (isteacher($workshop->course, $USER->id) or ($timenow > $workshop->releasegrades)) {
+ foreach ($assessments as $assessment) {
+ if (isteacher($workshop->course, $assessment->userid)) {
+ if ($type == 'all') {
+ $str .= workshop_fullname($assessment->userid, $workshop->course).': ';
}
+ $str .= "id\">"
+ . "[".number_format($assessment->grade *$workshop->grade / 100, 0)."]";
+ if (isteacher($workshop->course, $USER->id)) {
+ $str .= ' id\">pixpath/t/edit.gif\" ".
+ ' height="11" width="11" border="0" alt="'.get_string('reassess', 'workshop').'">';
+ $str .= ' id&aid=$assessment->id\">
pixpath/t/delete.gif\" ".
+ ' height="11" width="11" border="0" alt="'.get_string('delete', 'workshop').'">
';
+ }
}
}
- break;
- case "student" :
- foreach ($assessments as $assessment) {
- if (isstudent($workshop->course, $assessment->userid)) {
- $str .= "id&aid=$assessment->id\">";
- if ($workshop->agreeassessments and !$assessment->timeagreed and
- isstudent($workshop->course, $submission->userid)) { // agreement on student work only
- $str .= "<<".number_format($assessment->grade * $workshop->grade / 100, 0)." (".
- number_format($assessment->gradinggrade * $workshop->gradinggrade / 100, 0).
- ")>> ";
- } 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).
- "]} ";
- } else {
- $str .= " (".number_format($assessment->gradinggrade * $workshop->gradinggrade / 100, 0).
- ")} ";
- }
+ }
+ }
+ if ($type == 'student' or $type == 'all') {
+ foreach ($assessments as $assessment) {
+ if (isstudent($workshop->course, $assessment->userid)) {
+ if ($type == 'all') {
+ $str .= workshop_fullname($assessment->userid, $workshop->course).': ';
+ }
+ $str .= "id\">";
+ if ($workshop->agreeassessments and !$assessment->timeagreed and
+ isstudent($workshop->course, $submission->userid)) { // agreement on student work only
+ $str .= "<<".number_format($assessment->grade * $workshop->grade / 100, 0)." (".
+ number_format($assessment->gradinggrade * $workshop->gradinggrade / 100, 0).
+ ")>> ";
+ } 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).
+ "]} ";
} else {
- $str .= "<".number_format($assessment->grade * $workshop->grade / 100, 0).
- " (0)> ";
+ $str .= " (".number_format($assessment->gradinggrade * $workshop->gradinggrade / 100, 0).
+ ")} ";
}
} else {
- $str .= "{".number_format($assessment->grade * $workshop->grade / 100, 0)."} ";
+ $str .= "<".number_format($assessment->grade * $workshop->grade / 100, 0).
+ " (0)> ";
}
+ } else {
+ $str .= "{".number_format($assessment->grade * $workshop->grade / 100, 0)."} ";
}
+ $str .= '
';
}
- break;
+ }
}
}
if (!$str) {
@@ -2883,7 +2900,7 @@ function workshop_print_submission_title($workshop, $submission) {
if (!$submission->timecreated) { // a "no submission"
return $submission->title;
}
- return "id&action=showsubmission&sid=$submission->id\">$submission->title";
+ return "id\" href=\"submissions.php?id=$cm->id&action=showsubmission&sid=$submission->id\">$submission->title";
}
@@ -2939,18 +2956,20 @@ function workshop_print_upload_form($workshop) {
//////////////////////////////////////////////////////////////////////////////////////
-function workshop_print_user_assessments($workshop, $user) {
+function workshop_print_user_assessments($workshop, $user, &$gradinggrade) {
// Returns the number of assessments and a hyperlinked list of grading grades for the assessments made by this user
if (! $cm = get_coursemodule_from_instance("workshop", $workshop->id, $workshop->course)) {
error("Course Module ID was incorrect");
}
-
+ $gradinggrade = 0;
+ $n = 0;
+ $str = '';
if ($assessments = workshop_get_user_assessments_done($workshop, $user)) {
- $n = count($assessments);
- $str = "$n : ";
foreach ($assessments as $assessment) {
- $str .= "id&aid=$assessment->id\">";
+ $gradinggrade += $assessment->gradinggrade;
+ $n++;
+ $str .= "id\">";
if ($assessment->timegraded) {
if ($assessment->gradinggrade) {
$str .= "{".number_format($assessment->grade * $workshop->grade / 100, 0);
@@ -2965,11 +2984,16 @@ function workshop_print_user_assessments($workshop, $user) {
} else {
$str .= "{".number_format($assessment->grade * $workshop->grade / 100, 0)." (-)} ";
}
+ $str .= '
';
}
}
else {
$str ="0";
}
+ if ($n = max($n, $workshop->ntassessments + $workshop->nsassessments)) {
+ $gradinggrade = number_format($gradinggrade/$n * $workshop->gradinggrade / 100, 1);
+ }
+
return $str;
}
diff --git a/mod/workshop/submissions.php b/mod/workshop/submissions.php
index 001bfe3b08..b754f381e0 100644
--- a/mod/workshop/submissions.php
+++ b/mod/workshop/submissions.php
@@ -3,19 +3,16 @@
/*************************************************
ACTIONS handled are:
- dminamendtitle
- adminconfirmdelete
- admindelete
+ adminamendtitle
+ confirmdelete
+ delete
adminlist
- displayfinalgrades (teachers only)
editsubmission
listallsubmissions
listforassessmentstudent
listforassessmentteacher
showsubmission
updatesubmission
- userconfirmdelete
- userdelete
************************************************/
@@ -55,7 +52,7 @@
optional_variable($action);
if (empty($action)) {
$action = "listallsubmissions";
- }
+ }
/******************* admin amend title ************************************/
@@ -63,10 +60,10 @@
if (!isteacher($course->id)) {
error("Only teachers can look at this page");
- }
+ }
if (empty($_GET['sid'])) {
error("Admin Amend Title: submission id missing");
- }
+ }
$submission = get_record("workshop_submissions", "id", $_GET['sid']);
print_heading(get_string("amendtitle", "workshop"));
@@ -87,8 +84,9 @@
echo " \n";
echo "\n";
echo "\n";
-
- }
+
+ print_heading("framename}\" href=\"view.php?id=$cm->id#sid=$submission->id\">".get_string("cancel")."");
+ }
/******************* admin clear late (flag) ************************************/
@@ -110,38 +108,40 @@
add_to_log($course->id, "workshop", "late flag cleared", "view.php?id=$cm->id", "submission $submission->id");
- redirect("submissions.php?id=$cm->id&action=adminlist");
+ redirect("view.php?id=$cm->id");
}
- /******************* admin confirm delete ************************************/
- elseif ($action == 'adminconfirmdelete' ) {
+ /******************* confirm delete ************************************/
+ elseif ($action == 'confirmdelete' ) {
- if (!isteacher($course->id)) {
- error("Only teachers can look at this page");
- }
if (empty($_GET['sid'])) {
- error("Admin confirm delete: submission id missing");
+ error("Confirm delete: submission id missing");
}
-
+ $sid = $_GET['sid'];
notice_yesno(get_string("confirmdeletionofthisitem","workshop", get_string("submission", "workshop")),
- "submissions.php?action=admindelete&id=$cm->id&sid=$_GET[sid]", "submissions.php?id=$cm->id&action=adminlist");
+ "submissions.php?action=delete&id=$cm->id&sid=$sid", "view.php?id=$cm->id#sid=$sid");
}
- /******************* admin delete ************************************/
- elseif ($action == 'admindelete' ) {
+ /******************* delete ************************************/
+ elseif ($action == 'delete' ) {
- if (!isteacher($course->id)) {
- error("Only teachers can look at this page");
- }
if (empty($_GET['sid'])) {
- error("Admin delete: submission id missing");
- }
+ error("Delete: submission id missing");
+ }
if (!$submission = get_record("workshop_submissions", "id", $_GET['sid'])) {
error("Admin delete: can not get submission record");
- }
+ }
+
+ // students are only allowed to delete their own submission and only up to the deadline
+ if (!(isteacher($course->id) or
+ (($USER->id = $submission->userid) and ($timenow < $workshop->submissionend)
+ and (($timenow < $workshop->assessmentstart) or ($timenow < $submission->timecreated + $CFG->maxeditingtime))))) {
+ error("You are not authorized to delete this submission");
+ }
+
print_string("deleting", "workshop");
// first get any assessments...
if ($assessments = workshop_get_assessments($submission, 'ALL')) {
@@ -150,17 +150,17 @@
delete_records("workshop_comments", "assessmentid", $assessment->id);
delete_records("workshop_grades", "assessmentid", $assessment->id);
echo ".";
- }
+ }
// ...now delete the assessments...
delete_records("workshop_assessments", "submissionid", $submission->id);
- }
+ }
// ...and the submission record...
delete_records("workshop_submissions", "id", $submission->id);
// ..and finally the submitted file
workshop_delete_submitted_files($workshop, $submission);
-
- print_continue("submissions.php?id=$cm->id&action=adminlist");
- }
+
+ redirect("view.php?id=$cm->id");
+ }
/******************* admin (confirm) late flag ************************************/
@@ -168,18 +168,18 @@
if (!isteacher($course->id)) {
error("Only teachers can look at this page");
- }
+ }
if (empty($_GET['sid'])) {
error("Admin confirm late flag: submission id missing");
- }
+ }
if (!$submission = get_record("workshop_submissions", "id", $_GET['sid'])) {
error("Admin confirm late flag: can not get submission record");
- }
+ }
notice_yesno(get_string("clearlateflag","workshop")."?",
"submissions.php?action=adminclearlate&id=$cm->id&sid=$_GET[sid]",
- "submissions.php?id=$cm->id&action=adminlist");
- }
+ "view.php?id=$cm->id");
+ }
/******************* list all submissions ************************************/
@@ -187,18 +187,18 @@
if (!isteacher($course->id)) {
error("Only teachers can look at this page");
- }
+ }
if (empty($_GET['order'])) {
$order = "name";
- }
+ }
else {
$order = $_GET['order'];
- }
+ }
workshop_list_submissions_for_admin($workshop, $order);
print_continue("view.php?id=$cm->id");
- }
+ }
/******************* admin update title ************************************/
@@ -206,16 +206,16 @@
if (!isteacher($course->id)) {
error("Only teachers can look at this page");
- }
+ }
if (empty($_POST['sid'])) {
error("Admin Update Title: submission id missing");
- }
+ }
if (set_field("workshop_submissions", "title", $_POST['title'], "id", $_POST['sid'])) {
print_heading(get_string("amendtitle", "workshop")." ".get_string("ok"));
- }
- print_continue("submissions.php?id=$cm->id&action=adminlist");
}
+ print_continue("view.php?id=$cm->id");
+ }
/******************* confirm remove attachments ************************************/
@@ -223,122 +223,16 @@
if (empty($_GET['sid'])) {
error("Admin confirm delete: submission id missing");
- }
+ }
if (!$submission = get_record("workshop_submissions", "id", $_GET['sid'])) {
error("Admin delete: can not get submission record");
- }
+ }
notice_yesno(get_string("confirmremoveattachments","workshop"),
"submissions.php?action=removeattachments&id=$cm->id&sid=$_GET[sid]",
"view.php?id=$cm->id");
- }
-
-
- /*************** 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;
- }
-
- print_heading_with_help(get_string("displayofgrades", "workshop"), "finalgrades", "workshop");
-
- if ($workshop->ntassessments) {
- // display the teacher's submissions
- echo "
cellheading2\">$course->teacher ".get_string("submission", "workshop"). - " | "; - echo "cellheading2\" align=\"center\">".get_string("assessmentsby", "workshop", - $course->teachers)." | "; - echo "cellheading2\" align=\"center\">".get_string("assessmentsby", "workshop", - $course->students)." |
".workshop_print_submission_title($workshop, $submission)." | \n"; - echo "".workshop_print_submission_assessments($workshop, $submission, - "teacher")." | "; - echo "".workshop_print_submission_assessments($workshop, $submission, - "student")." |
cellheading2\" width=\"120\">".$course->student." | "; - if ($workshop->wtype) { - echo "cellheading2\" align=\"center\">".get_string("assessmentsdone", "workshop"). - " | "; - echo "cellheading2\" align=\"center\">".get_string("gradeforassessments", - "workshop")." | "; - } - echo "cellheading2\">".get_string("submission", "workshop")." | "; - echo "cellheading2\" align=\"center\">".get_string("assessmentsby", "workshop", - $course->teachers)." | "; - if ($workshop->wtype) { - echo "cellheading2\" align=\"center\">".get_string("assessmentsby", "workshop", - $course->students)." | "; - } - echo "cellheading2\" align=\"center\">".get_string("gradeforsubmission", - "workshop")." | "; - echo "cellheading2\" align=\"center\">".get_string("overallgrade", "workshop"). - " |
wwwroot}/user/view.php?id=$user->id&course=$course->id\">". - fullname($user).' | '; - if ($workshop->wtype) { - echo "".workshop_print_user_assessments($workshop, $user)." | "; - echo "$gradinggrade | "; - } - echo "".workshop_print_submission_title($workshop, $submission)." | \n"; - $strteachergrades = workshop_print_submission_assessments($workshop, $submission, "teacher"); - if ($strteachergrades == ' ') { - $strteachergrades = ''.get_string('assess', 'workshop').''; - } - echo "$strteachergrades | "; - if ($workshop->wtype) { - echo "".workshop_print_submission_assessments($workshop, $submission, - "student")." | "; - } - echo "$grade | "; - echo "".number_format($gradinggrade + $grade, 1)." |
".get_string("namesnotshowntostudents", "workshop", $course->students)."
\n"; - } - } - print_continue("view.php?id=$cm->id"); } - + /******************* edit submission ************************************/ elseif ($action == 'editsubmission' ) { @@ -408,7 +302,7 @@ echo "\n"; echo "\n"; echo "".get_string("submissions", "workshop")." | "; if ($workshop->wtype) { @@ -94,12 +104,11 @@ } echo "".get_string("gradeforsubmission", "workshop")." | "; echo "".get_string("overallgrade", "workshop")." | ||||
".workshop_print_submission_title($workshop, $submission)." | \n"; if ($workshop->wtype) { - echo "".workshop_print_user_assessments($workshop, $USER)." | "; + echo "".workshop_print_user_assessments($workshop, $USER, $gradinggrade)." | "; echo "$gradinggrade | "; } echo "".workshop_print_submission_assessments($workshop, @@ -111,9 +120,11 @@ echo " | $grade | "; echo "".number_format($gradinggrade + $grade, 1)." |
'; print_group_menu($groups, $groupmode, $currentgroup, "view.php?id=$cm->id"); + echo ' | '; } } + /// Print admin links + echo "id&action=showdescription\">".
+ get_string("showdescription", 'workshop')." \n";
+
+ echo " id&action=adminlist\">". + get_string("administration")." \n"; - print_heading_with_help(get_string("managingassignment", "workshop"), "managing2", "workshop"); + echo ' |