--- loncom/interface/lonpickcourse.pm 2007/03/20 15:39:11 1.63
+++ loncom/interface/lonpickcourse.pm 2009/03/02 11:21:57 1.76
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Pick a course
#
-# $Id: lonpickcourse.pm,v 1.63 2007/03/20 15:39:11 albertel Exp $
+# $Id: lonpickcourse.pm,v 1.76 2009/03/02 11:21:57 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -72,7 +72,7 @@ sub handler {
my $roledom = $env{'form.roleelement'};
if ($roledom) {
$roleelement = '';
- $submitopener = &Apache::lonroles::processpick();
+ $submitopener = &processpick();
$autosubmit = 'process_pick("'.$roledom.'")';
}
@@ -83,7 +83,8 @@ sub handler {
}
my %loaditem;
- if ($env{'form.form'} eq 'cu' && $env{'form.pickedcourse'}) {
+ if ((($env{'form.form'} eq 'cu') || ($env{'form.form'} eq 'studentform')) &&
+ ($env{'form.pickedcourse'})) {
$loaditem{'onload'} ="setSections()";
}
$r->print(&Apache::loncommon::start_page($title,undef,
@@ -92,7 +93,8 @@ sub handler {
if ($env{'form.form'} eq 'portform') {
$lastaction = 'document.courselist.submit()';
- } elsif ($env{'form.form'} eq 'cu') {
+ } elsif ($env{'form.form'} eq 'cu' || ($env{'form.form'} eq 'studentform' &&
+ !$multiple)) {
$lastaction =
'document.courselist.pickedcourse.value = cdom+"_"+cname;'."\n".
'document.courselist.submit();';
@@ -101,8 +103,8 @@ sub handler {
}
# if called to assign a role in a course to a user via CUSR
- if ($env{'form.form'} eq 'cu') {
- $r->print(&create_user_javascript($type));
+ if ($env{'form.form'} eq 'cu' || $env{'form.form'} eq 'studentform') {
+ $r->print(&create_user_javascript($type));
}
# print javascript functions for choosing a course
@@ -137,6 +139,49 @@ sub handler {
return OK;
}
+sub processpick {
+ my $openerform = 'rolechoice';
+ if ($env{'form.form'} eq 'studentform') {
+ $openerform = $env{'form.form'};
+ }
+ my $process_pick = <<"ENDONE";
+
+";
+ return $process_pick;
+}
+
sub create_user_javascript {
my ($type) = @_;
my $output;
@@ -170,12 +215,40 @@ sub display_matched_courses {
if ($env{'form.form'} eq 'portform') {
$action = '/adm/portfolio';
}
+ my $numcourses = keys(%courses);
$r->print('
-
-|;
+ $output .= &Apache::lonhtmlcommon::row_title($lt{'cde'})
+ .''
+ .&Apache::lonhtmlcommon::row_closure(1);
+ }
+ $output .= &Apache::lonhtmlcommon::end_pick_box();
+ $output .= ''."\n".''."\n".'
'."\n";
return $output;
}
@@ -397,7 +530,7 @@ sub search_courses {
my ($r,$type,$onlyown,$filter) = @_;
my %courses;
if (!$onlyown) {
- $r->print(&mt('Searching').' ...
');
+ $r->print(&mt('Searching ...').'
');
$r->rflush();
if (($filter->{'ownerfilter'} ne '') ||
($filter->{'ownerdomfilter'} ne '')) {
@@ -425,7 +558,7 @@ sub search_courses {
$r->print('
');
my %coursehash = &Apache::loncommon::findallcourses();
foreach my $cid (sort(keys(%coursehash))) {
- $courses{$cid} = $env{'course.'.$cid.'.description'};
+ $courses{$cid}{'description'} = $env{'course.'.$cid.'.description'};
}
}
return %courses;
@@ -437,7 +570,7 @@ sub course_chooser {
if ($multiple) {
$output = '