--- loncom/auth/lonroles.pm 2024/12/20 00:24:39 1.375 +++ loncom/auth/lonroles.pm 2025/02/23 05:16:01 1.376 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # User Roles Screen # -# $Id: lonroles.pm,v 1.375 2024/12/20 00:24:39 raeburn Exp $ +# $Id: lonroles.pm,v 1.376 2025/02/23 05:16:01 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -181,6 +181,7 @@ document.body.addEventListener('click', ENDREDIR } + $r->print('
'."\n"); return; } @@ -210,6 +211,7 @@ $msg // ]]> $link +
$end_page END return; @@ -682,17 +684,24 @@ sub handler { $env{'environment.key.'.$cdom.'_'.$cnum}, $authdom,$authnum)) { # there is no valid key + my $swinfo=&Apache::lonmenu::rawconfig(); + my $crumbtext = 'User Roles'; + my $show_course=&Apache::loncommon::show_course(); + if ($show_course) { + $crumbtext = 'Courses'; + } if ($env{'form.newkey'}) { # student attempts to register a new key &Apache::loncommon::content_type($r,'text/html'); &Apache::loncommon::no_cache($r); $r->send_http_header; - my $swinfo=&Apache::lonmenu::rawconfig(); + my $pagetitle = 'Verifying Access Key to Unlock this Course'; + my $brcrum =[{href=>"/adm/roles",text=>$crumbtext}, + {href=>"/adm/roles",text=>'Verify Access Key'}]; my $start_page=&Apache::loncommon::start_page - ('Verifying Access Key to Unlock this Course'); + ($pagetitle, undef,{bread_crumbs=>$brcrum,}); my $end_page=&Apache::loncommon::end_page(); - my $buttontext=&mt('Enter Course'); - my $message=&mt('Successfully registered key'); + my ($buttontext,$message,$inputitem,$accessheader); my $ip = &Apache::lonnet::get_requestor_ip(); my $assignresult= &Apache::lonnet::assign_access_key( @@ -706,38 +715,60 @@ sub handler { ,&Apache::lonlocal::locallocaltime($now) ,$trolecode) ); - unless ($assignresult eq 'ok') { - $assignresult=~s/^error\:\s*//; - $message=&mt($assignresult). - '
'. - &mt('Logout').''; - $buttontext=&mt('Re-Enter Key'); - } - $r->print(<&"')).'
'. + &mt('Result').': '.&mt($assignresult); + my $labeltext = &mt('Enter access key'); + $inputitem = ''; + } + $r->print(<<"ENDREGKEY"); $start_page -
+ +
+ -$message
+$inputitem +
$end_page -ENDENTEREDKEY +ENDREGKEY return OK; } else { # print form to enter a new key &Apache::loncommon::content_type($r,'text/html'); &Apache::loncommon::no_cache($r); $r->send_http_header; - my $swinfo=&Apache::lonmenu::rawconfig(); + my $pagetitle = 'Enter Access Key to Unlock this Course'; + my $brcrum =[{href=>"/adm/roles",text=>$crumbtext}, + {href=>"/adm/roles",text=>'Enter Access Key'}]; my $start_page=&Apache::loncommon::start_page - ('Enter Access Key to Unlock this Course'); + ($pagetitle,undef,{bread_crumbs=>$brcrum,}); my $end_page=&Apache::loncommon::end_page(); + my $accessheader = &mt('Access to this course requires an access key'); + my $preamble = &mt('Once you have successfully entered a valid key, you will no longer be prompted for one when entering the course.'); + my $labeltext = &mt('Enter access key'); + my $submittext = &mt('Submit'); $r->print(< @@ -745,12 +776,17 @@ $start_page $swinfo // ]]> +
+

$accessheader

+

$preamble

- - + +
+
$end_page ENDENTERKEY return OK; @@ -806,6 +842,9 @@ ENDENTERKEY ENDCLOSE &start_loading_course($r,$title,$only_body); + if ($only_body) { + $r->print('

'.$title.'

'); + } my %prog_state = &Apache::lonhtmlcommon::Create_PrgWin($r,undef,$preamble); &Apache::lonhtmlcommon::Update_PrgWin($r,\%prog_state,&mt('Loading ...')); $r->rflush(); @@ -956,6 +995,7 @@ ENDCLOSE $env{'course.'.$cdom.'_'.$cnum.'.description'}). '

'. '

'.&mt('Please try again.').'

'. + ''. &Apache::loncommon::end_page()); } } else { @@ -1356,17 +1396,18 @@ ENDHEADER } } if ($nochoose) { - $r->print("

".&mt('Sorry ...')."

\n". + $r->print("
+

".&mt('Sorry ...')."

\n". &mt('This action is currently not authorized.').''); if ($error && $norolelist) { - $r->print('

'. + $r->print('

'. &mt('As your session was launched from a web page external to LON-CAPA some course content may be unavailable, including the resource you were trying to access.'). - '

'. - '

'. + '

'. + '

'. &mt('You may need to login to LON-CAPA directly, or re-launch from a different external system.'). - '

'); + '

'); } - $r->print(&Apache::loncommon::end_page()); + $r->print('
'.&Apache::loncommon::end_page()); return OK; } else { if ($updateresult || $reqauthor || $hotlist) { @@ -1961,7 +2002,7 @@ sub roletable_headers { .&Apache::loncommon::start_data_table('LC_textsize_mobile') .&Apache::loncommon::start_data_table_header_row() ); - if (!$nochoose) { $r->print(' '); } + if (!$nochoose) { $r->print(''.&mt('Action').''); } $r->print(''.&mt('User Role').'' .''.&mt('Extent').'' .''.&mt('Start').'' @@ -3456,7 +3497,7 @@ sub get_roles_functions { foreach my $link (@links) { $funcs .= &Apache::lonhtmlcommon::add_item_funclist( ''. - ''.$link->[2].''. + ''. $link->[2].''); } $funcs .= &Apache::lonhtmlcommon::end_funclist();