--- loncom/homework/inputtags.pm 2012/03/11 20:17:10 1.302
+++ loncom/homework/inputtags.pm 2012/08/21 18:24:28 1.307
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# input definitons
#
-# $Id: inputtags.pm,v 1.302 2012/03/11 20:17:10 raeburn Exp $
+# $Id: inputtags.pm,v 1.307 2012/08/21 18:24:28 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -576,8 +576,20 @@ sub file_selector {
if ( $which eq 'both') {
$result.=' '.''.&mt('OR:').' ';
}
- if ($which eq 'portfolioonly' || $which eq 'both') {
- $result.=$extratext.''.
+ if ($which eq 'portfolioonly' || $which eq 'both') {
+ my $symb = $env{'request.symb'};
+ (undef,undef,my $res)=&Apache::lonnet::decode_symb($symb);
+ my $showsymb;
+ # If resource is a .task and URL is unencrypted, include symb in query string
+ # for url opened in portfolio file selection window. Can be used to override
+ # blocking of portfolio access resulting from an exam event in a different course.
+ if ($res =~ /\.task$/i) {
+ my $encsymb = &Apache::lonenc::check_encrypt($symb);
+ if ($symb eq $encsymb) {
+ $showsymb = $symb;
+ }
+ }
+ $result.=$extratext.''.
&mt('Select Portfolio Files: (one or more files per submission)').' '.
''.
' ';
@@ -676,9 +688,11 @@ sub current_file_submissions {
}
}
if ($header_shown) {
- $result .= &Apache::loncommon::end_data_table().
- ' '.
- &mt('Exclude existing file(s) from grading by checking the "Delete?" checkbox(es) and clicking "Submit Answer"').'';
+ $result .= &Apache::loncommon::end_data_table();
+ if ($Apache::inputtags::status[-1] eq 'CAN_ANSWER') {
+ $result .= ' '.
+ &mt('Exclude existing file(s) from grading by checking the "Delete?" checkbox(es) and clicking "Submit Answer"').'';
+ }
}
if (@bad_file_list) {
my $bad_files = ''.
@@ -1127,7 +1141,17 @@ sub decideoutput {
if (&Apache::lonhomework::hide_problem_status()
&& $Apache::inputtags::status[-1] ne 'SHOW_ANSWER'
&& &hide_award($award)) {
- $message = &mt("Answer Submitted: Your final submission will be graded after the due date.");
+ $message = &mt("Answer Submitted: Your final submission will be graded after the due date.");
+ my @interval= &Apache::lonnet::EXT("resource.$part.interval");
+ if ($interval[0] =~ /\d+/) {
+ my $first_access=&Apache::lonnet::get_first_access($interval[1]);
+ if (defined($first_access)) {
+ my $due_date= &Apache::lonnet::EXT("resource.$part.duedate");
+ unless (($due_date) && ($due_date < $first_access + $interval[0])) {
+ $message = &mt("Answer Submitted: Your final submission will be graded when the time limit is reached.");
+ }
+ }
+ }
$css_class=$possible_class{'no_grade'};
$button=1;
}
@@ -1500,10 +1524,14 @@ sub gradestatus {
&& $status ne 'RESERVABLE_LATER'
&& $status ne 'NOTRESERVABLE') {
+ if ($status eq 'SHOW_ANSWER') {
+ $showbutton = 0;
+ }
+
($previousmsg,$latemessage,$message,$trystr) =
&get_grade_messages($id,"resource.$id",$target,$status,
$showbutton);
- if ( $status eq 'SHOW_ANSWER' || $status eq 'CANNOT_ANSWER') {
+ if ($status eq 'CANNOT_ANSWER') {
$showbutton = 0;
}
if ( $status eq 'SHOW_ANSWER') {