--- branches/rel-2-2-dev/webwork2/lib/WeBWorK/ContentGenerator/Instructor/PGProblemEditor.pm 2006/01/08 01:36:15 3885 +++ branches/rel-2-2-dev/webwork2/lib/WeBWorK/ContentGenerator/Instructor/PGProblemEditor.pm 2006/01/08 18:06:03 3887 @@ -1,7 +1,7 @@ ################################################################################ # WeBWorK Online Homework Delivery System # Copyright © 2000-2003 The WeBWorK Project, http://openwebwork.sf.net/ -# $CVSHeader: webwork-modperl/lib/WeBWorK/ContentGenerator/Instructor/PGProblemEditor.pm,v 1.66.2.1 2006/01/08 01:19:33 gage Exp $ +# $CVSHeader: webwork-modperl/lib/WeBWorK/ContentGenerator/Instructor/PGProblemEditor.pm,v 1.66.2.2 2006/01/08 01:36:15 gage Exp $ # # This program is free software; you can redistribute it and/or modify it under # the terms of either: (a) the GNU General Public License as published by the @@ -399,11 +399,13 @@ sub title { my $self = shift; my $r = $self->r; + my $courseName = $r->urlpath->arg("courseID"); + my $setID = $r->urlpath->arg("setID"); my $problemNumber = $r->urlpath->arg("problemID"); my $file_type = $self->{'file_type'} || ''; - return "Set Header" if ($file_type eq 'set_header'); - return "Hardcopy Header" if ($file_type eq 'hardcopy_header'); - return "Course Information" if ($file_type eq 'course_info'); + return "Set Header for set $setID" if ($file_type eq 'set_header'); + return "Hardcopy Header for set $setID" if ($file_type eq 'hardcopy_header'); + return "Course Information for course $courseName" if ($file_type eq 'course_info'); return "Options Information" if ($file_type eq 'options_info'); return 'Problem ' . $r->{urlpath}->name; } @@ -1075,8 +1077,10 @@ } sub view_form { my ($self, $onChange, %actionParams) = @_; + my $file_type = $self->{file_type}; + return "" if $file_type eq 'hardcopy_header'; # these can't yet be edited from temporary files #FIXME my $output_string = "View"; - unless ($self->{file_type} eq 'course_info' || $self->{file_type} eq 'options_info') { + unless ($file_type eq 'course_info' || $file_type eq 'options_info') { $output_string .= join(" ", ## " problem using seed ", " using seed ", @@ -1140,7 +1144,7 @@ } ); - } elsif ($file_type eq 'set_header' or $file_type eq 'hardcopy_header') { # redirect to ProblemSet + } elsif ($file_type eq 'set_header' ) { # redirect to ProblemSet my $problemPage = $self->r->urlpath->newFromModule("WeBWorK::ContentGenerator::ProblemSet", courseID => $courseName, setID => $setName, ); @@ -1152,11 +1156,28 @@ problemSeed => $problemSeed, editMode => "temporaryFile", edit_level => $edit_level, + sourceFilePath => $tempFilePath, status_message => uri_escape($self->{status_message}) } ); + } elsif ($file_type eq 'hardcopy_header') { # redirect to ProblemSet?? # it's difficult to view temporary changes for hardcopy headers + my $problemPage = $self->r->urlpath->newFromModule("WeBWorK::ContentGenerator::ProblemSet", + courseID => $courseName, setID => $setName, + ); + + $viewURL = $self->systemLink($problemPage, + params => { + set_header => $tempFilePath, + displayMode => $displayMode, + problemSeed => $problemSeed, + editMode => "temporaryFile", + edit_level => $edit_level, + sourceFilePath => $tempFilePath, + status_message => uri_escape($self->{status_message}) + } + ); } elsif ($file_type eq 'course_info') { # redirec to ProblemSets.pm my $problemSetsPage = $self->r->urlpath->newFromModule("WeBWorK::ContentGenerator::ProblemSets", @@ -1166,6 +1187,7 @@ course_info => $tempFilePath, editMode => "temporaryFile", edit_level => $edit_level, + sourceFilePath => $tempFilePath, status_message => uri_escape($self->{status_message}) } ); @@ -1174,9 +1196,10 @@ courseID => $courseName); $viewURL = $self->systemLink($optionsPage, params => { - options_info => $tempFilePath, + options_info => $tempFilePath, editMode => "temporaryFile", edit_level => $edit_level, + sourceFilePath => $tempFilePath, status_message => uri_escape($self->{status_message}) } ); @@ -1373,7 +1396,7 @@ } ); - } elsif ($file_type eq 'set_header' or $file_type eq 'hardcopy_header') { # redirect to ProblemSet + } elsif ($file_type eq 'set_header' ) { # redirect to ProblemSet my $problemPage = $self->r->urlpath->newFromModule("WeBWorK::ContentGenerator::ProblemSet", courseID => $courseName, setID => $setName, ); @@ -1388,7 +1411,21 @@ } ); + } elsif ( $file_type eq 'hardcopy_header') { # redirect to ProblemSet + my $problemPage = $self->r->urlpath->newFromModule('WeBWorK::ContentGenerator::Hardcopy', + courseID => $courseName, setID => $setName, + ); + + $viewURL = $self->systemLink($problemPage, + params => { + displayMode => $displayMode, + problemSeed => $problemSeed, + editMode => "savedFile", + edit_level => 0, + status_message => uri_escape($self->{status_message}) + } + ); } elsif ($file_type eq 'course_info') { # redirect to ProblemSets.pm my $problemSetsPage = $self->r->urlpath->newFromModule("WeBWorK::ContentGenerator::ProblemSets",