Workshop now has 6 phases. The phase is show on the Workshops page (index.php).

Administration page now excludes "hot" assessments (peer assessments which have been allocated but not yet made).
This commit is contained in:
rkingdon
2003-10-13 14:56:25 +00:00
parent 63d43fa1b9
commit 0d4d32d183
3 changed files with 125 additions and 71 deletions
+26 -10
View File
@@ -21,6 +21,7 @@
$strweek = get_string("week");
$strtopic = get_string("topic");
$strname = get_string("name");
$strphase = get_string("phase", "workshop");
$strdeadline = get_string("deadline", "workshop");
$strsubmitted = get_string("submitted", "assignment");
@@ -34,17 +35,32 @@
$timenow = time();
if ($course->format == "weeks") {
$table->head = array ($strweek, $strname, $strsubmitted, $strdeadline);
$table->align = array ("CENTER", "LEFT", "LEFT", "LEFT");
$table->head = array ($strweek, $strname, $strphase, $strsubmitted, $strdeadline);
$table->align = array ("CENTER", "LEFT", "LEFT", "LEFT", "LEFT");
} elseif ($course->format == "topics") {
$table->head = array ($strtopic, $strname, $strsubmitted, $strdeadline);
$table->align = array ("CENTER", "LEFT", "LEFT", "LEFT");
$table->head = array ($strtopic, $strname, $strphase, $strsubmitted, $strdeadline);
$table->align = array ("CENTER", "LEFT", "left", "LEFT", "LEFT");
} else {
$table->head = array ($strname, $strsubmitted, $strdeadline);
$table->align = array ("LEFT", "LEFT", "LEFT");
$table->head = array ($strname, $strphase, $strsubmitted, $strdeadline);
$table->align = array ("LEFT", "LEFT", "LEFT", "LEFT");
}
foreach ($workshops as $workshop) {
switch ($workshop->phase) {
case 0:
case 1: $phase = get_string("phase1short", "workshop");
break;
case 2: $phase = get_string("phase2short", "workshop");
break;
case 3: $phase = get_string("phase3short", "workshop");
break;
case 4: $phase = get_string("phase4short", "workshop");
break;
case 5: $phase = get_string("phase5short", "workshop");
break;
case 6: $phase = get_string("phase6short", "workshop");
break;
}
if ($submissions = workshop_get_user_submissions($workshop, $USER)) {
foreach ($submissions as $submission) {
if ($submission->timecreated <= $workshop->deadline) {
@@ -64,10 +80,10 @@
"($submission->title)";
}
if ($course->format == "weeks" or $course->format == "topics") {
$table->data[] = array ($workshop->section, $link, $submitted, $due);
$table->data[] = array ($workshop->section, $link, $phase, $submitted, $due);
}
else {
$table->data[] = array ($link, $submitted, $due);
$table->data[] = array ($link, $phase, $submitted, $due);
}
}
}
@@ -82,10 +98,10 @@
$link = "<A HREF=\"view.php?id=$workshop->coursemodule\">$workshop->name</A>";
}
if ($course->format == "weeks" or $course->format == "topics") {
$table->data[] = array ($workshop->section, $link, $submitted, $due);
$table->data[] = array ($workshop->section, $link, $phase, $submitted, $due);
}
else {
$table->data[] = array ($link, $submitted, $due);
$table->data[] = array ($link, $phase, $submitted, $due);
}
}
}
+14 -2
View File
@@ -1686,12 +1686,23 @@ function workshop_get_unmailed_resubmissions($cutofftime) {
//////////////////////////////////////////////////////////////////////////////////////
function workshop_get_user_assessments($workshop, $user) {
// Return all the user's assessments, newest first, oldest last
// Return all the user's assessments, newest first, oldest last (hot, warm and cold ones)
return get_records_select("workshop_assessments", "workshopid = $workshop->id AND userid = $user->id",
"timecreated DESC");
}
//////////////////////////////////////////////////////////////////////////////////////
function workshop_get_user_assessments_done($workshop, $user) {
// Return all the user's assessments, newest first, oldest last (warm and cold ones only)
// ignores maxeditingtime
$timenow = time();
return get_records_select("workshop_assessments", "workshopid = $workshop->id AND userid = $user->id
AND timecreated < $timenow",
"timecreated DESC");
}
//////////////////////////////////////////////////////////////////////////////////////
function workshop_get_user_submissions($workshop, $user) {
// return real submissions of user newest first, oldest last. Ignores the dummy submissions
@@ -2220,7 +2231,8 @@ function workshop_list_submissions_for_admin($workshop, $order) {
$table->cellpadding = 2;
$table->cellspacing = 0;
foreach ($users as $user) {
if ($assessments = workshop_get_user_assessments($workshop, $user)) {
// list the assessments which have been done (exclude the hot ones)
if ($assessments = workshop_get_user_assessments_done($workshop, $user)) {
$title ='';
foreach ($assessments as $assessment) {
if (!$submission = get_record("workshop_submissions", "id", $assessment->submissionid)) {
+85 -59
View File
@@ -3,10 +3,12 @@
/*************************************************
ACTIONS handled are:
close workshop( for teachers)
allowassessments (for teachers)
allowboth (for teachers)
allowsubmissions (for teachers)
close workshop( for teachers)
displayfinalgrade (for students)
notavailable (for students)
open workshop (for teachers)
setupassignment (for teachers)
studentsview
submitassignment
@@ -85,9 +87,10 @@
case 0 :
case 1 : $action = 'notavailable'; break;
case 2 :
case 3: $action = 'studentsview'; break;
case 4 : $action = 'notavailable'; break;
case 5 : $action = 'displayfinalgrade';
case 3 :
case 4 : $action = 'studentsview'; break;
case 5 : $action = 'notavailable'; break;
case 6 : $action = 'displayfinalgrade';
}
}
else { // it's a guest, oh no!
@@ -95,22 +98,8 @@
}
/************** allow peer assessments (move to phase 3) (for teachers)**/
if ($action == 'allowpeerassessments') {
if (!isteacher($course->id)) {
error("Only teachers can look at this page");
}
// move to phase 3
set_field("workshop", "phase", 3, "id", "$workshop->id");
add_to_log($course->id, "workshop", "assessments", "view.php?id=$cm->id", "$workshop->id");
redirect("view.php?a=$workshop->id", get_string("movingtophase", "workshop", 3));
}
/****************** close workshop for student assessments/submissions (move to phase 4) (for teachers)**/
elseif ($action == 'closeworkshop') {
/************** allow (peer) assessments only (move to phase 4) (for teachers)**/
if ($action == 'allowassessments') {
if (!isteacher($course->id)) {
error("Only teachers can look at this page");
@@ -118,11 +107,59 @@
// move to phase 4
set_field("workshop", "phase", 4, "id", "$workshop->id");
add_to_log($course->id, "workshop", "close", "view.php?id=$cm->id", "$workshop->id");
add_to_log($course->id, "workshop", "assessments only", "view.php?id=$cm->id", "$workshop->id");
redirect("view.php?a=$workshop->id", get_string("movingtophase", "workshop", 4));
}
/************** allow both (submissions and assessments) (move to phase 3) (for teachers)**/
if ($action == 'allowboth') {
if (!isteacher($course->id)) {
error("Only teachers can look at this page");
}
// move to phase 3
set_field("workshop", "phase", 3, "id", "$workshop->id");
add_to_log($course->id, "workshop", "allow both", "view.php?id=$cm->id", "$workshop->id");
redirect("view.php?a=$workshop->id", get_string("movingtophase", "workshop", 3));
}
/************** allow submissions only (move to phase 2) (for teachers)**/
if ($action == 'allowsubmissions') {
if (!isteacher($course->id)) {
error("Only teachers can look at this page");
}
// move to phase 2, check that teacher has made enough submissions
if (workshop_count_teacher_submissions($workshop) < $workshop->ntassessments) {
redirect("view.php?id=$cm->id", get_string("notenoughexamplessubmitted", "workshop",
$course->teacher));
}
else {
set_field("workshop", "phase", 2, "id", "$workshop->id");
add_to_log($course->id, "workshop", "submissions", "view.php?id=$cm->id", "$workshop->id");
redirect("view.php?id=$cm->id", get_string("movingtophase", "workshop", 2));
}
}
/****************** close workshop for student assessments/submissions (move to phase 5) (for teachers)**/
elseif ($action == 'closeworkshop') {
if (!isteacher($course->id)) {
error("Only teachers can look at this page");
}
// move to phase 5
set_field("workshop", "phase", 5, "id", "$workshop->id");
add_to_log($course->id, "workshop", "close", "view.php?id=$cm->id", "$workshop->id");
redirect("view.php?a=$workshop->id", get_string("movingtophase", "workshop", 5));
}
/****************** display final grade (for students) ************************************/
elseif ($action == 'displayfinalgrade' ) {
@@ -244,16 +281,16 @@
}
/****************** make final grades available (for teachers only)**************/
/****************** make final grades available (go to phase 6) (for teachers only)********/
elseif ($action == 'makefinalgradesavailable') {
if (!isteacher($course->id)) {
error("Only teachers can look at this page");
}
set_field("workshop", "phase", 5, "id", "$workshop->id");
add_to_log($course->id, "workshop", "display", "view.php?id=$cm->id", "$workshop->id");
redirect("view.php?a=$workshop->id", get_string("movingtophase", "workshop", 5));
set_field("workshop", "phase", 6, "id", "$workshop->id");
add_to_log($course->id, "workshop", "display grades", "view.php?id=$cm->id", "$workshop->id");
redirect("view.php?a=$workshop->id", get_string("movingtophase", "workshop", 6));
}
@@ -263,25 +300,6 @@
}
/****************** open workshop for student assessments (move to phase 2) (for teachers)**/
elseif ($action == 'openworkshop') {
if (!isteacher($course->id)) {
error("Only teachers can look at this page");
}
// move to phase 2, check that teacher has made enough submissions
if (workshop_count_teacher_submissions($workshop) < $workshop->ntassessments) {
redirect("view.php?id=$cm->id", get_string("notenoughexamplessubmitted", "workshop", $course->teacher));
}
else {
set_field("workshop", "phase", 2, "id", "$workshop->id");
add_to_log($course->id, "workshop", "submissions", "view.php?id=$cm->id", "$workshop->id");
redirect("view.php?id=$cm->id", get_string("movingtophase", "workshop", 2));
}
}
/****************** set up assignment (move back to phase 1) (for teachers)***********************/
elseif ($action == 'setupassignment') {
@@ -313,11 +331,16 @@
$course->teacher));
workshop_list_teacher_submissions($workshop, $USER);
}
// has user submitted anything yet? (only allowed in phases 2 and 3)
if (!workshop_get_user_submissions($workshop, $USER)) {
// print upload form
print_heading(get_string("submitassignmentusingform", "workshop").":");
workshop_print_upload_form($workshop);
}
if ($workshop->phase < 4) {
// print upload form
print_heading(get_string("submitassignmentusingform", "workshop").":");
workshop_print_upload_form($workshop);
} else {
print_heading(get_string("submissionsnolongerallowed", "workshop"));
}
}
// in stage 3? - grade other student's submissions, resubmit and list all submissions
else {
// list any assessments by teachers
@@ -331,7 +354,7 @@
workshop_list_self_assessments($workshop, $USER);
}
// if peer assessments are being done and workshop is in phase 3 then show some to assess...
if ($workshop->nsassessments and ($workshop->phase == 3)) {
if ($workshop->nsassessments and ($workshop->phase > 2)) {
workshop_list_student_submissions($workshop, $USER);
}
// ..and any they have already done (and have gone cold)...
@@ -347,8 +370,8 @@
// list previous submissions
print_heading(get_string("submissions", "workshop"));
workshop_list_user_submissions($workshop, $USER);
// are resubmissions allowed?
if ($workshop->resubmit) {
// are resubmissions allowed and the workshop is in submission phases (2 and 3)?
if ($workshop->resubmit and ($workshop->phase < 4)) {
// see if there are any cold (warm included as well) assessments of the last submission
// if there are then print upload form
if ($submissions = workshop_get_user_submissions($workshop, $USER)) {
@@ -411,12 +434,14 @@
$tabs->names = array("1. ".get_string("phase1", "workshop"),
"2. ".get_string("phase2", "workshop", $course->student),
"3. ".get_string("phase3", "workshop"),
"4. ".get_string("phase4", "workshop"),
"5. ".get_string("phase5", "workshop"));
"3. ".get_string("phase3", "workshop", $course->student),
"4. ".get_string("phase4", "workshop", $course->student),
"5. ".get_string("phase5", "workshop"),
"6. ".get_string("phase6", "workshop"));
$tabs->urls = array("view.php?id=$cm->id&action=setupassignment",
"view.php?id=$cm->id&action=openworkshop",
"view.php?id=$cm->id&action=allowpeerassessments",
"view.php?id=$cm->id&action=allowsubmissions",
"view.php?id=$cm->id&action=allowboth",
"view.php?id=$cm->id&action=allowassessments",
"view.php?id=$cm->id&action=closeworkshop",
"view.php?id=$cm->id&action=makefinalgradesavailable");
if ($workshop->phase) { // phase 1 or more
@@ -449,6 +474,7 @@
case 2: // submissions and assessments
case 3:
case 4:
if ($workshop->ntassessments) { // if teacher example show student assessments link
echo "<p><b><a href=\"assessments.php?id=$cm->id&action=listungradedteachersubmissions\">".
get_string("ungradedassessmentsofteachersubmissions", "workshop",
@@ -468,7 +494,7 @@
get_string("studentsubmissionsforassessment", "workshop"), "workshop");
break;
case 4: // calculate final grades
case 5: // calculate final grades
if ($workshop->ntassessments) { // if teacher example show student assessments link
echo "<p><b><a href=\"assessments.php?id=$cm->id&action=listungradedteachersubmissions\">".
get_string("ungradedassessmentsofteachersubmissions", "workshop",
@@ -490,7 +516,7 @@
get_string("calculationoffinalgrades", "workshop")."</a>");
break;
case 5: // show final grades
case 6: // show final grades
print_heading("<A HREF=\"submissions.php?id=$cm->id&action=displayfinalgrades\">".
get_string("displayoffinalgrades", "workshop")."</A>");
}