--- loncom/interface/lonuserutils.pm 2010/05/22 13:33:09 1.97.2.17
+++ loncom/interface/lonuserutils.pm 2010/08/04 16:50:29 1.121
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Utility functions for managing LON-CAPA user accounts
#
-# $Id: lonuserutils.pm,v 1.97.2.17 2010/05/22 13:33:09 raeburn Exp $
+# $Id: lonuserutils.pm,v 1.121 2010/08/04 16:50:29 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1447,7 +1447,7 @@ sub print_userlist {
return;
}
if (!(($context eq 'domain') &&
- (($env{'form.roletype'} eq 'course') || ($env{'form.roletype'} eq 'community')))) {
+ (($env{'form.roletype'} eq 'course') || ($env{'form.roletype'} eq 'community')))) {
$r->print(
"\n
\n"
.''
@@ -1458,7 +1458,7 @@ sub print_userlist {
my ($indexhash,$keylist) = &make_keylist_array();
my (%userlist,%userinfo,$clearcoursepick);
if (($context eq 'domain') &&
- ($env{'form.roletype'} eq 'course') ||
+ ($env{'form.roletype'} eq 'course') ||
($env{'form.roletype'} eq 'community')) {
my ($crstype,$numcodes,$title,$warning);
if ($env{'form.roletype'} eq 'course') {
@@ -1472,9 +1472,11 @@ sub print_userlist {
$title = &mt('Select Communities');
$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 =
&Apache::lonhtmlcommon::course_selection($formname,$numcodes,
- $codetitles,$idlist,$idlist_titles,$crstype);
+ $codetitles,$idlist,$idlist_titles,$crstype,
+ \@standardnames);
$r->print('
'.&Apache::lonhtmlcommon::start_pick_box()."\n".
&Apache::lonhtmlcommon::start_pick_box()."\n".
&Apache::lonhtmlcommon::row_title($title,'LC_oddrow_value')."\n".
@@ -1692,7 +1694,7 @@ sub role_filter {
$role_select .= '';
$output = ''
.&mt('Role: [_1]',$role_select)
- .' ';
+ .' ';
}
return $output;
}
@@ -1923,7 +1925,7 @@ function setCourseCat(formname) {
if (formname.Year.options[formname.Year.selectedIndex].value == -1) {
return;
}
- courseSet('Year');
+ courseSet('$codetitles[0]');
for (var j=0; jprint(''.$results_description.' ');
}
my ($output,$actionselect,%canchange,%canchangesec);
@@ -2331,7 +2332,7 @@ END
END
if ($actionselect) {
$output .= <<"END";
-$lt{'ac'}
+
$lt{'ac'}
$actionselect
@@ -2376,7 +2377,7 @@ END
}
}
}
- $output .= '';
}
$output .= "\n".''."\n".
&Apache::loncommon::start_data_table().
@@ -2656,7 +2658,7 @@ END
if ($clickers!~/\w/) { $clickers='-'; }
$in{'clicker'} = $clickers;
my $role = $in{'role'};
- $in{'role'}=&Apache::lonnet::plaintext($sdata->[$index{'role'}],$crstype);
+ $in{'role'}=&Apache::lonnet::plaintext($sdata->[$index{'role'}],$crstype);
if (! defined($in{'start'}) || $in{'start'} == 0) {
$in{'start'} = &mt('none');
} else {
@@ -3175,7 +3177,7 @@ ENDJS
chse => 'Changes in section affiliation to apply to selected users',
fors => 'For student roles, changing the section will result in a section switch as students may only be in one section of a course at a time.',
forn => 'For a course role that is not "student", users may have roles in more than one section at a time.',
- reta => "Retain each user's current section affiliations?",
+ reta => "Retain each user's current section affiliations?",
dnap => '(Does not apply to student roles).',
);
my ($date_items,$headertext);
@@ -3408,7 +3410,6 @@ sub results_header_row {
}
} elsif (($env{'form.roletype'} eq 'course') ||
($env{'form.roletype'} eq 'community')) {
-
my $coursefilter = $env{'form.coursepick'};
if ($env{'form.roletype'} eq 'course') {
if ($coursefilter eq 'category') {
@@ -3672,8 +3673,15 @@ sub print_first_users_upload_form {
&mt("How do I create a CSV file from a spreadsheet"))
.' '."\n";
$str .= &Apache::lonhtmlcommon::start_pick_box()
- .&Apache::lonhtmlcommon::row_title(&mt('File'))
- .&Apache::loncommon::upfile_select_html()
+ .&Apache::lonhtmlcommon::row_title(&mt('File'));
+ if (&Apache::lonlocal::current_language() ne 'en') {
+ if ($context eq 'course') {
+ $str .= ''."\n"
+ .&mt('Please upload an UTF8 encoded file to ensure a correct character encoding in your classlist.')."\n"
+ .'
'."\n";
+ }
+ }
+ $str .= &Apache::loncommon::upfile_select_html()
.&Apache::lonhtmlcommon::row_closure()
.&Apache::lonhtmlcommon::row_title(
''
@@ -3807,7 +3815,7 @@ sub upfile_drop_add {
} elsif ($setting eq 'course') {
$defaultrole = $env{'form.courserole'};
$defaultsec = $env{'form.sections'};
- }
+ }
} elsif ($context eq 'author') {
$defaultrole = $env{'form.defaultrole'};
} elsif ($context eq 'course') {
@@ -4159,7 +4167,7 @@ sub upfile_drop_add {
$role = 'cr_'.$env{'user.domain'}.'_'.
$env{'user.name'}.'_'.$role;
}
- if (($role ne 'cc') && ($role ne 'co')) {
+ if (($role ne 'cc') && ($role ne 'co')) {
if (@secs > 1) {
$multiple = 1;
foreach my $sec (@secs) {
@@ -4565,7 +4573,7 @@ sub update_user_list {
if ($sec eq '') {
$nochg = 1;
$keepnosection = 1;
- } else {
+ } else {
push(@retained,$sec);
}
}
@@ -4594,12 +4602,12 @@ sub update_user_list {
$result = 'ok';
$nothingtodo = 1;
} else {
- foreach my $newsec (@newsecs) {
+ foreach my $newsec (@newsecs) {
if (!grep(/^\Q$newsec\E$/,@retained)) {
if ($role eq 'st') {
$result = &Apache::lonnet::modify_student_enrollment($udom,$uname,undef,undef,undef,undef,undef,$newsec,$end,$start,$type,$locktype,$cid,'',$context);
if (@newsecs > 1) {
- my $showsingle;
+ my $showsingle;
if ($newsec eq '') {
$showsingle = &mt('No section');
} else {
@@ -4607,10 +4615,10 @@ sub update_user_list {
}
if ($crstype eq 'Community') {
$warn_singlesec = &mt('Although more than one section was indicated, a role was only added for the first section - [_1], as each community member may only be in one section at a time.',''.$showsingle.' ');
- } else {
+ } else {
$warn_singlesec = &mt('Although more than one section was indicated, a role was only added for the first section - [_1], as each student may only be in one section of a course at a time.',''.$showsingle.' ');
}
- $showsecs = $showsingle;
+ $showsecs = $showsingle;
last;
} else {
if ($newsec eq '') {
@@ -4623,10 +4631,11 @@ sub update_user_list {
my $newscope = $scopestem;
if ($newsec ne '') {
$newscope .= '/'.$newsec;
- push(@shownew,$newsec);
+ push(@shownew,$newsec);
}
$result = &Apache::lonnet::assignrole($udom,$uname,
$newscope,$role,$end,$start);
+
}
}
}
@@ -4676,13 +4685,13 @@ sub update_user_list {
$r->print(''.$warn_singlesec.'
');
}
} elsif ($choice eq 'chgdates') {
- $r->print(&mt("$result_text{'ok'}{$choice} role of '[_1]' in [_2] for '[_3]' - [_4]",$plrole,$extent,
- ''.&Apache::loncommon::plainname($uname.':'.$udom).' ',
+ $r->print(&mt("$result_text{'ok'}{$choice} role of '[_1]' in [_2] for '[_3]' - [_4]",$plrole,$extent,
+ ''.&Apache::loncommon::plainname($uname,$udom).' ',
$dates).' ');
$count ++;
} else {
$r->print(&mt("$result_text{'ok'}{$choice} role of '[_1]' in [_2] for '[_3]'.",$plrole,$extent,
- ''.&Apache::loncommon::plainname($uname.':'.$udom).' ').
+ ''.&Apache::loncommon::plainname($uname,$udom).' ').
' ');
$count ++;
}
@@ -4690,7 +4699,7 @@ sub update_user_list {
$r->print(
&mt("Error $result_text{'error'}{$choice} [_1] in [_2] for '[_3]': [_4].",
$plrole,$extent,
- ''.&Apache::loncommon::plainname($uname.':'.$udom).' ',
+ ''.&Apache::loncommon::plainname($uname,$udom).' ',
$result).' ');
}
}
@@ -5508,7 +5517,7 @@ sub sectioncheck_alerts {
my %alerts = &Apache::lonlocal::texthash(
curd => 'You must select a course or community in the current domain',
inea => 'In each course, each user may only have one student role at a time',
- inco => 'In each community, each user may only have one member role at a time',
+ inco => 'In each community, each user may only have one member role at a time',
youh => 'You had selected',
sect => 'sections',
plsm => 'Please modify your selections so they include no more than one section',