version 1.109.2.1, 2009/12/20 01:53:42
|
version 1.117, 2010/03/21 14:15:58
|
Line 1448 sub print_userlist {
|
Line 1448 sub print_userlist {
|
} |
} |
if (!(($context eq 'domain') && |
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(' '.&list_submit_button(&mt('Update Display')). |
$r->print( |
"\n</p>\n"); |
"\n</p>\n" |
|
.'<p>' |
|
.&list_submit_button(&mt('Update Display')) |
|
."</p>\n" |
|
); |
} |
} |
my ($indexhash,$keylist) = &make_keylist_array(); |
my ($indexhash,$keylist) = &make_keylist_array(); |
my (%userlist,%userinfo,$clearcoursepick); |
my (%userlist,%userinfo,$clearcoursepick); |
Line 1688 sub role_filter {
|
Line 1692 sub role_filter {
|
$role_select .= '</select>'; |
$role_select .= '</select>'; |
$output = '<label><span class="LC_nobreak">' |
$output = '<label><span class="LC_nobreak">' |
.&mt('Role: [_1]',$role_select) |
.&mt('Role: [_1]',$role_select) |
.'</span></label>'; |
.'</span></label> '; |
} |
} |
return $output; |
return $output; |
} |
} |
Line 1728 sub section_group_filter {
|
Line 1732 sub section_group_filter {
|
} |
} |
if (@options > 0) { |
if (@options > 0) { |
my $currsel; |
my $currsel; |
$markup = '<select name="'.$name{$item}.'" />'."\n"; |
$markup = '<select name="'.$name{$item}.'">'."\n"; |
foreach my $option ('all','none',@options) { |
foreach my $option ('all','none',@options) { |
$currsel = ''; |
$currsel = ''; |
if ($env{'form.'.$name{$item}} eq $option) { |
if ($env{'form.'.$name{$item}} eq $option) { |
Line 1743 sub section_group_filter {
|
Line 1747 sub section_group_filter {
|
$markup .= '</option>'."\n"; |
$markup .= '</option>'."\n"; |
} |
} |
$markup .= '</select>'."\n"; |
$markup .= '</select>'."\n"; |
$output .= (' 'x3).'<label>'.$title{$item}.': '.$markup.'</label>'; |
$output .= (' 'x3).'<span class="LC_nobreak">' |
|
.'<label>'.$title{$item}.': '.$markup.'</label>' |
|
.'</span> '; |
} |
} |
} |
} |
return $output; |
return $output; |
Line 2397 END
|
Line 2403 END
|
if ($env{'form.userwin'}) { |
if ($env{'form.userwin'}) { |
$checkwin = ' checked="checked"'; |
$checkwin = ' checked="checked"'; |
} |
} |
$output .= '</td><td valign="top"><span class="LC_nobreak"><input type="checkbox" name="userwin" value="1"'.$checkwin.' />'.$lt{'owin'}.'</span></td></tr></table></fieldset></div>'; |
$output .= '</td><td valign="top" style="border-left: 1px solid;"><span class="LC_nobreak"><input type="checkbox" name="userwin" value="1"'.$checkwin.' />'.$lt{'owin'}.'</span></td></tr></table></fieldset></div>'; |
} |
} |
$output .= "\n".'<div class="LC_clear_float_footer"> </div>'."\n". |
$output .= "\n".'<div class="LC_clear_float_footer"> </div>'."\n". |
&Apache::loncommon::start_data_table(). |
&Apache::loncommon::start_data_table(). |
Line 2937 sub print_username_link {
|
Line 2943 sub print_username_link {
|
$output = $in->{'username'}; |
$output = $in->{'username'}; |
} else { |
} else { |
$output = '<a href="javascript:username_display_launch('. |
$output = '<a href="javascript:username_display_launch('. |
"'$in->{'username'}','$in->{'domain'}'".')" />'. |
"'$in->{'username'}','$in->{'domain'}'".')">'. |
$in->{'username'}.'</a>'; |
$in->{'username'}.'</a>'; |
} |
} |
return $output; |
return $output; |
Line 3191 ENDJS
|
Line 3197 ENDJS
|
$date_items; |
$date_items; |
if ($context eq 'course' && $env{'form.bulkaction'} eq 'chgsec') { |
if ($context eq 'course' && $env{'form.bulkaction'} eq 'chgsec') { |
my ($cnum,$cdom) = &get_course_identity(); |
my ($cnum,$cdom) = &get_course_identity(); |
my $crstype = &Apache::loncommon::course_type(); |
|
if ($crstype eq 'Community') { |
if ($crstype eq 'Community') { |
$lt{'fors'} = &mt('For member roles changing the section, will result in a section switch as members may only be in one section of a community at a time.'); |
$lt{'fors'} = &mt('For member roles changing the section, will result in a section switch as members may only be in one section of a community at a time.'); |
$lt{'forn'} = &mt('For a role in a community that is not a member role, a user may have roles in more than one section of a community at a time.'); |
$lt{'forn'} = &mt('For a role in a community that is not a member role, a user may have roles in more than one section of a community at a time.'); |
Line 3398 sub results_header_row {
|
Line 3403 sub results_header_row {
|
if ($rolefilter eq 'Any') { |
if ($rolefilter eq 'Any') { |
$description .= &mt('All users with co-author roles in domain',$showfilter); |
$description .= &mt('All users with co-author roles in domain',$showfilter); |
} else { |
} else { |
$description .= &mt('All co-authors in domain with [_1] roles',$rolefilter); |
$description .= &mt('All co-authors in domain with [_1] roles',$rolefilter); |
} |
} |
} |
} |
} elsif (($env{'form.roletype'} eq 'course') || |
} elsif (($env{'form.roletype'} eq 'course') || |
Line 3655 sub print_first_users_upload_form {
|
Line 3660 sub print_first_users_upload_form {
|
$str .= '<input type="hidden" name="action" value="upload" />'; |
$str .= '<input type="hidden" name="action" value="upload" />'; |
$str .= '<input type="hidden" name="state" value="got_file" />'; |
$str .= '<input type="hidden" name="state" value="got_file" />'; |
|
|
$str .= '<h3>'.&mt('Upload a file containing information about users').'</h3>'."\n"; |
$str .= '<h2>'.&mt('Upload a file containing information about users').'</h2>'."\n"; |
|
|
# Excel and CSV Help |
# Excel and CSV Help |
$str .= '<div class="LC_left_float">' |
$str .= '<div class="LC_left_float">' |
Line 3666 sub print_first_users_upload_form {
|
Line 3671 sub print_first_users_upload_form {
|
&mt("How do I create a CSV file from a spreadsheet")) |
&mt("How do I create a CSV file from a spreadsheet")) |
.'</div><br clear="all" />'."\n"; |
.'</div><br clear="all" />'."\n"; |
$str .= &Apache::lonhtmlcommon::start_pick_box() |
$str .= &Apache::lonhtmlcommon::start_pick_box() |
.&Apache::lonhtmlcommon::row_title(&mt('File')) |
.&Apache::lonhtmlcommon::row_title(&mt('File')); |
.&Apache::loncommon::upfile_select_html() |
if (&Apache::lonlocal::current_language() ne 'en') { |
|
if ($context eq 'course') { |
|
$str .= '<p class="LC_info">'."\n" |
|
.&mt('Please upload an UTF8 encoded file to ensure a correct character encoding in your classlist.')."\n" |
|
.'</p>'."\n"; |
|
} |
|
} |
|
$str .= &Apache::loncommon::upfile_select_html() |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_title( |
.&Apache::lonhtmlcommon::row_title( |
'<label for="noFirstLine">' |
'<label for="noFirstLine">' |
Line 4515 sub update_user_list {
|
Line 4527 sub update_user_list {
|
} elsif ($choice eq 'chgsec') { |
} elsif ($choice eq 'chgsec') { |
my (@newsecs,$revresult,$nochg,@retained); |
my (@newsecs,$revresult,$nochg,@retained); |
if (($role ne 'cc') && ($role ne 'co')) { |
if (($role ne 'cc') && ($role ne 'co')) { |
@newsecs = split(/,/,$env{'form.newsecs'}); |
my @secs = sort(split(/,/,$env{'form.newsecs'})); |
|
if (@secs) { |
|
my %curr_groups = &Apache::longroup::coursegroups(); |
|
foreach my $sec (@secs) { |
|
next if (($sec =~ /\W/) || ($sec eq 'none') || |
|
(exists($curr_groups{$sec}))); |
|
push(@newsecs,$sec); |
|
} |
|
} |
} |
} |
# remove existing section if not to be retained. |
# remove existing section if not to be retained. |
if (!$env{'form.retainsec'}) { |
if (!$env{'form.retainsec'}) { |
Line 4820 sub setsections_javascript {
|
Line 4840 sub setsections_javascript {
|
plch => 'Please choose a different section name.', |
plch => 'Please choose a different section name.', |
mnot => 'may not be used as a section name, as it is the name of a course group.', |
mnot => 'may not be used as a section name, as it is the name of a course group.', |
secn => 'Section names and group names must be distinct. Please choose a different section name.', |
secn => 'Section names and group names must be distinct. Please choose a different section name.', |
|
nonw => 'Section names may only contain letters or numbers.', |
); |
); |
$setsection_js .= <<"ENDSECCODE"; |
$setsection_js .= <<"ENDSECCODE"; |
|
|
function setSections(formname,crstype) { |
function setSections(formname,crstype) { |
var re1 = /^currsec_/; |
var re1 = /^currsec_/; |
|
var re2 =/\\W/; |
|
var trimleading = /^\\s+/; |
|
var trimtrailing = /\\s+\$/; |
var groups = new Array($groupslist); |
var groups = new Array($groupslist); |
for (var i=0;i<formname.elements.length;i++) { |
for (var i=0;i<formname.elements.length;i++) { |
var str = formname.elements[i].name; |
var str = formname.elements[i].name; |
var checkcurr = str.match(re1); |
var checkcurr = str.match(re1); |
if (checkcurr != null) { |
if (checkcurr != null) { |
|
var num = i; |
if ($checkincluded) { |
if ($checkincluded) { |
$rolecode |
$rolecode |
if (role == 'cc' || role == 'co') { |
if (role == 'cc' || role == 'co') { |
Line 4841 function setSections(formname,crstype) {
|
Line 4866 function setSections(formname,crstype) {
|
} else { |
} else { |
var sections = ''; |
var sections = ''; |
var numsec = 0; |
var numsec = 0; |
var sections; |
var fromexisting = new Array(); |
for (var j=0; j<formname.elements[i].length; j++) { |
for (var j=0; j<formname.elements[num].length; j++) { |
if (formname.elements[i].options[j].selected == true ) { |
if (formname.elements[num].options[j].selected == true ) { |
if (formname.elements[i].options[j].value != "") { |
var addsec = formname.elements[num].options[j].value; |
|
if (addsec != "") { |
|
fromexisting.push(addsec); |
if (numsec == 0) { |
if (numsec == 0) { |
if (formname.elements[i].options[j].value != "") { |
sections = addsec; |
sections = formname.elements[i].options[j].value; |
} else { |
numsec ++; |
sections = sections + "," + addsec; |
} |
|
} |
|
else { |
|
sections = sections + "," + formname.elements[i].options[j].value |
|
numsec ++; |
|
} |
} |
|
numsec ++; |
} |
} |
} |
} |
} |
} |
if (numsec > 0) { |
var newsecs = formname.elements[num+1].value; |
if (formname.elements[i+1].value != "" && formname.elements[i+1].value != null) { |
var validsecs = new Array(); |
sections = sections + "," + formname.elements[i+1].value; |
var validsecstr = ''; |
} |
var badsecs = new Array(); |
} |
|
else { |
|
sections = formname.elements[i+1].value; |
|
} |
|
var newsecs = formname.elements[i+1].value; |
|
var numsplit; |
|
if (newsecs != null && newsecs != "") { |
if (newsecs != null && newsecs != "") { |
numsplit = newsecs.split(/,/g); |
var numsplit; |
numsec = numsec + numsplit.length; |
if (newsecs.indexOf(',') == -1) { |
|
numsplit = new Array(newsecs); |
|
} else { |
|
numsplit = newsecs.split(/,/g); |
|
} |
|
for (var m=0; m<numsplit.length; m++) { |
|
var newsec = numsplit[m]; |
|
newsec = newsec.replace(trimleading,''); |
|
newsec = newsec.replace(trimtrailing,''); |
|
if (re2.test(newsec) == true) { |
|
badsecs.push(newsec); |
|
} else { |
|
if (newsec != '') { |
|
var isnew = 1; |
|
if (fromexisting != null) { |
|
for (var n=0; n<fromexisting.length; n++) { |
|
if (newsec == fromexisting[n]) { |
|
isnew = 0; |
|
} |
|
} |
|
} |
|
if (isnew == 1) { |
|
validsecs.push(newsec); |
|
} |
|
} |
|
} |
|
} |
|
if (badsecs.length > 0) { |
|
alert("$alerts{'nonw'}\\n$alerts{'plch'}"); |
|
return; |
|
} |
|
numsec = numsec + validsecs.length; |
} |
} |
|
|
if ((role == 'st') && (numsec > 1)) { |
if ((role == 'st') && (numsec > 1)) { |
if (crstype == 'Community') { |
if (crstype == 'Community') { |
alert("$alerts{'inea'} $alerts{'youh'} "+numsec+" $alerts{'secs'}\\n$alerts{'plmo'}"); |
alert("$alerts{'inea'} $alerts{'youh'} "+numsec+" $alerts{'secs'}\\n$alerts{'plmo'}"); |
Line 4880 function setSections(formname,crstype) {
|
Line 4927 function setSections(formname,crstype) {
|
alert("$alerts{'inco'} $alerts{'youh'} "+numsec+" $alerts{'secs'}\\n$alerts{'plmo'}"); |
alert("$alerts{'inco'} $alerts{'youh'} "+numsec+" $alerts{'secs'}\\n$alerts{'plmo'}"); |
} |
} |
return; |
return; |
} |
} else { |
else { |
if (validsecs != null) { |
if (numsplit != null) { |
for (var j=0; j<validsecs.length; j++) { |
for (var j=0; j<numsplit.length; j++) { |
if (validsecstr == '' || validsecstr == null) { |
if ((numsplit[j] == 'all') || |
validsecstr = validsecs[j]; |
(numsplit[j] == 'none')) { |
} else { |
alert("'"+numsplit[j]+"' $alerts{'mayn'}\\n$alerts{'plch'}"); |
validsecstr += ','+validsecs[j]; |
|
} |
|
if ((validsecs[j] == 'all') || |
|
(validsecs[j] == 'none')) { |
|
alert("'"+validsecs[j]+"' $alerts{'mayn'}\\n$alerts{'plch'}"); |
return; |
return; |
} |
} |
for (var k=0; k<groups.length; k++) { |
for (var k=0; k<groups.length; k++) { |
if (numsplit[j] == groups[k]) { |
if (validsecs[j] == groups[k]) { |
alert("'"+numsplit[j]+"' $alerts{'mnot'}\\n$alerts{'secn'}"); |
alert("'"+validsecs[j]+"' $alerts{'mnot'}\\n$alerts{'secn'}"); |
return; |
return; |
} |
} |
} |
} |
} |
} |
} |
} |
formname.elements[i+2].value = sections; |
|
} |
} |
|
if ((validsecstr != '') && (validsecstr != null)) { |
|
if ((sections == '') || (sections == null)) { |
|
sections = validsecstr; |
|
} else { |
|
sections = sections + "," + validsecstr; |
|
} |
|
} |
|
formname.elements[num+2].value = sections; |
} |
} |
} |
} |
} |
} |