--- loncom/interface/lonblockingmenu.pm 2020/01/13 17:10:55 1.14.2.3.4.1 +++ loncom/interface/lonblockingmenu.pm 2020/09/08 04:16:49 1.14.2.3.4.2 @@ -2,7 +2,7 @@ # Routines for configuring blocking of access to collaborative functions, # and specific resources during an exam # -# $Id: lonblockingmenu.pm,v 1.14.2.3.4.1 2020/01/13 17:10:55 raeburn Exp $ +# $Id: lonblockingmenu.pm,v 1.14.2.3.4.2 2020/09/08 04:16:49 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -578,6 +578,7 @@ sub handler { my %lt=&Apache::lonlocal::texthash ( 'cbds' => 'Blocking communication and/or content access during exams', 'prev' => "For the duration of an exam, or a timed quiz, students in this course can be prevented from:", + 'flow' => "For the duration of an exam, or a timed quiz, event-driven interruptions to a student's workflow can be suppressed:", 'blca' => "Blocks can potentially interrupt legitimate communication between $usertype who are also both enrolled in a different LON-CAPA $lctype.", 'pobl' => "Portfolio blocking can impact a student's ability to complete assignments in courses besides your own. Please use this feature wisely.", 'actt' => "Action to take:", @@ -619,9 +620,15 @@ sub handler { '
  • '.&mt("displaying or posting to LON-CAPA discussion boards or live chat in the $lctype").'
  • '."\n". '
  • '.&mt('accessing content in LON-CAPA portfolios or blogs').'
  • '."\n". '
  • '.&mt("generating printouts of $lctype content").'
  • '. + '
  • '.&mt("displaying the LON-CAPA gradebook in the $lctype").'
  • '. '
  • '.&mt("accessing $lctype content in specified folders or resources").'
  • '. '
  • '.&mt("changing user's own password").'
  • '. ''. + $lt{'flow'}. + ''. '

    '.$lt{'blca'}.'
    '.$lt{'pobl'}.'

    ' ); } @@ -877,6 +884,24 @@ sub blockstore { &escape($env{'form.title_'.$key})).'
    '; } } + if ($blocktypes->{'alert'} eq 'on') { + ($status,$needsrelease) = &check_release_required('alert',$chomemajor,$chomeminor); + if ($status eq 'fail') { + $blocktypes->{'alert'} = 'off'; + $output .= '

    '. + &mt('Message Alert blocking not allowed for [_1]', + &escape($env{'form.title_'.$key})).'
    '; + } + } + if ($blocktypes->{'reinit'} eq 'on') { + ($status,$needsrelease) = &check_release_required('reinit',$chomemajor,$chomeminor); + if ($status eq 'fail') { + $blocktypes->{'reinit'} = 'off'; + $output .= '

    '. + &mt('Course Re-initialization blocking not allowed for [_1]', + &escape($env{'form.title_'.$key})).'
    '; + } + } } if ($blockdocs) { ($status,$needsrelease) = &check_release_required('docs',$chomemajor,$chomeminor); @@ -1632,8 +1657,11 @@ sub blocktype_text { 'docs' => 'Content', 'printout' => 'Printouts', 'passwd' => 'Change Password', + 'grades' => 'Gradebook', + 'alert' => 'Critical Alert', + 'reinit' => 'Course Re-init', ); - my $typeorder = ['com','chat','boards','port','groups','blogs','printout','docs','passwd']; + my $typeorder = ['com','chat','boards','port','groups','blogs','printout','docs','grades','alert','reinit','passwd']; return ($typeorder,\%types); }