version 1.118, 2010/03/21 14:58:40
|
version 1.131, 2010/11/14 20:29:34
|
Line 47 sub modifystudent {
|
Line 47 sub modifystudent {
|
# this one. If $csec is defined, drop them from all other sections of |
# this one. If $csec is defined, drop them from all other sections of |
# this course and add them to section $csec |
# this course and add them to section $csec |
my ($cnum,$cdom) = &get_course_identity($courseid); |
my ($cnum,$cdom) = &get_course_identity($courseid); |
my %roles = &Apache::lonnet::dump('roles',$udom,$unam); |
my $extra = &Apache::lonnet::freeze_escape({'skipcheck' => 1}); |
|
my %roles = &Apache::lonnet::dump('roles',$udom,$unam,'.',undef,$extra); |
my ($tmp) = keys(%roles); |
my ($tmp) = keys(%roles); |
# Bail out if we were unable to get the students roles |
# Bail out if we were unable to get the students roles |
return "$1" if ($tmp =~ /^(con_lost|error|no_such_host)/i); |
return "$1" if ($tmp =~ /^(con_lost|error|no_such_host)/i); |
Line 295 sub hidden_input {
|
Line 296 sub hidden_input {
|
} |
} |
|
|
sub print_upload_manager_header { |
sub print_upload_manager_header { |
my ($r,$datatoken,$distotal,$krbdefdom,$context,$permission,$crstype)=@_; |
my ($r,$datatoken,$distotal,$krbdefdom,$context,$permission,$crstype, |
|
$can_assign)=@_; |
my $javascript; |
my $javascript; |
# |
# |
if (! exists($env{'form.upfile_associate'})) { |
if (! exists($env{'form.upfile_associate'})) { |
Line 309 sub print_upload_manager_header {
|
Line 311 sub print_upload_manager_header {
|
} |
} |
} |
} |
if ($env{'form.upfile_associate'} eq 'reverse') { |
if ($env{'form.upfile_associate'} eq 'reverse') { |
$javascript=&upload_manager_javascript_reverse_associate(); |
$javascript=&upload_manager_javascript_reverse_associate($can_assign); |
} else { |
} else { |
$javascript=&upload_manager_javascript_forward_associate(); |
$javascript=&upload_manager_javascript_forward_associate($can_assign); |
} |
} |
# |
# |
# Deal with restored settings |
# Deal with restored settings |
Line 532 END
|
Line 534 END
|
if (message!='') { |
if (message!='') { |
message+='\\n'; |
message+='\\n'; |
} |
} |
|
message+='$alert{'section'}'; |
} |
} |
if (foundemail==0) { |
if (foundemail==0) { |
if (message!='') { |
if (message!='') { |
Line 585 END
|
Line 588 END
|
############################################################### |
############################################################### |
############################################################### |
############################################################### |
sub upload_manager_javascript_forward_associate { |
sub upload_manager_javascript_forward_associate { |
|
my ($can_assign) = @_; |
|
my $auth_update; |
|
if (ref($can_assign) eq 'HASH') { |
|
if (keys(%{$can_assign}) > 1) { |
|
$auth_update = <<"END"; |
|
// If we set the password, make the password form below correspond to |
|
// the new value. |
|
if (nw==9) { |
|
changed_radio('int',document.studentform); |
|
set_auth_radio_buttons('int',document.studentform); |
|
END |
|
} |
|
if ($can_assign->{'krb4'} || $can_assign->{'krb5'}) { |
|
$auth_update .= " vf.krbarg.value='';\n"; |
|
} |
|
if ($can_assign->{'int'}) { |
|
$auth_update .= " vf.intarg.value='';\n"; |
|
} |
|
if ($can_assign->{'loc'}) { |
|
$auth_update .= " vf.locarg.value='';\n"; |
|
} |
|
$auth_update .= " |
|
}\n"; |
|
} |
|
|
return(<<ENDPICK); |
return(<<ENDPICK); |
function verify(vf,sec_caller) { |
function verify(vf,sec_caller) { |
var founduname=0; |
var founduname=0; |
Line 661 function flip(vf,tf) {
|
Line 689 function flip(vf,tf) {
|
} |
} |
} |
} |
} |
} |
// If we set the password, make the password form below correspond to |
$auth_update |
// the new value. |
|
if (nw==9) { |
|
changed_radio('int',document.studentform); |
|
set_auth_radio_buttons('int',document.studentform); |
|
vf.intarg.value=''; |
|
vf.krbarg.value=''; |
|
vf.locarg.value=''; |
|
} |
|
} |
} |
|
|
function clearpwd(vf) { |
function clearpwd(vf) { |
Line 687 ENDPICK
|
Line 707 ENDPICK
|
############################################################### |
############################################################### |
############################################################### |
############################################################### |
sub upload_manager_javascript_reverse_associate { |
sub upload_manager_javascript_reverse_associate { |
|
my ($can_assign) = @_; |
|
my $auth_update; |
|
if (ref($can_assign) eq 'HASH') { |
|
if (keys(%{$can_assign}) > 1) { |
|
$auth_update = <<"END"; |
|
// initial password specified, pick internal authentication |
|
if (tf==8 && nw!=0) { |
|
changed_radio('int',document.studentform); |
|
set_auth_radio_buttons('int',document.studentform); |
|
END |
|
} |
|
if ($can_assign->{'krb'}) { |
|
$auth_update .= " vf.krbarg.value='';\n"; |
|
} |
|
if ($can_assign->{'int'}) { |
|
$auth_update .= " vf.intarg.value='';\n"; |
|
} |
|
if ($can_assign->{'loc'}) { |
|
$auth_update .= " vf.locarg.value='';\n"; |
|
} |
|
$auth_update .= " |
|
}\n"; |
|
} |
return(<<ENDPICK); |
return(<<ENDPICK); |
function verify(vf,sec_caller) { |
function verify(vf,sec_caller) { |
var founduname=0; |
var founduname=0; |
Line 694 function verify(vf,sec_caller) {
|
Line 737 function verify(vf,sec_caller) {
|
var foundname=0; |
var foundname=0; |
var foundid=0; |
var foundid=0; |
var foundsec=0; |
var foundsec=0; |
|
var foundemail=0; |
var foundrole=0; |
var foundrole=0; |
var founddomain=0; |
var founddomain=0; |
var foundinststatus=0; |
var foundinststatus=0; |
Line 705 function verify(vf,sec_caller) {
|
Line 749 function verify(vf,sec_caller) {
|
if (i==6 && tw!=0) { foundid=1; } |
if (i==6 && tw!=0) { foundid=1; } |
if (i==7 && tw!=0) { foundsec=1; } |
if (i==7 && tw!=0) { foundsec=1; } |
if (i==8 && tw!=0) { foundpwd=1; } |
if (i==8 && tw!=0) { foundpwd=1; } |
if (i==9 && tw!=0) { foundrole=1; } |
if (i==9 && tw!=0) { foundemail=1; } |
if (i==10 && tw!=0) { founddomain=1; } |
if (i==10 && tw!=0) { foundrole=1; } |
if (i==13 && tw!=0) { foundinstatus=1; } |
if (i==11 && tw!=0) { founddomain=1; } |
|
if (i==12 && tw!=0) { foundinstatus=1; } |
} |
} |
verify_message(vf,founduname,foundpwd,foundname,foundid,foundsec,foundrole,founddomain,foundinststatus); |
verify_message(vf,founduname,foundpwd,foundname,foundid,foundsec,foundemail,foundrole,founddomain,foundinststatus); |
} |
} |
|
|
function flip(vf,tf) { |
function flip(vf,tf) { |
Line 726 function flip(vf,tf) {
|
Line 771 function flip(vf,tf) {
|
if ((tf>=2) && (tf<=5) && (nw!=0)) { |
if ((tf>=2) && (tf<=5) && (nw!=0)) { |
eval('vf.f1.selectedIndex=0;') |
eval('vf.f1.selectedIndex=0;') |
} |
} |
// intial password specified, pick internal authentication |
$auth_update |
if (tf==8 && nw!=0) { |
|
changed_radio('int',document.studentform); |
|
set_auth_radio_buttons('int',document.studentform); |
|
vf.krbarg.value=''; |
|
vf.intarg.value=''; |
|
vf.locarg.value=''; |
|
} |
|
} |
} |
|
|
function clearpwd(vf) { |
function clearpwd(vf) { |
Line 978 sub print_upload_manager_form {
|
Line 1016 sub print_upload_manager_form {
|
my ($krbdef,$krbdefdom) = |
my ($krbdef,$krbdefdom) = |
&Apache::loncommon::get_kerberos_defaults($defdom); |
&Apache::loncommon::get_kerberos_defaults($defdom); |
# |
# |
|
my ($authnum,%can_assign) = &Apache::loncommon::get_assignable_auth($defdom); |
&print_upload_manager_header($r,$datatoken,$distotal,$krbdefdom,$context, |
&print_upload_manager_header($r,$datatoken,$distotal,$krbdefdom,$context, |
$permission,$crstype); |
$permission,$crstype,\%can_assign); |
my $i; |
my $i; |
my $keyfields; |
my $keyfields; |
if ($total>=0) { |
if ($total>=0) { |
Line 1472 sub print_userlist {
|
Line 1511 sub print_userlist {
|
$title = &mt('Select Communities'); |
$title = &mt('Select Communities'); |
$warning = &mt('Warning: data retrieval for multiple communities can take considerable time, as this operation is not currently optimized.'); |
$warning = &mt('Warning: data retrieval for multiple communities can take considerable time, as this operation is not currently optimized.'); |
} |
} |
|
my @standardnames = &Apache::loncommon::get_standard_codeitems(); |
my $courseform = |
my $courseform = |
&Apache::lonhtmlcommon::course_selection($formname,$numcodes, |
&Apache::lonhtmlcommon::course_selection($formname,$numcodes, |
$codetitles,$idlist,$idlist_titles,$crstype); |
$codetitles,$idlist,$idlist_titles,$crstype, |
|
\@standardnames); |
$r->print('<p>'.&Apache::lonhtmlcommon::start_pick_box()."\n". |
$r->print('<p>'.&Apache::lonhtmlcommon::start_pick_box()."\n". |
&Apache::lonhtmlcommon::start_pick_box()."\n". |
&Apache::lonhtmlcommon::start_pick_box()."\n". |
&Apache::lonhtmlcommon::row_title($title,'LC_oddrow_value')."\n". |
&Apache::lonhtmlcommon::row_title($title,'LC_oddrow_value')."\n". |
Line 1923 function setCourseCat(formname) {
|
Line 1964 function setCourseCat(formname) {
|
if (formname.Year.options[formname.Year.selectedIndex].value == -1) { |
if (formname.Year.options[formname.Year.selectedIndex].value == -1) { |
return; |
return; |
} |
} |
courseSet('Year'); |
courseSet('$codetitles[0]'); |
for (var j=0; j<formname.Semester.length; j++) { |
for (var j=0; j<formname.Semester.length; j++) { |
if (formname.Semester.options[j].value == "$env{'form.Semester'}") { |
if (formname.Semester.options[j].value == "$env{'form.Semester'}") { |
formname.Semester.options[j].selected = true; |
formname.Semester.options[j].selected = true; |
Line 1932 function setCourseCat(formname) {
|
Line 1973 function setCourseCat(formname) {
|
if (formname.Semester.options[formname.Semester.selectedIndex].value == -1) { |
if (formname.Semester.options[formname.Semester.selectedIndex].value == -1) { |
return; |
return; |
} |
} |
courseSet('Semester'); |
courseSet('$codetitles[1]'); |
for (var j=0; j<formname.Department.length; j++) { |
for (var j=0; j<formname.Department.length; j++) { |
if (formname.Department.options[j].value == "$env{'form.Department'}") { formname.Department.options[j].selected = true; |
if (formname.Department.options[j].value == "$env{'form.Department'}") { formname.Department.options[j].selected = true; |
} |
} |
Line 1940 function setCourseCat(formname) {
|
Line 1981 function setCourseCat(formname) {
|
if (formname.Department.options[formname.Department.selectedIndex].value == -1) { |
if (formname.Department.options[formname.Department.selectedIndex].value == -1) { |
return; |
return; |
} |
} |
courseSet('Department'); |
courseSet('$codetitles[2]'); |
for (var j=0; j<formname.Number.length; j++) { |
for (var j=0; j<formname.Number.length; j++) { |
if (formname.Number.options[j].value == "$env{'form.Number'}") { |
if (formname.Number.options[j].value == "$env{'form.Number'}") { |
formname.Number.options[j].selected = true; |
formname.Number.options[j].selected = true; |
Line 3920 sub upfile_drop_add {
|
Line 3961 sub upfile_drop_add {
|
$r->print($groupwarn.'<br />'); |
$r->print($groupwarn.'<br />'); |
} |
} |
} |
} |
my (%curr_rules,%got_rules,%alerts); |
my (%curr_rules,%got_rules,%alerts,%cancreate); |
my %customroles = &my_custom_roles($crstype); |
my %customroles = &my_custom_roles($crstype); |
my @permitted_roles = |
my @permitted_roles = |
&roles_on_upload($context,$setting,$crstype,%customroles); |
&roles_on_upload($context,$setting,$crstype,%customroles); |
|
my %longtypes = &Apache::lonlocal::texthash( |
|
official => 'Institutional', |
|
unofficial => 'Non-institutional', |
|
); |
|
map { $cancreate{$_} = &can_create_user($domain,$context,$_); } keys(%longtypes); |
# Get new users list |
# Get new users list |
foreach my $line (@userdata) { |
foreach my $line (@userdata) { |
my @secs; |
my @secs; |
my %entries=&Apache::loncommon::record_sep($line); |
my %entries=&Apache::loncommon::record_sep($line); |
# Determine user name |
# Determine user name |
|
$entries{$fields{'username'}} =~ s/^\s+|\s+$//g; |
unless (($entries{$fields{'username'}} eq '') || |
unless (($entries{$fields{'username'}} eq '') || |
(!defined($entries{$fields{'username'}}))) { |
(!defined($entries{$fields{'username'}}))) { |
my ($fname, $mname, $lname,$gen) = ('','','',''); |
my ($fname, $mname, $lname,$gen) = ('','','',''); |
Line 3949 sub upfile_drop_add {
|
Line 3996 sub upfile_drop_add {
|
$gen=$entries{$fields{'gen'}}; |
$gen=$entries{$fields{'gen'}}; |
} |
} |
} |
} |
|
|
if ($entries{$fields{'username'}} |
if ($entries{$fields{'username'}} |
ne &LONCAPA::clean_username($entries{$fields{'username'}})) { |
ne &LONCAPA::clean_username($entries{$fields{'username'}})) { |
|
my $nowhitespace; |
|
if ($entries{$fields{'username'}} =~ /\s/) { |
|
$nowhitespace = ' - '.&mt('usernames may not contain spaces.'); |
|
} |
$r->print('<br />'. |
$r->print('<br />'. |
&mt('[_1]: Unacceptable username for user [_2] [_3] [_4] [_5]', |
&mt('[_1]: Unacceptable username for user [_2] [_3] [_4] [_5]', |
'<b>'.$entries{$fields{'username'}}.'</b>',$fname,$mname,$lname,$gen)); |
'<b>'.$entries{$fields{'username'}}.'</b>',$fname,$mname,$lname,$gen). |
|
$nowhitespace); |
next; |
next; |
} else { |
} else { |
|
$entries{$fields{'domain'}} =~ s/^\s+|\s+$//g; |
if ($entries{$fields{'domain'}} |
if ($entries{$fields{'domain'}} |
ne &LONCAPA::clean_domain($entries{$fields{'domain'}})) { |
ne &LONCAPA::clean_domain($entries{$fields{'domain'}})) { |
$r->print('<br />'. '<b>'.$entries{$fields{'domain'}}. |
$r->print('<br />'. '<b>'.$entries{$fields{'domain'}}. |
Line 4014 sub upfile_drop_add {
|
Line 4068 sub upfile_drop_add {
|
# determine email address |
# determine email address |
my $email=''; |
my $email=''; |
if (defined($fields{'email'})) { |
if (defined($fields{'email'})) { |
|
$entries{$fields{'email'}} =~ s/^\s+|\s+$//g; |
if (defined($entries{$fields{'email'}})) { |
if (defined($entries{$fields{'email'}})) { |
$email=$entries{$fields{'email'}}; |
$email=$entries{$fields{'email'}}; |
unless ($email=~/^[^\@]+\@[^\@]+$/) { $email=''; } |
unless ($email=~/^[^\@]+\@[^\@]+$/) { $email=''; } |
Line 4060 sub upfile_drop_add {
|
Line 4115 sub upfile_drop_add {
|
$role = $defaultrole; |
$role = $defaultrole; |
} |
} |
# Clean up whitespace |
# Clean up whitespace |
foreach (\$id,\$fname,\$mname,\$lname,\$gen) { |
foreach (\$id,\$fname,\$mname,\$lname,\$gen,\$inststatus) { |
$$_ =~ s/(\s+$|^\s+)//g; |
$$_ =~ s/(\s+$|^\s+)//g; |
} |
} |
# check against rules |
# check against rules |
Line 4069 sub upfile_drop_add {
|
Line 4124 sub upfile_drop_add {
|
my (%rulematch,%inst_results,%idinst_results); |
my (%rulematch,%inst_results,%idinst_results); |
my $uhome=&Apache::lonnet::homeserver($username,$userdomain); |
my $uhome=&Apache::lonnet::homeserver($username,$userdomain); |
if ($uhome eq 'no_host') { |
if ($uhome eq 'no_host') { |
next if ($userdomain ne $domain); |
if ($userdomain ne $domain) { |
|
$r->print('<br />'. |
|
&mt('[_1]: The domain specified ([_2]) is different to that of the course.', |
|
'<b>'.$username.'</b>',$userdomain).'<br />'. |
|
&mt('The user does not already exist, and you may not create a new user in a different domain.')); |
|
next; |
|
} |
$checkid = 1; |
$checkid = 1; |
$newuser = 1; |
$newuser = 1; |
|
my $user = $username.':'.$domain; |
my $checkhash; |
my $checkhash; |
my $checks = { 'username' => 1 }; |
my $checks = { 'username' => 1 }; |
$checkhash->{$username.':'.$domain} = { 'newuser' => 1, }; |
$checkhash->{$username.':'.$domain} = { 'newuser' => 1, }; |
Line 4080 sub upfile_drop_add {
|
Line 4142 sub upfile_drop_add {
|
\%got_rules); |
\%got_rules); |
if (ref($alerts{'username'}) eq 'HASH') { |
if (ref($alerts{'username'}) eq 'HASH') { |
if (ref($alerts{'username'}{$domain}) eq 'HASH') { |
if (ref($alerts{'username'}{$domain}) eq 'HASH') { |
next if ($alerts{'username'}{$domain}{$username}); |
if ($alerts{'username'}{$domain}{$username}) { |
|
$r->print('<br />'. |
|
&mt('[_1]: matches the username format at your institution, but is not known to your directory service.','<b>'.$username.'</b>').'<br />'. |
|
&mt('Consequently, the user was not created.')); |
|
next; |
|
} |
|
} |
|
} |
|
my $usertype = 'unofficial'; |
|
if (ref($rulematch{$user}) eq 'HASH') { |
|
if ($rulematch{$user}{'username'}) { |
|
$usertype = 'official'; |
} |
} |
} |
} |
|
unless ($cancreate{$usertype}) { |
|
my $showtype = $longtypes{$usertype}; |
|
$r->print('<br />'. |
|
&mt("[_1]: The user does not exist, and you are not permitted to create users of type: $showtype.",'<b>'.$username.'</b>')); |
|
next; |
|
} |
} else { |
} else { |
if ($context eq 'course' || $context eq 'author') { |
if ($context eq 'course' || $context eq 'author') { |
if ($userdomain eq $domain ) { |
if ($userdomain eq $domain ) { |
Line 4133 sub upfile_drop_add {
|
Line 4212 sub upfile_drop_add {
|
\%got_rules); |
\%got_rules); |
if (ref($alerts{'id'}) eq 'HASH') { |
if (ref($alerts{'id'}) eq 'HASH') { |
if (ref($alerts{'id'}{$userdomain}) eq 'HASH') { |
if (ref($alerts{'id'}{$userdomain}) eq 'HASH') { |
next if ($alerts{'id'}{$userdomain}{$id}); |
if ($alerts{'id'}{$userdomain}{$id}) { |
|
$r->print(&mt('[_1]: has a student/employee ID matching the format at your institution, but the ID is found by your directory service.', |
|
'<b>'.$username.'</b>').'<br />'. |
|
&mt('Consequently, the user was not created.')); |
|
next; |
|
} |
} |
} |
} |
} |
} |
} |
Line 4228 sub upfile_drop_add {
|
Line 4312 sub upfile_drop_add {
|
} |
} |
} # end of foreach (@userdata) |
} # end of foreach (@userdata) |
# Flush the course logs so reverse user roles immediately updated |
# Flush the course logs so reverse user roles immediately updated |
&Apache::lonnet::flushcourselogs(); |
$r->register_cleanup(\&Apache::lonnet::flushcourselogs); |
$r->print("</p>\n<p>\n".&mt('Processed [quant,_1,user].',$counts{'user'}). |
$r->print("</p>\n<p>\n".&mt('Processed [quant,_1,user].',$counts{'user'}). |
"</p>\n"); |
"</p>\n"); |
if ($counts{'role'} > 0) { |
if ($counts{'role'} > 0) { |
Line 4395 sub update_user_list {
|
Line 4479 sub update_user_list {
|
my ($r,$context,$setting,$choice,$crstype) = @_; |
my ($r,$context,$setting,$choice,$crstype) = @_; |
my $now = time; |
my $now = time; |
my $count=0; |
my $count=0; |
my $crstype; |
|
if ($context eq 'course') { |
if ($context eq 'course') { |
$crstype = &Apache::loncommon::course_type(); |
$crstype = &Apache::loncommon::course_type(); |
} |
} |
Line 4685 sub update_user_list {
|
Line 4768 sub update_user_list {
|
} |
} |
} elsif ($choice eq 'chgdates') { |
} elsif ($choice eq 'chgdates') { |
$r->print(&mt("$result_text{'ok'}{$choice} role of '[_1]' in [_2] for '[_3]' - [_4]",$plrole,$extent, |
$r->print(&mt("$result_text{'ok'}{$choice} role of '[_1]' in [_2] for '[_3]' - [_4]",$plrole,$extent, |
'<i>'.&Apache::loncommon::plainname($uname.':'.$udom).'</i>', |
'<i>'.&Apache::loncommon::plainname($uname,$udom).'</i>', |
$dates).'<br />'); |
$dates).'<br />'); |
$count ++; |
$count ++; |
} else { |
} else { |
$r->print(&mt("$result_text{'ok'}{$choice} role of '[_1]' in [_2] for '[_3]'.",$plrole,$extent, |
$r->print(&mt("$result_text{'ok'}{$choice} role of '[_1]' in [_2] for '[_3]'.",$plrole,$extent, |
'<i>'.&Apache::loncommon::plainname($uname.':'.$udom).'</i>'). |
'<i>'.&Apache::loncommon::plainname($uname,$udom).'</i>'). |
'<br />'); |
'<br />'); |
$count ++; |
$count ++; |
} |
} |
Line 4698 sub update_user_list {
|
Line 4781 sub update_user_list {
|
$r->print( |
$r->print( |
&mt("Error $result_text{'error'}{$choice} [_1] in [_2] for '[_3]': [_4].", |
&mt("Error $result_text{'error'}{$choice} [_1] in [_2] for '[_3]': [_4].", |
$plrole,$extent, |
$plrole,$extent, |
'<i>'.&Apache::loncommon::plainname($uname.':'.$udom).'</i>', |
'<i>'.&Apache::loncommon::plainname($uname,$udom).'</i>', |
$result).'<br />'); |
$result).'<br />'); |
} |
} |
} |
} |
Line 4721 sub update_user_list {
|
Line 4804 sub update_user_list {
|
$r->print('<p>'.&mt('Re-enabling will re-activate data for the role.').'</p>'); |
$r->print('<p>'.&mt('Re-enabling will re-activate data for the role.').'</p>'); |
} |
} |
# Flush the course logs so reverse user roles immediately updated |
# Flush the course logs so reverse user roles immediately updated |
&Apache::lonnet::flushcourselogs(); |
$r->register_cleanup(\&Apache::lonnet::flushcourselogs); |
} |
} |
if ($env{'form.makedatesdefault'}) { |
if ($env{'form.makedatesdefault'}) { |
if ($choice eq 'chgdates' || $choice eq 'reenable' || $choice eq 'activate') { |
if ($choice eq 'chgdates' || $choice eq 'reenable' || $choice eq 'activate') { |
Line 4936 sub setsections_javascript {
|
Line 5019 sub setsections_javascript {
|
accr => 'A course coordinator role will be added with access to all sections.', |
accr => 'A course coordinator role will be added with access to all sections.', |
acor => 'A coordinator role will be added with access to all sections', |
acor => 'A coordinator role will be added with access to all sections', |
inea => 'In each course, each user may only have one student role at a time.', |
inea => 'In each course, each user may only have one student role at a time.', |
inec => 'In each community, each user may only have on member role at a time.', |
inco => 'In each community, each user may only have one member role at a time.', |
youh => 'You had selected ', |
youh => 'You had selected ', |
secs => 'sections.', |
secs => 'sections.', |
plmo => 'Please modify your selections so they include no more than one section.', |
plmo => 'Please modify your selections so they include no more than one section.', |
Line 4974 function setSections(formname,crstype) {
|
Line 5057 function setSections(formname,crstype) {
|
for (var j=0; j<formname.elements[num].length; j++) { |
for (var j=0; j<formname.elements[num].length; j++) { |
if (formname.elements[num].options[j].selected == true ) { |
if (formname.elements[num].options[j].selected == true ) { |
var addsec = formname.elements[num].options[j].value; |
var addsec = formname.elements[num].options[j].value; |
if (addsec != "") { |
if ((addsec != "") && (addsec != null)) { |
fromexisting.push(addsec); |
fromexisting.push(addsec); |
if (numsec == 0) { |
if (numsec == 0) { |
sections = addsec; |
sections = addsec; |