--- loncom/interface/lonparmset.pm 2020/02/12 21:17:54 1.522.2.26.2.2 +++ loncom/interface/lonparmset.pm 2022/03/24 16:18:42 1.522.2.28.4.4 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.522.2.26.2.2 2020/02/12 21:17:54 raeburn Exp $ +# $Id: lonparmset.pm,v 1.522.2.28.4.4 2022/03/24 16:18:42 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -831,7 +831,7 @@ sub valout { sub plink { - my ($type,$dis,$value,$marker,$return,$call)=@_; + my ($type,$dis,$value,$marker,$return,$call,$extra)=@_; my $winvalue=$value; unless ($winvalue) { if ((&isdateparm($type)) || (&is_specialstring($type))) { @@ -850,13 +850,13 @@ sub plink { my $valout = &valout($value,$type,1); my $unencmarker = $marker; foreach my $item (\$type, \$dis, \$winvalue, \$marker, \$return, \$call, - \$hour, \$min, \$sec) { + \$hour, \$min, \$sec, \$extra) { $$item = &HTML::Entities::encode($$item,'"<>&'); $$item =~ s/\'/\\\'/g; } return '
'. ''. + .$marker."','".$return."','".$call."','".$hour."','".$min."','".$sec."','".$extra."'".');">'. $valout.' |
'
+ .&mt('Changes for [quant,_1,parameter] saved.',$totalstored)
+ .'
'
.&mt('Changes can take up to 10 minutes before being active for all students.')
.&Apache::loncommon::help_open_topic('Caching')
.'
'.&mt('No parameter changes saved.').'
'; + } + if ($totalskippeduser) { + $message .= ''; + if ($uhome eq 'no_host') { + $message .= &mt('Changes for [quant,_1,user-specific parameter] not saved because the username or ID was invalid.', + $totalskippeduser); + } elsif ($env{'form.userroles'} eq 'any') { + $message .= &mt('Changes for [quant,_1,user-specific parameter] not saved because the user does not have a course role.', + $totalskippeduser); + } else { + $message .= &mt('Changes for [quant,_1,user-specific parameter] not saved because the user is not a student.', + $totalskippeduser); + } + $message .= '
'; } } #----------------------------------------------- if all selected, fill in array @@ -2540,13 +2807,20 @@ sub assessparms { # ----- Start Parameter Selection - # Hide parm selection? + # Hide parm selection and possibly table? + my ($tablejs,$tabledivsty); + if (((($env{'form.uname'} ne '') || ($env{'form.id'} ne '')) && ($uname eq '')) && + ($env{'form.dis'}) && ($pssymb eq '')) { + $tablejs = 'document.getElementById('."'parmtable'".').style.display = "";'; + $tabledivsty = ' style="display:none"'; + } $r->print(<'.$titles{$item}.' | '; + } + $output .= '
---|
';
+ if (($item eq 'protect') || ($item eq 'menus')) {
+ my $selected = $values{$item};
+ foreach my $option (@{$options{$item}}) {
+ if ($item eq 'protect') {
+ if ($option eq 'ltid') {
+ next unless (keys(%domlti));
+ } elsif ($option eq 'ltic') {
+ next unless (keys(%crslti));
+ }
+ } elsif (($item eq 'menus') && ($option eq 'colls')) {
+ next unless (@possmenus);
+ }
+ my $checked;
+ if ($item eq 'menus') {
+ if (($selected =~ /^\d+$/) && (@possmenus) &&
+ (grep(/^\Q$selected\E$/,@possmenus))) {
+ if ($option eq 'colls') {
+ $checked = ' checked="checked"';
+ }
+ } elsif (($option eq 'std') && ($selected == 0) && ($selected ne '')) {
+ $checked = ' checked="checked"';
+ }
+ } elsif ($selected =~ /^\Q$option\E/) {
+ $checked = ' checked="checked"';
+ }
+ my $onclick;
+ unless ($readonly) {
+ my $esc_key = &js_escape($thiskey);
+ $onclick = ' onclick="toggleDeepLink(this.form,'."'$item','$esc_key'".');"';
+ }
+ $output .= '';
+ if (($item eq 'protect') && ($option eq 'key')) {
+ my $visibility="hidden";
+ my $currkey;
+ if ($checked) {
+ $visibility = "text";
+ $currkey = (split(/\:/,$values{$item}))[1];
+ }
+ $output .= ' '.
+ '';
+ } elsif (($option eq 'ltic') || ($option eq 'ltid') || ($option eq 'colls')) {
+ my $display="none";
+ my ($current,$blankcheck,@possibles);
+ if ($checked) {
+ $display = 'inline-block';
+ if (($option eq 'ltic') || ($option eq 'ltid')) {
+ $current = (split(/\:/,$selected))[1];
+ } else {
+ $current = $selected;
+ }
+ } else {
+ $blankcheck = ' selected="selected"';
+ }
+ if ($option eq 'ltid') {
+ @possibles = keys(%domlti);
+ } elsif ($option eq 'ltic') {
+ @possibles = keys(%crslti);
+ } else {
+ @possibles = @possmenus;
+ }
+ $output .= ' | ';
+ }
+ $output .= '