--- loncom/interface/lonmenu.pm 2023/07/15 03:34:40 1.535 +++ loncom/interface/lonmenu.pm 2023/09/28 15:56:48 1.538 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines to control the menu # -# $Id: lonmenu.pm,v 1.535 2023/07/15 03:34:40 raeburn Exp $ +# $Id: lonmenu.pm,v 1.538 2023/09/28 15:56:48 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -968,6 +968,18 @@ sub innerregister { $$showncrumbsref = 1; } return $trail; + } elsif (($resurl eq '/public'.$courseurl.'/syllabus') && + ($env{'form.folderpath'})) { + if ($env{'form.title'}) { + $title = $env{'form.title'}; + } else { + $title = 'Syllabus'; + } + &prepare_functions($resurl,$forcereg,$group,undef,undef,1,$hostname); + $title = &HTML::Entities::encode($title,'\'"<>&'); + my ($trail) = + &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$title,1,1); + return $trail; } unless ($env{'request.state'} eq 'construct') { &Apache::lonhtmlcommon::clear_breadcrumbs(); @@ -1093,15 +1105,17 @@ sub innerregister { $leftvis = 'inline'; $defdom = $cdom; } - my $sellink = &Apache::loncommon::selectstudent_link('userview','vuname','vudom'); + my $sellink = &Apache::loncommon::selectstudent_link('userview','vuname','vudom','','','vuidentifier'); my $selscript=&Apache::loncommon::studentbrowser_javascript(); my $shownsymb = &HTML::Entities::encode(&Apache::lonenc::check_encrypt($env{'request.symb'}),'<>&"'); - my $input = &mt('User: [_1] or ID: [_2] at: [_3]', - '', - '', - &Apache::loncommon::select_dom_form($defdom,'vudom')). - '', - ''; + my $input = &mt('[_1]Username:[_2] or [_3]ID:[_4] | ', + '', + ''). + ''. + '', + ''; my $chooser = < @@ -2349,23 +2363,28 @@ sub view_as_js { return <<"END"; function toggleViewAsUser(change) { - var seluserid = document.getElementById('LC_selectuser'); - var currstyle = seluserid.style.display; - if (change == 'off') { - document.userview.elements['LC_viewas'].value = ''; - document.userview.elements['vuname'].value = ''; - document.userview.elements['vid'].value = ''; - document.userview.submit(); - return; - } - if (currstyle == 'inline') { - seluserid.style.display = 'none'; - document.getElementById('usexpand').innerHTML='► '; - document.getElementById('uscollapse').innerHTML=''; - } else { - seluserid.style.display = 'inline'; - document.getElementById('usexpand').innerHTML=''; - document.getElementById('uscollapse').innerHTML='◄ '; + if (document.getElementById('LC_selectuser')) { + var seluserid = document.getElementById('LC_selectuser'); + var currstyle = seluserid.style.display; + if (change == 'off') { + document.userview.elements['LC_viewas'].value = ''; + document.userview.elements['vuname'].value = ''; + document.userview.elements['vid'].value = ''; + document.userview.submit(); + return; + } + if ((document.getElementById('usexpand')) && (document.getElementById('uscollapse'))) { + if (currstyle == 'inline') { + seluserid.style.display = 'none'; + document.getElementById('usexpand').innerHTML='► '; + document.getElementById('uscollapse').innerHTML=''; + } else { + seluserid.style.display = 'inline'; + document.getElementById('usexpand').innerHTML=''; + document.getElementById('uscollapse').innerHTML='◄ '; + toggleIdentifier(document.userview); + } + } } return; } @@ -2373,7 +2392,7 @@ function toggleViewAsUser(change) { function validCourseUser(form,change) { var possuname = form.elements['vuname'].value; var possuid = form.elements['vid'].value; - var possudom = form.elements['vudom'].options[form.elements['vudom'].selectedIndex].value; + var possudom = form.elements['vudom'].value; if ((possuname == '') && (possuid == '')) { if (change == 'off') { form.elements['LC_viewas'].value = ''; @@ -2409,6 +2428,30 @@ function validCourseUser(form,change) { return false; } +function toggleIdentifier(form) { + if ((document.getElementById('LC_vuname')) && (document.getElementById('LC_vid'))) { + var radioelem = form.elements['vuidentifier']; + if (radioelem.length > 0) { + var i; + for (i=0; i