--- loncom/interface/courseclassifier.pm 2014/12/11 00:07:12 1.20
+++ 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.20 2014/12/11 00:07:12 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 .= ''.$codetitles->[$k].' '."\n".
- ' | ';
}
$output .= ''.$codetitles->[$lasttitle-1].' '."\n".
- ''."\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";
}
@@ -687,7 +703,8 @@ sub build_javascript {
my ($by_year,$by_sem,$by_dept,$cat_order,$codetitles) = @_;
my @unsorted = keys(%{$by_year});
my @sorted_yrs;
- &sort_cats('0',$cat_order,$codetitles,\@unsorted,\@sorted_yrs); my $output = 'var idcse_by_yr_year = new Array("'.join('","',@sorted_yrs).'");'."\n".
+ &sort_cats('0',$cat_order,$codetitles,\@unsorted,\@sorted_yrs);
+ my $output = 'var idcse_by_yr_year = new Array("'.join('","',@sorted_yrs).'");'."\n".
'var idcse_by_yr_dept = new Array('.scalar(@sorted_yrs).');'."\n".
'var idcse_by_yr_num = new Array('.scalar(@sorted_yrs).');'."\n";
for (my $i=0; $i<@sorted_yrs; $i++) {