--- loncom/interface/lonpickcourse.pm 2014/05/30 01:50:05 1.115
+++ loncom/interface/lonpickcourse.pm 2016/10/19 13:14:05 1.120
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Pick a course
#
-# $Id: lonpickcourse.pm,v 1.115 2014/05/30 01:50:05 raeburn Exp $
+# $Id: lonpickcourse.pm,v 1.120 2016/10/19 13:14:05 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -50,11 +50,12 @@ sub handler {
&Apache::loncommon::get_unprocessed_cgi
($ENV{'QUERY_STRING'},['domainfilter','form','cnumelement',
'cdomelement','cnameelement','roleelement',
- 'multiple','type','setroles','fixeddom','cloner']);
+ 'multiple','type','setroles','fixeddom','cloner',
+ 'crscode','crsdom']);
my ($type,$title,$jscript,$multelement,$multiple,$roleelement,$typeelement,
- $lastaction,$autosubmit,$submitopener,$cloneruname,$clonerudom);
+ $lastaction,$autosubmit,$submitopener,$cloneruname,$clonerudom,$crscode,$crsdom);
- # Get course type - Course or Community.
+ # Get course type - Course, Community or Placement.
$type = $env{'form.type'};
if (!defined($env{'form.type'})) {
$type = 'Course';
@@ -68,12 +69,12 @@ sub handler {
$title = 'Selecting '.$type.'(s)';
}
- # if called when a DC is selecting a course
- my $roledom = $env{'form.roleelement'};
+ # if called when a DC or DH is selecting a course
+ my ($roledom,$rolename) = split(/:/,$env{'form.roleelement'});
if ($roledom) {
- $roleelement = '';
+ $roleelement = '';
$submitopener = &processpick();
- $autosubmit = 'process_pick("'.$roledom.'")';
+ $autosubmit = 'process_pick("'.$roledom.'","'.$rolename.'")';
}
if ($env{'form.typeelement'} ne '') {
$typeelement = '';
@@ -82,12 +83,16 @@ sub handler {
# if called when a DC is creating a course for another user.
if ($env{'form.form'} eq 'ccrs') {
($cloneruname,$clonerudom) = ($env{'form.cloner'} =~ /^($match_username):($match_domain)$/);
+ $crscode = $env{'form.crscode'};
+ $crsdom = $env{'request.role.domain'};
}
# if called when requesting a course
if ($env{'form.form'} eq 'requestcrs') {
$cloneruname = $env{'user.name'};
$clonerudom = $env{'user.domain'};
+ $crscode = $env{'form.crscode'};
+ $crsdom = $env{'form.crsdom'};
}
my $onlyown = 0;
@@ -220,6 +225,12 @@ sub handler {
if ($coord_cloneable) {
$clonetext .= '';
}
+ if ($crscode ne '') {
+ $clonetext .= '';
+ }
+ if ($crsdom ne '') {
+ $clonetext .= '';
+ }
}
$r->print(&Apache::loncommon::build_filters($filterlist,$type,$roleelement,$multelement,
$filter,$action,\$numtitles,undef,$cloneruname,
@@ -247,7 +258,8 @@ sub handler {
my $srchdom = $filter->{'domainfilter'};
%courses = &Apache::loncommon::search_courses($srchdom,$type,$filter,$numtitles,
$cloneruname,$clonerudom,$domcloner,
- \@codetitles,$env{'form.cc_clone'});
+ \@codetitles,$env{'form.cc_clone'},
+ $crsdom,$crscode);
} else {
$r->print('
');
my %coursehash = &Apache::loncommon::findallcourses();
@@ -262,7 +274,7 @@ sub handler {
''.$filter->{'persondomfilter'}.'').'');
} else {
&display_matched_courses($r,$type,$multiple,$action,$showroles,$cloneruname,
- $clonerudom,%courses);
+ $clonerudom,$crsdom,$crscode,%courses);
}
}
$r->print(&Apache::loncommon::end_page());
@@ -276,7 +288,7 @@ sub processpick {
}
my $process_pick = <<"ENDONE";