--- 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|