--- loncom/interface/lonparmset.pm 2022/02/21 18:21:11 1.522.2.28.4.2 +++ loncom/interface/lonparmset.pm 2022/03/23 17:29:29 1.522.2.28.4.3 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.522.2.28.4.2 2022/02/21 18:21:11 raeburn Exp $ +# $Id: lonparmset.pm,v 1.522.2.28.4.3 2022/03/23 17:29:29 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2673,6 +2673,7 @@ sub assessparms { my $chome = $env{'course.'.$env{'request.course.id'}.'.home'}; my ($got_chostname,$chostname,$cmajor,$cminor); my $totalstored = 0; + my $totalskippeduser = 0; my $now = time; for (my $i=0;$i<=$#markers;$i++) { my ($needsrelease,$needsnewer,$name); @@ -2681,6 +2682,11 @@ sub assessparms { } if ($markers[$i] =~ /\&(6|5|4)$/) { next if ($noeditgrp); + } elsif ($markers[$i] =~ /\&(3|2|1)$/) { + if ($uname eq '') { + $totalskippeduser ++; + next; + } } if ($markers[$i] =~ /^[\d.]+\&0_availablestudent\&(1|2|3)$/) { my (@ok_slots,@fail_slots,@del_slots); @@ -2758,9 +2764,27 @@ sub assessparms { # ---------------------------------------------------------------- Done storing if ($totalstored) { $message.='

' + .&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') .'

'; + } else { + $message.='

'.&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