Diff for /loncom/interface/lonpickcourse.pm between versions 1.66 and 1.73.2.2

version 1.66, 2007/10/22 22:16:38 version 1.73.2.2, 2008/07/01 05:26:04
Line 93  sub handler { Line 93  sub handler {
   
     if ($env{'form.form'} eq 'portform') {      if ($env{'form.form'} eq 'portform') {
         $lastaction = 'document.courselist.submit()';          $lastaction = 'document.courselist.submit()';
     } elsif ($env{'form.form'} eq 'cu' || $env{'form.form'} eq 'studentform') {      } elsif ($env{'form.form'} eq 'cu' || ($env{'form.form'} eq 'studentform' &&
           !$multiple)) {
         $lastaction =           $lastaction = 
              'document.courselist.pickedcourse.value = cdom+"_"+cname;'."\n".               'document.courselist.pickedcourse.value = cdom+"_"+cname;'."\n".
              'document.courselist.submit();';               'document.courselist.submit();';
Line 103  sub handler { Line 104  sub handler {
   
     # if called to assign a role in a course to a user via CUSR      # if called to assign a role in a course to a user via CUSR
     if ($env{'form.form'} eq 'cu' || $env{'form.form'} eq 'studentform') {      if ($env{'form.form'} eq 'cu' || $env{'form.form'} eq 'studentform') {
         $r->print(&create_user_javascript($type));           $r->print(&create_user_javascript($type));
     }      }
   
     # print javascript functions for choosing a course       # print javascript functions for choosing a course 
Line 214  sub display_matched_courses { Line 215  sub display_matched_courses {
     if ($env{'form.form'} eq 'portform') {      if ($env{'form.form'} eq 'portform') {
         $action = '/adm/portfolio';          $action = '/adm/portfolio';
     }      }
       my $numcourses = keys(%courses);
     $r->print('<form name="courselist" method="post" action="'.$action.'">');      $r->print('<form name="courselist" method="post" action="'.$action.'">');
       if ($env{'form.form'} eq 'modifycourse') {
           if ($numcourses > 0) {
               my $cctitle = &Apache::lonnet::plaintext('cc',$type);
               my $dctitle = &Apache::lonnet::plaintext('dc');
               my $ccrolechk = ' checked="checked" ';
               my $menuchk = ' ';
               if ($env{'form.prevphase'} ne '') {
                    $ccrolechk = ' ';
                    $menuchk = ' checked="checked" ';
               }
               $r->print(
                   '<table class="LC_pick_box">'.
                   '<tr class="LC_pick_box_row">'.
                   '<td class="LC_pick_box_title" rowspan="2">'.&mt('Action').'</td>'.
                   '<td class="LC_evenrow_value">'.
                   '<span class="LC_nobreak"><label>'.
                   '<input type="radio" name="phase" value="ccrole"'.$ccrolechk.'/>'.
                   '&nbsp;'.&mt('Enter the course with the role of [_1].',$cctitle).
                   '</label>'.('&nbsp;'x3).'</span>'.
                   '</td></tr>'.
                   '<tr class="LC_pick_box_row">'.
                   '<td class="LC_oddrow_value">'.
                   '<span class="LC_nobreak"><label>'.
                   '<input type="radio" name="phase" value="menu"'.$menuchk.'/>&nbsp;'.
                   &mt('View or modify course settings which only a [_1] may modify.',$dctitle).
                   '</label></span>'.
                   '</td></tr></table>'.
                   '<br />');
           }
       }
     my %by_descrip;      my %by_descrip;
     my $numcourses = keys(%courses);  
     foreach my $course (keys(%courses)) {      foreach my $course (keys(%courses)) {
         my $descr;          my $descr;
         if (ref($courses{$course}) eq 'HASH') {          if (ref($courses{$course}) eq 'HASH') {
Line 229  sub display_matched_courses { Line 260  sub display_matched_courses {
         my $description = $descr;          my $description = $descr;
         push (@{$by_descrip{$description}}, $course);          push (@{$by_descrip{$description}}, $course);
     }      }
    
     if ($numcourses > 1 && $multiple) {      if ($numcourses > 1 && $multiple) {
         $r->print('<input type="button" value="check all"          $r->print('<input type="button" value="check all"
                   onclick="javascript:checkAll(document.courselist.course_id)" />                    onclick="javascript:checkAll(document.courselist.course_id)" />
Line 236  sub display_matched_courses { Line 268  sub display_matched_courses {
                   onclick="javascript:uncheckAll(document.courselist.course_id)" />                    onclick="javascript:uncheckAll(document.courselist.course_id)" />
                   <br /><br />');                    <br /><br />');
     }      }
   
       if (%courses) {
           $r->print(&Apache::loncommon::start_data_table());
           $r->print(&Apache::loncommon::start_data_table_header_row());
           $r->print('<th>'.&mt('Select').'</th>'
                    .'<th>'.&mt('Course Description').'</th>'
                    .'<th>'.&mt('Domain').'</th>'
                    .'<th>'.&mt('Course Code').'</th>'
                    .'<th>'.&mt('Owner/Co-owner(s)').'</th>'
   #                 .'<th>'.&mt('Type').'</th>'
                    );
           $r->print(&Apache::loncommon::end_data_table_header_row());
       }
     foreach my $description (sort { lc($a) cmp lc($b) } (keys(%by_descrip))) {      foreach my $description (sort { lc($a) cmp lc($b) } (keys(%by_descrip))) {
         foreach my $course (@{$by_descrip{$description}}) {          foreach my $course (@{$by_descrip{$description}}) {
               $r->print(&Apache::loncommon::start_data_table_row());
             my $cleandesc=&HTML::Entities::encode($description,'<>&"');              my $cleandesc=&HTML::Entities::encode($description,'<>&"');
             $cleandesc=~s/'/\\'/g;              $cleandesc=~s/'/\\'/g;
             my ($cdom,$cnum)=split(/\_/,$course);              my ($cdom,$cnum)=split(/\_/,$course);
Line 257  sub display_matched_courses { Line 303  sub display_matched_courses {
                 ($descr,$instcode,$singleowner,$ttype)=split(/:/,$courses{$course});                  ($descr,$instcode,$singleowner,$ttype)=split(/:/,$courses{$course});
                 push(@owners,&unescape($singleowner));                  push(@owners,&unescape($singleowner));
             }              }
             my $owner = join(', ',@owners);              my $ownerstr = join(', ',@owners);
             $r->print(&course_chooser($multiple,$cdom,$cnum,$cleandesc));              $r->print('<td>'.&course_chooser($multiple,$cdom,$cnum,$cleandesc).'</td>');
             $r->print($description.'('.              $r->print('<td>'.$description.'</td>');
                       (&Apache::lonnet::domain($cdom,'description')?              $r->print('<td>');
                        &Apache::lonnet::domain($cdom,'description'):$cdom).")");              $r->print(&Apache::lonnet::domain($cdom,'description')?
                         $cdom.' ('.&Apache::lonnet::domain($cdom,'description').')':$cdom);
               $r->print('</td>');
               $r->print('<td>');
             if ($instcode ne '') {              if ($instcode ne '') {
                 $r->print(" - ".&unescape($instcode));                  $r->print(&unescape($instcode));
             }              } else {
             if (@owners > 1) {                  $r->print('&nbsp;');
                 $r->print(', '.&mt('owners').' - ',join(', ',@owners));   
             } elsif (@owners == 1) {  
                 $r->print(', '.&mt('owner').' - '.$owner);  
             }  
             if ($ttype ne '') {  
                 $r->print('('.&unescape($ttype).')');  
             }              }
               $r->print('</td>');
               $r->print('<td>'.$ownerstr.'</td>');
   #            $r->print('<td>');
   #            if ($ttype ne '') {
   #                $r->print(&mt(&unescape($ttype)));
   #            } else {
   #                $r->print('&nbsp;');
   #            }
   #            $r->print('</td>');
             if ($multiple) { $r->print("</label>\n"); }              if ($multiple) { $r->print("</label>\n"); }
             $r->print("<br />\n");              $r->print(&Apache::loncommon::end_data_table_row());
               # $r->print("<br />\n");
         }          }
     }      }
       if (%courses) {
           $r->print(&Apache::loncommon::end_data_table());
       }
   
     if (!%courses) {      if (!%courses) {
         $r->print(&mt('None found'));          $r->print(&mt('None found'));
     } elsif ($multiple) {      } elsif ($multiple) {
Line 295  sub display_matched_courses { Line 352  sub display_matched_courses {
         $r->print('<input type="hidden" name="setroles" value="'.$env{'form.setroles'}.'" />');          $r->print('<input type="hidden" name="setroles" value="'.$env{'form.setroles'}.'" />');
         $r->print('<input type="hidden" name="action" value="rolepicker" />');          $r->print('<input type="hidden" name="action" value="rolepicker" />');
     } elsif ($env{'form.form'} eq 'modifycourse') {      } elsif ($env{'form.form'} eq 'modifycourse') {
         $r->print('<input type="hidden" name="phase" value="menu" />'."\n");  
         $r->print(&Apache::lonhtmlcommon::echo_form_input(['phase','pickedcourse','type','form']));          $r->print(&Apache::lonhtmlcommon::echo_form_input(['phase','pickedcourse','type','form']));
     } else {      } else {
         $r->print('<input type="hidden" name="cnumelement" value="'.          $r->print('<input type="hidden" name="cnumelement" value="'.
Line 347  sub build_filters { Line 403  sub build_filters {
     if ($formname eq 'portform') {      if ($formname eq 'portform') {
  $filter->{$item} ||= $env{'user.domain'};   $filter->{$item} ||= $env{'user.domain'};
  $allow_blank=0;   $allow_blank=0;
     }      } elsif ($formname eq 'studentform') {
                   $filter->{$item} ||= $env{'request.role.domain'};
                   $allow_blank=0;
               }
             $domainselectform =              $domainselectform =
  &Apache::loncommon::select_dom_form($filter->{$item},   &Apache::loncommon::select_dom_form($filter->{$item},
     'domainfilter',      'domainfilter',
Line 393  sub build_filters { Line 452  sub build_filters {
                 $list->{'instcodefilter'}.'" />';                  $list->{'instcodefilter'}.'" />';
     }      }
     foreach my $posstype ('Course','Non-standard Course') {      foreach my $posstype ('Course','Non-standard Course') {
         $typeselectform.='<option value="'.$posstype.'" "'.          $typeselectform.='<option value="'.$posstype.'"'.
             ($posstype eq $type ? 'selected="selected" ' : ''). ">$posstype</option>\n";              ($posstype eq $type ? ' selected="selected" ' : ''). ">".&mt($posstype)."</option>\n";
     }      }
     $typeselectform.="</select>";      $typeselectform.="</select>";
     my $output = qq|      my $output = qq|
Line 402  sub build_filters { Line 461  sub build_filters {
 <input type="hidden" name="form" value="$formname" />  <input type="hidden" name="form" value="$formname" />
 |;  |;
     if ($formname eq 'modifycourse') {      if ($formname eq 'modifycourse') {
         $output .= '<input type="hidden" name="phase" value="courselist" />';          $output .= '<input type="hidden" name="phase" value="courselist" />'."\n".
     } else {                          '<input type="hidden" name="prevphase" value="'.
                      $env{'form.prevphase'}.'" />'."\n";
       } else {
         my $name_input;          my $name_input;
         if ($env{'form.cnameelement'} ne '') {          if ($env{'form.cnameelement'} ne '') {
             $name_input = '<input type="hidden" name="cnameelement" value="'.              $name_input = '<input type="hidden" name="cnameelement" value="'.
Line 426  $multelement Line 487  $multelement
     if ($domainselectform) {      if ($domainselectform) {
         $output .= $lt{'cdo'}.': '.$domainselectform.'<br />'."\n";          $output .= $lt{'cdo'}.': '.$domainselectform.'<br />'."\n";
     }      }
     if ($typeselectform) {  #    if ($typeselectform) {
         $output .= $lt{'cog'}.': '.$typeselectform.'<br />'."\n";  #        $output .= $lt{'cog'}.': '.$typeselectform.'<br />'."\n";
     }  #    }
     if ($instcodeform) {      if ($instcodeform) {
         $output .= $lt{'cin'}.': '.$instcodeform.'<br />'."\n";          $output .= $lt{'cin'}.': '.$instcodeform.'<br />'."\n";
     }      }
Line 448  $multelement Line 509  $multelement
                   '<input type="text" name="descriptfilter" size="40" value="'.                    '<input type="text" name="descriptfilter" size="40" value="'.
                   $list->{'descriptfilter'}.'" />'."\n";                    $list->{'descriptfilter'}.'" />'."\n";
     }      }
     $output .= qq|      $output .= '<p><input type="submit" name="gosearch" value="'. 
 <p><input type="submit" name="gosearch" value="Search" /></p>                 &mt('Search').'" /></p>'."\n".'</form>'."\n".'<hr />'."\n";
 </form>  
 <hr />  
 |;  
     return $output;       return $output; 
 }  }
   
Line 460  sub search_courses { Line 518  sub search_courses {
     my ($r,$type,$onlyown,$filter) = @_;      my ($r,$type,$onlyown,$filter) = @_;
     my %courses;      my %courses;
     if (!$onlyown) {      if (!$onlyown) {
         $r->print(&mt('Searching').' ...<br />&nbsp;<br />');          $r->print(&mt('Searching ...').'<br />&nbsp;<br />');
         $r->rflush();          $r->rflush();
         if (($filter->{'ownerfilter'} ne '') ||          if (($filter->{'ownerfilter'} ne '') ||
             ($filter->{'ownerdomfilter'} ne '')) {              ($filter->{'ownerdomfilter'} ne '')) {
Line 500  sub course_chooser { Line 558  sub course_chooser {
     if ($multiple) {      if ($multiple) {
         $output = '<label><input type="checkbox" name="course_id" value="'.$cdom.'_'.$cnum.'" />'."\n";          $output = '<label><input type="checkbox" name="course_id" value="'.$cdom.'_'.$cnum.'" />'."\n";
     } else {      } else {
         $output = '<input type="button" value="Select" onClick="gochoose('.          $output = '<input type="button" value="'.&mt('Select').'" onClick="gochoose('.
                   "'".$cnum."','".$cdom."','".$cleandesc."')".'" />'."\n";                    "'".$cnum."','".$cdom."','".$cleandesc."')".'" />'."\n";
     }      }
     return $output;      return $output;

Removed from v.1.66  
changed lines
  Added in v.1.73.2.2


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