--- loncom/interface/lonpickcourse.pm 2006/06/29 17:44:03 1.50.2.1 +++ loncom/interface/lonpickcourse.pm 2006/08/11 22:14:10 1.50.2.2 @@ -1,7 +1,7 @@ # The LearningOnline Network # Pick a course # -# $Id: lonpickcourse.pm,v 1.50.2.1 2006/06/29 17:44:03 albertel Exp $ +# $Id: lonpickcourse.pm,v 1.50.2.2 2006/08/11 22:14:10 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -53,7 +53,7 @@ sub handler { 'cdomelement','cnameelement','roleelement', 'pickedcourse','instcodefilter', 'ownerfilter','coursefilter','multiple', - 'type']); + 'type','ownerdomfilter']); # domain filter and selection my $domainfilter=$env{'form.domainfilter'}; $domainfilter=~s/\W//g; @@ -70,8 +70,13 @@ sub handler { my $listinstcode=&HTML::Entities::encode($instcodefilter,'<>&"'); # course owner filter my $ownerfilter=$env{'form.ownerfilter'}; - unless ($ownerfilter) { $ownerfilter=''; } + $ownerfilter=~s/\W//g; my $listowner=&HTML::Entities::encode($ownerfilter,'<>&"'); +# course ownerdomain filter + my $ownerdomfilter=$env{'form.ownerdomfilter'}; + $ownerdomfilter=~s/\W//g; + my $ownerdomselectform= + &Apache::loncommon::select_dom_form($ownerdomfilter,'ownerdomfilter',1); # course ID filter for DCs only my ($courseidtag,$coursefilter); if ($env{'user.adv'} && $domainfilter && exists($env{'user.role.dc./'. @@ -243,6 +248,7 @@ function setGroups() { 'cdo' => &mt('[_1] Domain',$type), 'cin' => &mt('Course Institutional Code'), 'cow' => &mt("[_1] Owner's Username",$type), + 'cod' => &mt("[_1] Owner's Domain", $type), 'cog' => &mt('Course or Group') ); @@ -272,10 +278,9 @@ function setGroups() { } my $instcodeform; if ($type eq 'Course') { - $instcodeform = $lt{'cin'}.':
'; } - my %elements = ( Course => { name => 'coursepick', @@ -403,6 +408,8 @@ $instcodeform $lt{'cow'}:
+$lt{'cod'}: $ownerdomselectform +
$courseidtag $lt{'cde'}: @@ -416,13 +423,17 @@ ENDSCRIPT $r->rflush(); unless ($descriptfilter) { $descriptfilter='.'; } unless ($instcodefilter) { $instcodefilter='.'; } - unless ($ownerfilter) { $ownerfilter='.'; } - unless ($coursefilter) { $coursefilter='.'; } - unless ($type) { $type = '.'; } + my $combownerfilter; + if (($ownerfilter ne '') || ($ownerdomfilter ne '')) { + $combownerfilter = $ownerfilter.':'.$ownerdomfilter; + } + if ($combownerfilter eq '') { $combownerfilter='.'; } + if ($coursefilter eq '') { $coursefilter='.'; } + if ($type eq '') { $type = '.'; } my $timefilter=($sincefilter==-1?1:time-$sincefilter); - my %courses= - &Apache::lonnet::courseiddump - ($domainfilter,$descriptfilter,$timefilter,$instcodefilter,$ownerfilter,$coursefilter,undef,undef,$type); + my %courses = &Apache::lonnet::courseiddump($domainfilter,$descriptfilter, + $timefilter,$instcodefilter,$combownerfilter, + $coursefilter,undef,undef,$type); $r->print('
'); my %by_descrip; my $numcourses = keys(%courses);