--- loncom/interface/lonpickcourse.pm 2007/10/03 19:57:29 1.64
+++ loncom/interface/lonpickcourse.pm 2007/11/06 04:39:19 1.67
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Pick a course
#
-# $Id: lonpickcourse.pm,v 1.64 2007/10/03 19:57:29 raeburn Exp $
+# $Id: lonpickcourse.pm,v 1.67 2007/11/06 04:39:19 raeburn 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,7 +103,7 @@ sub handler {
}
# if called to assign a role in a course to a user via CUSR
- if ($env{'form.form'} eq 'cu') {
+ if ($env{'form.form'} eq 'cu' || $env{'form.form'} eq 'studentform') {
$r->print(&create_user_javascript($type));
}
@@ -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;
@@ -176,7 +221,7 @@ sub display_matched_courses {
foreach my $course (keys(%courses)) {
my $descr;
if (ref($courses{$course}) eq 'HASH') {
- $descr = &unescape($courses{$course}{'description'});
+ $descr = $courses{$course}{'description'};
} elsif ($courses{$course} =~ m/^([^:]*):/i) {
$descr = &unescape($1);
} else {
@@ -200,7 +245,7 @@ sub display_matched_courses {
my ($descr,$instcode,$ttype,@owners);
if (ref($courses{$course}) eq 'HASH') {
$descr = $courses{$course}{'description'};
- $instcode = $courses{$course}{'instcode'};
+ $instcode = $courses{$course}{'inst_code'};
$ttype = $courses{$course}{'type'};
push(@owners,&unescape($courses{$course}{'owner'}));
if (ref($courses{$course}{'co-owners'}) eq 'ARRAY') {
@@ -303,7 +348,10 @@ sub build_filters {
if ($formname eq 'portform') {
$filter->{$item} ||= $env{'user.domain'};
$allow_blank=0;
- }
+ } elsif ($formname eq 'studentform') {
+ $filter->{$item} ||= $env{'request.role.domain'};
+ $allow_blank=0;
+ }
$domainselectform =
&Apache::loncommon::select_dom_form($filter->{$item},
'domainfilter',
@@ -342,8 +390,7 @@ sub build_filters {
'cog' => &mt('Course Type')
);
- $typeselectform = '