--- loncom/interface/lonpickcourse.pm 2009/07/31 03:01:31 1.85 +++ loncom/interface/lonpickcourse.pm 2009/10/31 14:27:48 1.88 @@ -1,7 +1,7 @@ # The LearningOnline Network # Pick a course # -# $Id: lonpickcourse.pm,v 1.85 2009/07/31 03:01:31 raeburn Exp $ +# $Id: lonpickcourse.pm,v 1.88 2009/10/31 14:27:48 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -102,7 +102,10 @@ sub handler { if ((($env{'form.form'} eq 'cu') || ($env{'form.form'} eq 'studentform')) && ($env{'form.pickedcourse'})) { - $loaditem{'onload'} .= 'setSections()'; + if ($env{'form.form'} eq 'cu') { + $loaditem{'onload'} .= 'setRoles();'; + } + $loaditem{'onload'} .= 'setSections();'; } my $js = &js_changer(); $r->print(&Apache::loncommon::start_page($title,$js, @@ -220,7 +223,12 @@ ENDONE $process_pick .= <<"ENDTWO"; if (pickedDomain == dom) { if (pickedCourse != '') { - var courseTarget = "cc./"+pickedDomain+"/"+pickedCourse + var ccrole = "cc"; + var pickedType = "$env{'form.type'}"; + if (pickedType == "Community") { + ccrole = "co"; + } + var courseTarget = ccrole+"./"+pickedDomain+"/"+pickedCourse opener.document.title='Role selected. Please stand by.'; opener.status='Role selected. Please stand by.'; opener.document.rolechoice.newrole.value=courseTarget @@ -252,7 +260,12 @@ sub create_user_javascript { my $output; #javascript for reporting sections and groups then closing if ($env{'form.pickedcourse'}) { - my ($cdom,$cnum) = split/_/,$env{'form.pickedcourse'}; + my %coursedescription = + &Apache::lonnet::coursedescription($env{'form.pickedcourse'}, + {'one_time' => '1'}); + my $cdom = $coursedescription{'domain'}; + my $cnum = $coursedescription{'num'}; + my $crstype = $coursedescription{'type'}; my $sec_element = 'currsec'; my $grplist_element = 'groups'; my ($sections,$groups) = @@ -266,7 +279,10 @@ sub create_user_javascript { function setSections() { opener.document.$env{"form.form"}.$grplist_element.value='$groupslist'; window.opener.setSect('$seclist'); - self.close() + self.close(); +} +function setRoles() { + window.opener.setRole('$crstype'); } |; @@ -593,7 +609,7 @@ sub build_filters { $cloneableon = $cloneableoff; $cloneableoff = ''; } - $cloneableonlyform = ''.(' 'x3).''; + $cloneableonlyform = ''.(' 'x3).''; if ($env{'form.form'} eq 'ccrs') { $cloneabletitle = &mt('Cloneable for').' '.$cloneruname.':'.$clonerudom; } else { @@ -880,9 +896,9 @@ sub gochoose_javascript { list => 'courselist', }, 'Community' => { - name => 'grouppick', - total => 'grouptotal', - list => 'grouplist', + name => 'coursepick', + total => 'coursetotal', + list => 'courselist', }, ); my $output .= qq|