--- loncom/interface/lonpickcourse.pm 2007/10/06 04:32:49 1.65 +++ loncom/interface/lonpickcourse.pm 2007/11/28 17:36:11 1.67.2.1 @@ -1,7 +1,7 @@ # The LearningOnline Network # Pick a course # -# $Id: lonpickcourse.pm,v 1.65 2007/10/06 04:32:49 raeburn Exp $ +# $Id: lonpickcourse.pm,v 1.67.2.1 2007/11/28 17:36:11 albertel 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; @@ -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', @@ -382,9 +430,9 @@ $multelement if ($domainselectform) { $output .= $lt{'cdo'}.': '.$domainselectform.'
'."\n"; } - if ($typeselectform) { - $output .= $lt{'cog'}.': '.$typeselectform.'
'."\n"; - } +# if ($typeselectform) { +# $output .= $lt{'cog'}.': '.$typeselectform.'
'."\n"; +# } if ($instcodeform) { $output .= $lt{'cin'}.': '.$instcodeform.'
'."\n"; } @@ -708,7 +756,7 @@ Side Effects: None X B: -Input: 4 - course type; single (0) or multiple courses (1); in context of DC selecting a CC role in a course: javascript code from Apache::lonroles::processpick(); final action to take after user chooses course(s): either close window, or submit form for display of next page etc. +Input: 4 - course type; single (0) or multiple courses (1); in context of DC selecting a CC role in a course: javascript code from &processpick(); final action to take after user chooses course(s): either close window, or submit form for display of next page etc. Output: 1 $output - javascript wrapped in EscriptEE/scriptE tags