--- loncom/interface/lonparmset.pm 2016/03/04 21:43:15 1.557 +++ loncom/interface/lonparmset.pm 2016/03/15 14:25:26 1.558 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.557 2016/03/04 21:43:15 raeburn Exp $ +# $Id: lonparmset.pm,v 1.558 2016/03/15 14:25:26 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -824,7 +824,7 @@ sub valout { } } else { if ($type eq 'date_interval') { - my ($totalsecs,$donebutton) = split(/_/,$value); + my ($totalsecs,$donebutton,$proctor,$secretkey) = split(/_/,$value); my ($sec,$min,$hour,$mday,$mon,$year)=gmtime($totalsecs); my @timer; $year=$year-70; @@ -859,7 +859,11 @@ sub valout { } $result.=join(", ",@timer); if ($donebutton eq 'done') { - $result .= ' '.&mt('+ "done"'); + if ($secretkey) { + $result .= ' '.&mt('+ "done" with proctor key: [_1]',$secretkey); + } else { + $result .= ' '.&mt('+ "done"'); + } } } elsif (&isdateparm($type)) { $result = &Apache::lonlocal::locallocaltime($value). @@ -1125,6 +1129,31 @@ sub ipacc_boxes_js { END } +sub done_proctor_js { + return <<"END"; +function toggleSecret(form,radio,key) { + var radios = form[radio+key]; + if (radios.length) { + for (var i=0; i [[ 'done', 'Yes' ], + [ 'done_proctor', 'Yes, with proctor key'], [ '', 'No' ]], ); my %intervalmatches = ( 'date_interval' - => [['done','\d+_done$'],], + => [['done','\d+_done$'], + ['done_proctor','\d+_done_proctor_']], ); my %intervaltypes = ( @@ -3996,16 +4030,29 @@ sub date_interval_selector { if ($name eq 'interval') { unless ($skipval{'done'}) { my $checkedon = ''; + my $checkedproc = ''; + my $currproctorkey = ''; + my $currprocdisplay = 'hidden'; my $checkedoff = ' checked="checked"'; if ($currval =~ /^(\d+)_done$/) { $checkedon = ' checked="checked"'; $checkedoff = ''; + } elsif ($currval =~ /^(?:\d+)_done_proctor_(.+)$/) { + $currproctorkey = $1; + $checkedproc = ' checked="checked"'; + $checkedoff = ''; + $currprocdisplay = 'text'; } - $result .= ''.(' ' x 3).'('.&mt('Include "done" button'). - ''. - ')'; + my $onclick = ' onclick="toggleSecret(this.form,'."'done_','$thiskey'".');"'; + $result .= '
'.&mt('Include "done" button'). + ''.(' 'x2). + ''.(' 'x2). + ''. + ''; } } unless ($readonly) { @@ -4144,6 +4191,7 @@ sub newoverview { &toggleparmtextbox_js()."\n". &validateparms_js()."\n". &ipacc_boxes_js()."\n". + &done_proctor_js()."\n". '// ]]> '; @@ -4343,6 +4391,7 @@ sub overview { &toggleparmtextbox_js()."\n". &validateparms_js()."\n". &ipacc_boxes_js()."\n". + &done_proctor_js()."\n". '// ]]>'."\n". ''."\n"; &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setoverview',