--- loncom/interface/lonfeedback.pm 2010/03/10 21:25:50 1.291 +++ loncom/interface/lonfeedback.pm 2010/06/02 14:11:15 1.294 @@ -1,7 +1,7 @@ # The LearningOnline Network # Feedback # -# $Id: lonfeedback.pm,v 1.291 2010/03/10 21:25:50 droeschl Exp $ +# $Id: lonfeedback.pm,v 1.294 2010/06/02 14:11:15 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -49,13 +49,22 @@ use LONCAPA; sub discussion_open { my ($status,$symb)=@_; +# Advanced roles can always discuss if ($env{'request.role.adv'}) { return 1; } +# Get discussion closing date + my $close=&Apache::lonnet::EXT('resource.0.discussend',$symb); +# If it is defined and in the future, the instructor wants this discussion to be open + if (defined($close) && $close ne '' && $close > time) { + return 1; + } +# It was not explicitly open, check if the problem is available. +# If the problem is not available, close the discussion if (defined($status) && !($status eq 'CAN_ANSWER' || $status eq 'CANNOT_ANSWER' || $status eq 'OPEN')) { return 0; } - my $close=&Apache::lonnet::EXT('resource.0.discussend',$symb); +# The problem is available, but check if the instructor explictly closed discussion if (defined($close) && $close ne '' && $close < time) { return 0; } @@ -412,7 +421,6 @@ imscp_v1p1.xsd http://www.imsglobal.org/ } } else { my $colspan=$maxdepth+1; -#JW $discussion.= &Apache::lonhtmlcommon::scripttag(qq| function verifydelete (caller,symb,idx,newflag,previous,groupparm) { var symbparm = symb+':::'+idx @@ -740,7 +748,11 @@ END if ($outputtarget ne 'tex') { $discussion.= &send_feedback_link($ressymb,$target); } - } + } else { + if ($outputtarget ne 'tex') { + $discussion.= &mt('This discussion is closed.'); + } + } if ($outputtarget ne 'tex') { $discussion.= &send_message_link($ressymb); } @@ -765,7 +777,7 @@ sub send_message_link { my $output = ''. ' '.&mt('Send Feedback').''; return $output; } @@ -2636,7 +2648,7 @@ sub screen_header { } } if ($msgoptions) { - $msgoptions='

' + $msgoptions='

' .' '.&mt('Send Feedback').'

'.&Apache::lonhtmlcommon::coursepreflink(&mt('Feedback Settings'),'feedback').'

' .$msgoptions; }