Diff for /loncom/interface/coursecatalog.pm between versions 1.39 and 1.45

version 1.39, 2008/07/14 10:24:27 version 1.45, 2009/02/07 18:06:19
Line 106  function changeSort(caller) { Line 106  function changeSort(caller) {
     document.$formname.sortby.value = caller;      document.$formname.sortby.value = caller;
     document.$formname.submit();      document.$formname.submit();
 }  }
   
 function setCourseId(caller) {  function setCourseId(caller) {
     document.$formname.coursenum.value = caller;      document.$formname.coursenum.value = caller;
     document.$formname.submit();      document.$formname.submit();
 }  }
   
 ENDSCRIPT  ENDSCRIPT
           $catjs .= &courselink_javascript(); 
         my $numtitles;          my $numtitles;
         if ($env{'form.currcat_0'} eq 'instcode::0') {          if ($env{'form.currcat_0'} eq 'instcode::0') {
             $numtitles = &instcode_course_selector($r,$codedom,$formname,$domdesc,              $numtitles = &instcode_course_selector($r,$codedom,$formname,$domdesc,
Line 155  sub course_details { Line 157  sub course_details {
     my $output;      my $output;
     my %add_entries = (topmargin    => "0",      my %add_entries = (topmargin    => "0",
                        marginheight => "0",);                         marginheight => "0",);
       my $js = '<script type="text/javascript">'."\n".
                &courselink_javascript().'</script>'."\n";
     my $start_page =      my $start_page =
         &Apache::loncommon::start_page('Course Catalog','',          &Apache::loncommon::start_page('Course Catalog',$js,
                                            {                                             {
                                              'add_entries' => \%add_entries,                                               'add_entries' => \%add_entries,
                                              'no_inline_link'   => 1,});                                               'no_inline_link'   => 1,});
Line 172  sub course_details { Line 176  sub course_details {
              {text=>"Course details"});               {text=>"Course details"});
     $r->print(&Apache::lonhtmlcommon::breadcrumbs('Course Details'));      $r->print(&Apache::lonhtmlcommon::breadcrumbs('Course Details'));
     $r->print('<br />'.&mt('Detailed course information:').'<br /><br />'.      $r->print('<br />'.&mt('Detailed course information:').'<br /><br />'.
               '<form name="'.$formname.'" method="post" action="/adm/coursecatalog">'.  
               &print_course_listing($codedom,undef,$trails,$allitems).                &print_course_listing($codedom,undef,$trails,$allitems).
               '<br /><br />');                '<br /><br />');
     $r->print('<a href = "javascript:document.coursecatalog.submit()">'.      $r->print('<form name="'.$formname.'" method="post" action="/adm/coursecatalog">'.
                 '<a href = "javascript:document.coursecatalog.submit()">'.
               &mt('Back to course listing').'</a>'.                &mt('Back to course listing').'</a>'.
               '<input type="hidden" name="sortby" value="'.                &Apache::lonhtmlcommon::echo_form_input(['coursenum','catalogfilter',
               $env{'form.sortby'}.'" />'.                                                         'showdetails','courseid']).'</form>');
               '<input type="hidden" name="state" value="listing" /></form>');      return;
   }
   
   sub courselink_javascript {
       return <<"END";
   
   function ToSyllabus(cdom,cnum) {
       if (cdom == '' || cdom == null) {
           return;
       }
       if (cnum == '' || cnum == null) {
           return;
       }
       document.linklaunch.action = "/public/"+cdom+"/"+cnum+"/syllabus";
       document.linklaunch.submit();
   }
   
   function ToSelfenroll(courseid) {
       if (courseid == '') {
           return;
       }
       document.linklaunch.action = "/adm/selfenroll";
       document.linklaunch.courseid.value = courseid;
       document.linklaunch.submit();
   }
   
   END
 }  }
   
   
 sub instcode_course_selector {  sub instcode_course_selector {
     my ($r,$codedom,$formname,$domdesc,$catlinks,$catjs) = @_;      my ($r,$codedom,$formname,$domdesc,$catlinks,$catjs) = @_;
     my %coursecodes = ();      my %coursecodes = ();
Line 320  function setElements() { Line 351  function setElements() {
                   '<input type="hidden" name="numtitles" value="'.$numtitles.                    '<input type="hidden" name="numtitles" value="'.$numtitles.
                   '" /></form><br /><br />');                    '" /></form><br /><br />');
     } else {      } else {
           $js = '<script type"text/javascript">'."\n$catjs\n".'</script>';
         &cat_header($r,$codedom,$js,\%add_entries,$catlinks,$numtitles);          &cat_header($r,$codedom,$js,\%add_entries,$catlinks,$numtitles);
         my $cat_maxdepth = $env{'form.catalog_maxdepth'};          my $cat_maxdepth = $env{'form.catalog_maxdepth'};
         $r->print('<form name="'.$formname.'" method="post" action="/adm/coursecatalog">'.          $r->print('<form name="'.$formname.'" method="post" action="/adm/coursecatalog">'.
Line 367  sub cat_header { Line 399  sub cat_header {
   
 sub category_breadcrumbs {  sub category_breadcrumbs {
     my ($dom,@cats) = @_;      my ($dom,@cats) = @_;
       my $crumbsymbol = ' &#x25b6; ';
     my ($currdepth,$deeper) = &get_depth_values();      my ($currdepth,$deeper) = &get_depth_values();
     my $currcat_str = '<input type="hidden" name="catalog_maxdepth" value="'.$deeper.'" /><input type="hidden" name="showdom" value="'.$dom.'" />';      my $currcat_str = '<input type="hidden" name="catalog_maxdepth" value="'.$deeper.'" /><input type="hidden" name="showdom" value="'.$dom.'" />';
     my $catlinks = '<td valign="top"><b>'.&mt('Catalog:').'</b></td><td><table><tr>';      my $catlinks = '<td valign="top"><b>'.&mt('Catalog:').'</b></td><td><table><tr>';
Line 381  sub category_breadcrumbs { Line 414  sub category_breadcrumbs {
             my ($cat,$container,$depth) = map { &unescape($_); } split(/:/,$env{'form.currcat_'.$shallower});              my ($cat,$container,$depth) = map { &unescape($_); } split(/:/,$env{'form.currcat_'.$shallower});
             $cattitle = $cat;              $cattitle = $cat;
         }          }
         $catlinks .= '<td valign="top"><a href="javascript:setCatDepth('."'$shallower'".')">'.$cattitle.'</a>-&gt;</td>';          $catlinks .= '<td valign="top"><a href="javascript:setCatDepth('."'$shallower'".')">'.$cattitle.'</a>'.$crumbsymbol.'</td>';
     }      }
     if ($deeper == 0) {      if ($deeper == 0) {
         $catlinks .= '<td>'.&mt('Main Categories').':&nbsp;';          $catlinks .= '<td>'.&mt('Main Categories').':&nbsp;';
Line 734  sub print_course_listing { Line 767  sub print_course_listing {
     my %domconfig =      my %domconfig =
         &Apache::lonnet::get_dom('configuration',['usercreation'],$domain);          &Apache::lonnet::get_dom('configuration',['usercreation'],$domain);
     $output .= &construct_data_table($knownuser,\%courses,$details,undef,$now,\%domconfig,$trails,$allitems);      $output .= &construct_data_table($knownuser,\%courses,$details,undef,$now,\%domconfig,$trails,$allitems);
     if ($env{'form.coursenum'} ne '') {      $output .= "\n".'<form name="linklaunch" method="post" action="">'.
         $output .= &Apache::lonhtmlcommon::echo_form_input(['coursenum','state','catalogfilter','sortby','showdetails']);                 '<input type="hidden" name="backto" value="coursecatalog" />'.
     }                 '<input type="hidden" name="courseid" value="" />'.
                  &Apache::lonhtmlcommon::echo_form_input(['catalogfilter','courseid']).'</form>';
     return $output;      return $output;
 }  }
   
Line 778  sub construct_data_table { Line 812  sub construct_data_table {
             $output .=              $output .=
               '<th>'.&mt('Default Access Dates for Students').'</th>'.                '<th>'.&mt('Default Access Dates for Students').'</th>'.
               '<th>'.&mt('Student Counts').'</th>'.                '<th>'.&mt('Student Counts').'</th>'.
               '<th>'.&mt('Auto-enrollment of <br />registered students').'</th>';                '<th>'.&mt('Auto-enrollment of[_1]registered students','<br />').'</th>';
         } else {          } else {
             $output .= '<th>'.&mt('Details').'</th>';              $output .= '<th>'.&mt('Details').'</th>';
         }          }
Line 925  sub build_courseinfo_hash { Line 959  sub build_courseinfo_hash {
                 }                  }
             }              }
             if ($startaccess) {              if ($startaccess) {
                 $accessdates .= &mt('<i>From:</i> ').$startaccess.'<br />';                  $accessdates .= '<i>'.&mt('From:[_1]','</i> '.$startaccess).'<br />';
             }              }
             if ($endaccess) {              if ($endaccess) {
                 $accessdates .= &mt('<i>To:</i> ').$endaccess.'<br />';                  $accessdates .= '<i>'.&mt('To:[_1]','</i> '.$endaccess).'<br />';
             }              }
             if (($selfenroll_types ne '') &&               if (($selfenroll_types ne '') && 
                 ($selfenroll_end > 0 && $selfenroll_end > $now)) {                  ($selfenroll_end > 0 && $selfenroll_end > $now)) {
Line 949  sub build_courseinfo_hash { Line 983  sub build_courseinfo_hash {
                     if ($selfenroll_start_access || $selfenroll_end_access) {                      if ($selfenroll_start_access || $selfenroll_end_access) {
                         $accessdates .= '<br/><br /><i>'.&mt('Self-enrollers:').'</i><br />';                          $accessdates .= '<br/><br /><i>'.&mt('Self-enrollers:').'</i><br />';
                         if ($selfenroll_start_access) {                          if ($selfenroll_start_access) {
                             $accessdates .= &mt('<i>From:</i> ').$selfenroll_start_access.'<br />';                              $accessdates .= '<i>'.&mt('From:[_1]','</i> '.$selfenroll_start_access).'<br />';
                         }                          }
                         if ($selfenroll_end_access) {                          if ($selfenroll_end_access) {
                             $accessdates .= &mt('<i>To:</i> ').$selfenroll_end_access.'<br />';                              $accessdates .= '<i>'.&mt('To:[_1]','</i> '.$selfenroll_end_access).'<br />';
                         }                          }
                     }                      }
                 }                  }
Line 987  sub count_students { Line 1021  sub count_students {
         $student_count{$data->[$idx{'status'}]} ++;          $student_count{$data->[$idx{'status'}]} ++;
     }      }
   
     my $countslist = &mt('[quant,_1,section]',$numsec).':<br />';      my $countslist = &mt('[quant,_1,section:,sections:,No sections]',$numsec).'<br />';
     foreach my $status ('Active','Future') {      foreach my $status ('Active','Future') {
         $countslist .= '<nobr>'.$status_title{$status}.': '.          $countslist .= '<span class="LC_nobreak">'.$status_title{$status}.': '.
                        $student_count{$status}.'</nobr><br />';                         $student_count{$status}.'</span><br />';
     }      }
     return $countslist;      return $countslist;
 }  }
Line 1039  sub courseinfo_row { Line 1073  sub courseinfo_row {
                '<td>'.$xlist_items.'</td>'.                 '<td>'.$xlist_items.'</td>'.
                '<td>'.$title.'&nbsp;<font size="-2">';                 '<td>'.$title.'&nbsp;<font size="-2">';
     if ($showsyllabus) {      if ($showsyllabus) {
         $output .= &Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$cnum,$cdom);          $output .= '<a href="javascript:ToSyllabus('."'$cdom','$cnum'".')">'.&mt('Syllabus').'</a>';
     } else {      } else {
         $output .= '&nbsp;';          $output .= '&nbsp;';
     }      }
Line 1063  sub courseinfo_row { Line 1097  sub courseinfo_row {
             if (($info->{'selfenroll_start'} > 0) && ($info->{'selfenroll_start'} > $now)) {              if (($info->{'selfenroll_start'} > 0) && ($info->{'selfenroll_start'} > $now)) {
                 $output .= '<td>'.&mt('Starts: [_1]','<span class="LC_cusr_emph">'.$showstart.'</span>').'<br />'.&mt('Ends: [_1]','<span class="LC_cusr_emph">'.$showend.'</span>').'</td>';                  $output .= '<td>'.&mt('Starts: [_1]','<span class="LC_cusr_emph">'.$showstart.'</span>').'<br />'.&mt('Ends: [_1]','<span class="LC_cusr_emph">'.$showend.'</span>').'</td>';
             } else {               } else { 
                 $output .= '<td><a href="/adm/selfenroll?cid='.$course.'">'.&mt('Enroll in course').'</a></td>';                  $output .= '<td><a href="javascript:ToSelfenroll('."'$course'".')">'.&mt('Enroll in course').'</a></td>';
             }              }
             $selfenroll = 1;              $selfenroll = 1;
         }          }
Line 1130  sub get_valid_classes { Line 1164  sub get_valid_classes {
     }      }
     if ($totalitems > 0) {      if ($totalitems > 0) {
         if (@{$validations{'sections'}}) {          if (@{$validations{'sections'}}) {
             $response = &mt('Sections: ').              $response = &mt('Sections:').' '.
                         join(', ',@{$validations{'sections'}}).'<br />';                          join(', ',@{$validations{'sections'}}).'<br />';
         }          }
         if (@{$validations{'xlists'}}) {          if (@{$validations{'xlists'}}) {
             $response .= &mt('Courses: ').              $response .= &mt('Courses:').' '.
                         join(', ',@{$validations{'xlists'}});                          join(', ',@{$validations{'xlists'}});
         }          }
     }      }
Line 1299  sub autoenroll_info { Line 1333  sub autoenroll_info {
                    &get_valid_classes($seclist,$xlist_items,$code,                     &get_valid_classes($seclist,$xlist_items,$code,
                                       $owners,$cdom,$cnum);                                        $owners,$cdom,$cnum);
                 if ($valid_classes ne '') {                  if ($valid_classes ne '') {
                     $autoenrolldates = &mt('Not enabled<br />Starts: ').                      $autoenrolldates = &mt('Not enabled').'<br />'
                                        $autostart.'<br />'.$valid_classes;                }                                        .&mt('Starts: [_1]',$autostart)
                                         .'<br />'.$valid_classes;
                   }
             }              }
         } else {          } else {
             if ($coursehash->{'internal.autoend'} && $coursehash->{'internal.autoend'} < $now) {              if ($coursehash->{'internal.autoend'} && $coursehash->{'internal.autoend'} < $now) {
                 $autoenrolldates = &mt('Not enabled<br />Ended: ').$autoend;                  $autoenrolldates = &mt('Not enabled').'<br />'
                                     .&mt('Ended: [_1]',$autoend);
             } else {              } else {
                 my $valid_classes = &get_valid_classes($seclist,$xlist_items,                  my $valid_classes = &get_valid_classes($seclist,$xlist_items,
                                                        $code,$owners,$cdom,$cnum);                                                         $code,$owners,$cdom,$cnum);
                 if ($valid_classes ne '') {                  if ($valid_classes ne '') {
                     $autoenrolldates = &mt('Currently enabled<br />').                      $autoenrolldates = &mt('Currently enabled').'<br />'.
                                        $valid_classes;                                         $valid_classes;
                 }                  }
             }              }

Removed from v.1.39  
changed lines
  Added in v.1.45


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