Diff for /loncom/interface/lonpickcourse.pm between versions 1.92 and 1.95

version 1.92, 2010/02/21 15:09:36 version 1.95, 2010/06/06 02:40:30
Line 142  sub handler { Line 142  sub handler {
     my $action = '/adm/pickcourse';      my $action = '/adm/pickcourse';
     my ($numtitles,$showroles,$nohost);      my ($numtitles,$showroles,$nohost);
     if (!$onlyown) {      if (!$onlyown) {
         my $filterlist = ['domainfilter','descriptfilter',          my $filterlist = ['domainfilter'];
                           'instcodefilter'];          # created filter for DCs only
           if ($env{'user.adv'} && $env{'form.domainfilter'} &&
               exists($env{'user.role.dc./'.$env{'form.domainfilter'}.'/'})
               && $env{'form.form'} ne 'portform') {
               my $loncaparev = &Apache::lonnet::get_server_loncaparev($env{'form.domainfilter'});
               if ($loncaparev ne 'unknown_cmd') {
                   push(@{$filterlist},'createdfilter');
               }
           }
           push(@{$filterlist},('descriptfilter','instcodefilter'));
         if ($env{'form.form'} eq 'rules') {          if ($env{'form.form'} eq 'rules') {
             push(@{$filterlist},'personfilter');              push(@{$filterlist},'personfilter');
             if (($env{'form.personfilter'} ne '') && ($env{'form.persondomfilter'} ne '')) {              if (($env{'form.personfilter'} ne '') && ($env{'form.persondomfilter'} ne '')) {
Line 306  sub display_matched_courses { Line 315  sub display_matched_courses {
             }              }
             my $cctitle = &Apache::lonnet::plaintext($ccrole,$type);              my $cctitle = &Apache::lonnet::plaintext($ccrole,$type);
             my $dctitle = &Apache::lonnet::plaintext('dc');              my $dctitle = &Apache::lonnet::plaintext('dc');
             my $ccrolechk = ' checked="checked" ';              my $ccrolechk = ' ';
             my $menuchk = ' ';              my $menuchk = ' checked="checked" ';
             if ($env{'form.prevphase'} ne '') {  
                 $ccrolechk = ' ';  
                 $menuchk = ' checked="checked" ';  
             }  
             $r->print(              $r->print(
                 '<fieldset>'                  '<fieldset>'
                .'<legend>'.&mt('Action').'</legend>'                 .'<legend>'.&mt('Action').'</legend>'
Line 430  sub display_matched_courses { Line 435  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 $ownerstr = join(', ',@owners);              my $ownerstr = join(', ',map { &Apache::loncommon::plainname(split(':',$_)); } @owners);
             $r->print('<td>'.&course_chooser($multiple,$cdom,$cnum,$cleandesc,$canclone).'</td>');              $r->print('<td>'.&course_chooser($multiple,$cdom,$cnum,$cleandesc,$canclone).'</td>');
             $r->print('<td>'.$description.'</td>');              $r->print('<td>'.$description.'</td>');
             $r->print('<td>');              $r->print('<td>');
Line 535  sub build_filters { Line 540  sub build_filters {
     unless ($env{'form.interface'} eq 'textual') {      unless ($env{'form.interface'} eq 'textual') {
         $onchange = 'javascript:updateFilters(this)';          $onchange = 'javascript:updateFilters(this)';
     }      }
     my ($domainselectform,$sincefilterform,$ownerdomselectform,$persondomselectform,      my ($domainselectform,$sincefilterform,$createdfilterform,
         $instcodeform,$typeselectform,$instcodetitle);          $ownerdomselectform,$persondomselectform,$instcodeform,
           $typeselectform,$instcodetitle);
     foreach my $item (@{$filterlist}) {      foreach my $item (@{$filterlist}) {
         $filter->{$item} = $env{'form.'.$item};          $filter->{$item} = $env{'form.'.$item};
         if ($item ne 'descriptfilter' && $item ne 'instcodefilter') {          if ($item ne 'descriptfilter' && $item ne 'instcodefilter') {
Line 599  sub build_filters { Line 605  sub build_filters {
     }      }
   
     # last course activity filter and selection      # last course activity filter and selection
     $filter->{'sincefilter'} = $env{'form.sincefilter'};      $sincefilterform = &timebased_select_form('sincefilter',$filter);
     $filter->{'sincefilter'} =~ s/[^\d-]//g;  
     if (!$filter->{'sincefilter'}) { $filter->{'sincefilter'}=-1; }      # course created filter and selection
     $sincefilterform=&Apache::loncommon::select_form(      if (exists($filter->{'createdfilter'})) {
         $filter->{'sincefilter'},          $createdfilterform = &timebased_select_form('createdfilter',$filter);
         'sincefilter',      }
         (      '-1' => '',  
             '86400' => &mt('today'),  
            '604800' => &mt('last week'),  
           '2592000' => &mt('last month'),  
           '7776000' => &mt('last three months'),  
          '15552000' => &mt('last six months'),  
          '31104000' => &mt('last year'),  
          'select_form_order' =>  
             ['-1','86400','604800','2592000','7776000',  
              '15552000','31104000']));  
   
     my %lt = &Apache::lonlocal::texthash(      my %lt = &Apache::lonlocal::texthash(
                 'cac' => "$type Activity",                  'cac' => "$type Activity",
                   'ccr' => "$type Created", 
                 'cde' => "$type Title",                  'cde' => "$type Title",
                 'cdo' => "$type Domain",                  'cdo' => "$type Domain",
                 'ins' => 'Institutional Code',                  'ins' => 'Institutional Code',
Line 723  $typeelement Line 720  $typeelement
                   .$sincefilterform                    .$sincefilterform
                   .&Apache::lonhtmlcommon::row_closure();                    .&Apache::lonhtmlcommon::row_closure();
     }      }
       if ($createdfilterform) {
           $output .= &Apache::lonhtmlcommon::row_title($lt{'ccr'})
                     .$createdfilterform
                     .&Apache::lonhtmlcommon::row_closure();
       }
     if ($domainselectform) {      if ($domainselectform) {
         $output .= &Apache::lonhtmlcommon::row_title($lt{'cdo'})          $output .= &Apache::lonhtmlcommon::row_title($lt{'cdo'})
                   .$domainselectform                    .$domainselectform
Line 792  $typeelement Line 794  $typeelement
     return $jscript.$warning.$output;      return $jscript.$warning.$output;
 }  }
   
   sub timebased_select_form {
       my ($item,$filter) = @_;
       if (ref($filter) eq 'HASH') {
           $filter->{$item} = $env{'form.'.$item};
           $filter->{$item} =~ s/[^\d-]//g;
           if (!$filter->{$item}) { $filter->{$item}=-1; }
           return &Apache::loncommon::select_form( 
                               $filter->{$item},
                               $item,
                               {      '-1' => '',
                                   '86400' => &mt('today'),
                                  '604800' => &mt('last week'),
                                 '2592000' => &mt('last month'),
                                 '7776000' => &mt('last three months'),
                                '15552000' => &mt('last six months'),
                                '31104000' => &mt('last year'),
                       'select_form_order' =>
                              ['-1','86400','604800','2592000','7776000',
                               '15552000','31104000']});
       }
   }
   
 sub get_coordinator_cloneable {  sub get_coordinator_cloneable {
     my ($cloneruname,$clonerudom,$type) = @_;      my ($cloneruname,$clonerudom,$type) = @_;
     if (&Apache::lonnet::homeserver($cloneruname,$clonerudom) eq 'no_host') {      if (&Apache::lonnet::homeserver($cloneruname,$clonerudom) eq 'no_host') {
Line 864  sub search_courses { Line 888  sub search_courses {
                 $filter->{$item}='.';                  $filter->{$item}='.';
             }              }
         }          }
           my $now = time;
         my $timefilter =           my $timefilter = 
            ($filter->{'sincefilter'}==-1?1:time-$filter->{'sincefilter'});             ($filter->{'sincefilter'}==-1?1:$now-$filter->{'sincefilter'});
           my ($createdbefore,$createdafter);
           if (($filter->{'createdfilter'} ne '') && ($filter->{'createdfilter'} !=-1)) {
               $createdbefore = $now;
               $createdafter = $now-$filter->{'createdfilter'};
           }
         my ($instcodefilter,$regexpok);          my ($instcodefilter,$regexpok);
         if ($numtitles) {          if ($numtitles) {
             if ($env{'form.official'} eq 'on') {              if ($env{'form.official'} eq 'on') {
Line 896  sub search_courses { Line 926  sub search_courses {
                                           $filter->{'coursefilter'},                                            $filter->{'coursefilter'},
                                           undef,undef,$type,$regexpok,undef,undef,                                            undef,undef,$type,$regexpok,undef,undef,
                                           undef,undef,$cloner,$env{'form.cc_clone'},                                            undef,undef,$cloner,$env{'form.cc_clone'},
                                           $filter->{'cloneableonly'});                                            $filter->{'cloneableonly'},
                                             $createdbefore,$createdafter);
         if (($filter->{'personfilter'} ne '') && ($filter->{'persondomfilter'} ne '')) {          if (($filter->{'personfilter'} ne '') && ($filter->{'persondomfilter'} ne '')) {
             my %rolehash = &Apache::lonnet::get_my_roles($filter->{'personfilter'},              my %rolehash = &Apache::lonnet::get_my_roles($filter->{'personfilter'},
                                                          $filter->{'persondomfilter'},                                                           $filter->{'persondomfilter'},

Removed from v.1.92  
changed lines
  Added in v.1.95


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