Diff for /loncom/interface/courseclassifier.pm between versions 1.9 and 1.10

version 1.9, 2010/07/08 23:19:19 version 1.10, 2010/07/09 14:40:20
Line 30  package Apache::courseclassifier; Line 30  package Apache::courseclassifier;
 use strict;  use strict;
 use lib '/home/httpd/lib/perl/';  use lib '/home/httpd/lib/perl/';
 use Apache::lonnet;  use Apache::lonnet;
   use Apache::loncommon;
 use Apache::lonlocal;  use Apache::lonlocal;
 use LONCAPA;  use LONCAPA;
   
Line 258  sub build_code_selections { Line 259  sub build_code_selections {
 sub javascript_code_selections {  sub javascript_code_selections {
     my ($formname,@codetitles) = @_;      my ($formname,@codetitles) = @_;
     my $numtitles = @codetitles;      my $numtitles = @codetitles;
       my %lt = &Apache::lonlocal::texthash(
                         Select => 'Select',
                         Pick   => 'Pick',
                );
     my $output = (<<END_OF_BLOCK);      my $output = (<<END_OF_BLOCK);
  var display = new Array($numtitles)   var display = new Array($numtitles)
  if (caller == "" || caller == "$codetitles[0]") {   if (caller == "" || caller == "$codetitles[0]") {
      if (caller == "") {       if (caller == "") {
          document.$formname.Year.length = 0           document.$formname.Year.length = 0
          document.$formname.Year.options[0] = new Option("Select","-1",true,true)           document.$formname.Year.options[0] = new Option("$lt{'Select'}","-1",true,true)
          display[0] = new Array(idyears.length)           display[0] = new Array(idyears.length)
          for (var i=0; i<idyears.length; i++) {           for (var i=0; i<idyears.length; i++) {
              display[0][i] = idyears[i]               display[0][i] = idyears[i]
Line 284  sub javascript_code_selections { Line 289  sub javascript_code_selections {
      document.$formname.Semester.length = 0       document.$formname.Semester.length = 0
      document.$formname.Department.length = 0;       document.$formname.Department.length = 0;
      document.$formname.Number.length = 0       document.$formname.Number.length = 0
      document.$formname.Department.options[0] = new Option("<-Pick $codetitles[1]","-1",true,true)       document.$formname.Department.options[0] = new Option("<-$lt{'Pick'} $codetitles[1]","-1",true,true)
      document.$formname.Number.options[0] = new Option("<-Pick $codetitles[2]","-1",true,true)       document.$formname.Number.options[0] = new Option("<-$lt{'Pick'} $codetitles[2]","-1",true,true)
      if (idyr == 0 || caller == "") {       if (idyr == 0 || caller == "") {
          document.$formname.Semester.options[0] = new Option("<-Pick $codetitles[0]","-1",true,true)           document.$formname.Semester.options[0] = new Option("<-$lt{'Pick'} $codetitles[0]","-1",true,true)
      }       }
      else {       else {
          document.$formname.Semester.options[0] = new Option("Select","-1",true,true)           document.$formname.Semester.options[0] = new Option("$lt{'Select'}","-1",true,true)
          display[1] = new Array(idsems[idyr-1].length)           display[1] = new Array(idsems[idyr-1].length)
          for (var i=0; i<idsems[idyr-1].length; i++) {           for (var i=0; i<idsems[idyr-1].length; i++) {
              display[1][i] = idsems[idyr-1][i]               display[1][i] = idsems[idyr-1][i]
Line 309  sub javascript_code_selections { Line 314  sub javascript_code_selections {
    document.$formname.Number.length = 0     document.$formname.Number.length = 0
    document.$formname.Number.options[0] = new Option("<-Pick $codetitles[2]","-1",true,true)     document.$formname.Number.options[0] = new Option("<-Pick $codetitles[2]","-1",true,true)
    if (idsem == 0) {     if (idsem == 0) {
      document.$formname.Department.options[0] = new Option("<-Pick $codetitles[1]","-1",true,true)       document.$formname.Department.options[0] = new Option("<-$lt{'Pick'} $codetitles[1]","-1",true,true)
    }     }
    else {     else {
     document.$formname.Department.options[0] = new Option("Select","-1",true,true)      document.$formname.Department.options[0] = new Option("$lt{'Select'}","-1",true,true)
     display[2] = new Array(idcodes[idyr-1][idsem-1].length)      display[2] = new Array(idcodes[idyr-1][idsem-1].length)
     for (var i=0; i<idcodes[idyr-1][idsem-1].length; i++) {      for (var i=0; i<idcodes[idyr-1][idsem-1].length; i++) {
       display[2][i] = idcodes[idyr-1][idsem-1][i]        display[2][i] = idcodes[idyr-1][idsem-1][i]
Line 329  sub javascript_code_selections { Line 334  sub javascript_code_selections {
  if (caller == "$codetitles[2]") {   if (caller == "$codetitles[2]") {
    document.$formname.Number.length = 0     document.$formname.Number.length = 0
    if (iddept == 0) {     if (iddept == 0) {
      document.$formname.Number.options[0] = new Option("<-Pick $codetitles[2]","-1",true,true)       document.$formname.Number.options[0] = new Option("<-$lt{'Pick'} $codetitles[2]","-1",true,true)
    }     }
    else {     else {
     document.$formname.Number.options[0] = new Option("Select","-1",true,true)      document.$formname.Number.options[0] = new Option("Select","-1",true,true)
Line 545  function setElements() { Line 550  function setElements() {
 sub build_instcode_selectors {  sub build_instcode_selectors {
     my ($numtitles,$lasttitle,$cat_items,$codetitles,$cat_titles,$cat_order) = @_;      my ($numtitles,$lasttitle,$cat_items,$codetitles,$cat_titles,$cat_order) = @_;
     my $output;      my $output;
     my @standardnames = &get_standard_codeitems();      my @standardnames = &Apache::loncommon::get_standard_codeitems();
     if ($numtitles > 0) {      if ($numtitles > 0) {
         $output .= '<table><tr>';          $output .= '<table><tr>';
         for (my $k=0; $k<$lasttitle-1; $k++) {          for (my $k=0; $k<$lasttitle-1; $k++) {
Line 821  sub instcode_search_str { Line 826  sub instcode_search_str {
         my $defaults_result =          my $defaults_result =
             &Apache::lonnet::auto_instcode_defaults($domain,\%codedefaults,              &Apache::lonnet::auto_instcode_defaults($domain,\%codedefaults,
                                                     \@code_order);                                                      \@code_order);
         my @standardnames = &get_standard_codeitems();          my @standardnames = &Apache::loncommon::get_standard_codeitems();
         my %local_to_standard;          my %local_to_standard;
         if (ref($codetitles) eq 'ARRAY') {          if (ref($codetitles) eq 'ARRAY') {
             for (my $i=0; $i<@{$codetitles}; $i++) {              for (my $i=0; $i<@{$codetitles}; $i++) {
Line 850  sub instcode_search_str { Line 855  sub instcode_search_str {
     return $instcode;      return $instcode;
 }  }
   
 sub get_standard_codeitems {  sub instcode_from_selectors {
     return ('Year','Semester','Department','Number');      my ($cdom) = @_;
       my $instcode;
       my $caller = 'global';
       my (%coursecodes,%codes,@codetitles,%cat_titles,%cat_order,
           %codedefaults,@code_order);
       my $format_reply =
           &Apache::lonnet::auto_instcode_format($caller,$cdom,\%coursecodes,
                               \%codes,\@codetitles,\%cat_titles,\%cat_order);
       my $defaults_result =
           &Apache::lonnet::auto_instcode_defaults($cdom,\%codedefaults,
                                                   \@code_order);
       if (($defaults_result eq 'ok') && ($format_reply eq 'ok')) {
           my @standardnames = &Apache::loncommon::get_standard_codeitems();
           my %local_to_standard;
           for (my $i=0; $i<@codetitles; $i++) {
               $local_to_standard{$codetitles[$i]} = $standardnames[$i];
           }
           foreach my $loctitle (@code_order) {
               my $category = $local_to_standard{$loctitle};
               if ($category ne '') {
                   if ($env{'form.'.$category} eq '-1' ) {
                       $instcode .= $codedefaults{$category};
                   } else {
                       $instcode .= $env{'form.'.$category};
                   }
               } else {
                   $instcode .= '.+';
               }
           }
       }
       return $instcode;
 }  }
   
 1;  1;

Removed from v.1.9  
changed lines
  Added in v.1.10


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>