--- loncom/interface/courseclassifier.pm 2015/05/13 19:30:13 1.21 +++ loncom/interface/courseclassifier.pm 2017/01/18 21:07:31 1.25 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Utilities for classifying courses based on institutional code # -# $Id: courseclassifier.pm,v 1.21 2015/05/13 19:30:13 raeburn Exp $ +# $Id: courseclassifier.pm,v 1.25 2017/01/18 21:07:31 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -260,7 +260,9 @@ sub build_code_selections { } sub javascript_code_selections { - my ($formname,@codetitles) = @_; + my ($formname,$codetitlesref) = @_; + return unless (ref($codetitlesref) eq 'ARRAY'); + my @codetitles = @{$codetitlesref}; my $numtitles = @codetitles; my %lt = &Apache::lonlocal::texthash( Select => 'Select', @@ -575,15 +577,22 @@ function setElements() { } sub build_instcode_selectors { - my ($numtitles,$lasttitle,$cat_items,$codetitles,$cat_titles,$cat_order) = @_; + my ($numtitles,$lasttitle,$cat_items,$codetitles,$cat_titles,$cat_order,$official,$class,$id,$noedit) = @_; my $output; my @standardnames = &Apache::loncommon::get_standard_codeitems(); if ($numtitles > 0) { my $style; - if ($env{'form.official'} eq 'off') { + if ($official eq 'off') { $style = ' style="display: none"'; } - $output .= '
'; + if ($id eq '') { + $id = 'instcodes'; + } + my $disabled; + if ($noedit) { + $disabled = ' disabled="disabled"'; + } + $output .= '
'; for (my $k=0; $k<$lasttitle-1; $k++) { my (@items,@unsorted); if (ref($cat_items->{$codetitles->[$k]}) eq 'ARRAY') { @@ -599,8 +608,11 @@ sub build_instcode_selectors { @longitems = @items; } $output .= ''; } $output .= '
'.$codetitles->[$k].'
'."\n". - ''."\n".''."\n"; for (my $i=0; $i<@items; $i++) { if ($longitems[$i] eq '') { $longitems[$i] = $items[$i]; @@ -610,14 +622,18 @@ sub build_instcode_selectors { $output .= '
'.$codetitles->[$lasttitle-1].'
'."\n". - ''."\n". ''."\n".''."\n". '
'."\n"; if ($numtitles > 4) { $output .= '

'.$codetitles->[$numtitles-1].'
'."\n". '
'."\n"; + '"'.$disabled.' />
'."\n"; } $output .= '
'; } @@ -644,7 +660,7 @@ sub instcode_selectors { ''.&mt('No').'
'. &build_instcode_selectors($numtitles,$lasttitle,\%cat_items,$codetitles, - \%cat_titles,\%cat_order)."\n". + \%cat_titles,\%cat_order,$env{'form.official'})."\n". ''."\n". ''."\n"; }