version 1.73.2.2, 2009/01/05 17:03:13
|
version 1.83, 2009/03/05 23:58:00
|
Line 403 sub javascript_validations {
|
Line 403 sub javascript_validations {
|
name => 'The optional name field was not specified.', |
name => 'The optional name field was not specified.', |
snum => 'The optional ID number field was not specified.', |
snum => 'The optional ID number field was not specified.', |
section => 'The optional section field was not specified.', |
section => 'The optional section field was not specified.', |
email => 'The optional email address field was not specified.', |
email => 'The optional e-mail address field was not specified.', |
role => 'The optional role field was not specified.', |
role => 'The optional role field was not specified.', |
domain => 'The optional domain field was not specified.', |
domain => 'The optional domain field was not specified.', |
continue => 'Continue adding users?', |
continue => 'Continue adding users?', |
Line 1914 sub aggregate_user_info {
|
Line 1914 sub aggregate_user_info {
|
sub process_date_info { |
sub process_date_info { |
my ($userdata) = @_; |
my ($userdata) = @_; |
my $now = time; |
my $now = time; |
$userdata->{'status'} = &mt('Active'); |
$userdata->{'status'} = 'Active'; |
if ($userdata->{'start'} > 0) { |
if ($userdata->{'start'} > 0) { |
if ($now < $userdata->{'start'}) { |
if ($now < $userdata->{'start'}) { |
$userdata->{'status'} = &mt('Future'); |
$userdata->{'status'} = 'Future'; |
} |
} |
} |
} |
if ($userdata->{'end'} > 0) { |
if ($userdata->{'end'} > 0) { |
if ($now > $userdata->{'end'}) { |
if ($now > $userdata->{'end'}) { |
$userdata->{'status'} = &mt('Expired'); |
$userdata->{'status'} = 'Expired'; |
} |
} |
} |
} |
return; |
return; |
Line 2056 END
|
Line 2056 END
|
'status' => "status", |
'status' => "status", |
'role' => "role", |
'role' => "role", |
'type' => "enroll type/action", |
'type' => "enroll type/action", |
'email' => "email address", |
'email' => "e-mail address", |
'photo' => "photo", |
'photo' => "photo", |
'extent' => "extent", |
'extent' => "extent", |
'pr' => "Proceed", |
'pr' => "Proceed", |
Line 2064 END
|
Line 2064 END
|
'ua' => "uncheck all", |
'ua' => "uncheck all", |
'ac' => "Action to take for selected users", |
'ac' => "Action to take for selected users", |
'link' => "Behavior of clickable username link for each user", |
'link' => "Behavior of clickable username link for each user", |
'aboutme' => "Display a user's personal page", |
'aboutme' => "Display a user's personal information page", |
'owin' => "Open in a new window", |
'owin' => "Open in a new window", |
'modify' => "Modify a user's information", |
'modify' => "Modify a user's information", |
'clicker' => "Clicker-ID", |
'clicker' => "Clicker-ID", |
Line 2309 END
|
Line 2309 END
|
$grpfilter = 'all'; |
$grpfilter = 'all'; |
} |
} |
} |
} |
|
my %ltstatus = &Apache::lonlocal::texthash( |
|
Active => 'Active', |
|
Future => 'Future', |
|
Expired => 'Expired', |
|
); |
# Get groups, role, permanent e-mail so we can sort on them if |
# Get groups, role, permanent e-mail so we can sort on them if |
# necessary. |
# necessary. |
foreach my $user (keys(%{$userlist})) { |
foreach my $user (keys(%{$userlist})) { |
Line 2463 END
|
Line 2468 END
|
$cellentry = '<b>'.&mt('auto').'</b> <label><input type="checkbox" name="chgauto" value="'.$in{'username'}.':'.$in{'domain'}.'" /> Change</label>'; |
$cellentry = '<b>'.&mt('auto').'</b> <label><input type="checkbox" name="chgauto" value="'.$in{'username'}.':'.$in{'domain'}.'" /> Change</label>'; |
$autocount ++; |
$autocount ++; |
} else { |
} else { |
$cellentry = '<table border="0" cellspacing="0"><tr><td rowspan="2"><b>'.&mt('manual').'</b></td><td><nobr><label><input type="checkbox" name="chgmanual" value="'.$in{'username'}.':'.$in{'domain'}.'" /> Change</label></nobr></td></tr><tr><td><nobr>'; |
$cellentry = '<table border="0" cellspacing="0"><tr><td rowspan="2"><b>'.&mt('manual').'</b></td><td><span class="LC_nobreak"><label><input type="checkbox" name="chgmanual" value="'.$in{'username'}.':'.$in{'domain'}.'" /> Change</label></span></td></tr><tr><td><span class="LC_nobreak">'; |
$manualcount ++; |
$manualcount ++; |
if ($in{'lockedtype'}) { |
if ($in{'lockedtype'}) { |
$cellentry .= '<label><input type="checkbox" name="unlockchg" value="'.$in{'username'}.':'.$in{'domain'}.'" /> '.&mt('Unlock').'</label>'; |
$cellentry .= '<label><input type="checkbox" name="unlockchg" value="'.$in{'username'}.':'.$in{'domain'}.'" /> '.&mt('Unlock').'</label>'; |
Line 2472 END
|
Line 2477 END
|
$cellentry .= '<label><input type="checkbox" name="lockchg" value="'.$in{'username'}.':'.$in{'domain'}.'" /> '.&mt('Lock').'</label>'; |
$cellentry .= '<label><input type="checkbox" name="lockchg" value="'.$in{'username'}.':'.$in{'domain'}.'" /> '.&mt('Lock').'</label>'; |
$lockcount ++; |
$lockcount ++; |
} |
} |
$cellentry .= '</nobr></td></tr></table>'; |
$cellentry .= '</span></td></tr></table>'; |
} |
} |
$r->print("<td>$cellentry</td>\n"); |
$r->print("<td>$cellentry</td>\n"); |
} else { |
} else { |
Line 2521 END
|
Line 2526 END
|
$r->print('<td>'.&print_username_link($mode,\%in).'</td>'); |
$r->print('<td>'.&print_username_link($mode,\%in).'</td>'); |
} elsif (($item eq 'start' || $item eq 'end') && ($actionselect)) { |
} elsif (($item eq 'start' || $item eq 'end') && ($actionselect)) { |
$r->print('<td>'.$in{$item}.'<input type="hidden" name="'.$checkval.'_'.$item.'" value="'.$sdata->[$index{$item}].'" /></td>'."\n"); |
$r->print('<td>'.$in{$item}.'<input type="hidden" name="'.$checkval.'_'.$item.'" value="'.$sdata->[$index{$item}].'" /></td>'."\n"); |
|
} elsif ($item eq 'status') { |
|
my $showitem = $in{$item}; |
|
if (defined($ltstatus{$in{$item}})) { |
|
$showitem = $ltstatus{$in{$item}}; |
|
} |
|
$r->print('<td>'.$showitem.'</td>'."\n"); |
} else { |
} else { |
$r->print('<td>'.$in{$item}.'</td>'."\n"); |
$r->print('<td>'.$in{$item}.'</td>'."\n"); |
} |
} |
Line 3003 ENDJS
|
Line 3014 ENDJS
|
$output .= $info.$secbox; |
$output .= $info.$secbox; |
} |
} |
$output .= '<p>'. |
$output .= '<p>'. |
'<input type="button" name="dateselection" value="'.&mt('Make changes').'" onclick="javascript:saveselections(this.form)" /></p>'."\n". |
'<input type="button" name="dateselection" value="'.&mt('Save').'" onclick="javascript:saveselections(this.form)" /></p>'."\n". |
'</form>'; |
'</form>'; |
return $output; |
return $output; |
} |
} |
Line 3391 sub print_first_users_upload_form {
|
Line 3402 sub print_first_users_upload_form {
|
$str .= '<label><input type="checkbox" name="noFirstLine" /> '. |
$str .= '<label><input type="checkbox" name="noFirstLine" /> '. |
&mt('Ignore First Line')."</label></p>\n"; |
&mt('Ignore First Line')."</label></p>\n"; |
$str .= '<input type="submit" name="fileupload" value="'. |
$str .= '<input type="submit" name="fileupload" value="'. |
&mt('Go to next step').'">'."<br />\n"; |
&mt('Next').'">'."<br />\n"; |
$str .= &Apache::loncommon::end_page(); |
$str .= &Apache::loncommon::end_page(); |
$r->print($str); |
$r->print($str); |
return; |
return; |
Line 3642 sub upfile_drop_add {
|
Line 3653 sub upfile_drop_add {
|
if ($entries{$fields{'username'}} |
if ($entries{$fields{'username'}} |
ne &LONCAPA::clean_username($entries{$fields{'username'}})) { |
ne &LONCAPA::clean_username($entries{$fields{'username'}})) { |
$r->print('<br />'. |
$r->print('<br />'. |
&mt('<b>[_1]</b>: Unacceptable username for user [_2] [_3] [_4] [_5]', |
&mt('[_1]: Unacceptable username for user [_2] [_3] [_4] [_5]', |
$entries{$fields{'username'}},$fname,$mname,$lname,$gen)); |
'<b>'.$entries{$fields{'username'}}.'</b>',$fname,$mname,$lname,$gen)); |
next; |
next; |
} else { |
} else { |
if ($entries{$fields{'domain'}} |
if ($entries{$fields{'domain'}} |
Line 3662 sub upfile_drop_add {
|
Line 3673 sub upfile_drop_add {
|
$entries{$fields{'sec'}} =~ s/\W//g; |
$entries{$fields{'sec'}} =~ s/\W//g; |
my $item = $entries{$fields{'sec'}}; |
my $item = $entries{$fields{'sec'}}; |
if ($item eq "none" || $item eq 'all') { |
if ($item eq "none" || $item eq 'all') { |
$r->print('<br />'.&mt('<b>[_1]</b>: Unable to enroll user [_2] [_3] [_4] [_5] in a section named "[_6]" - this is a reserved word.',$username,$fname,$mname,$lname,$gen,$item)); |
$r->print('<br />'.&mt('[_1]: Unable to enroll user [_2] [_3] [_4] [_5] in a section named "[_6]" - this is a reserved word.','<b>'.$username.'</b>',$fname,$mname,$lname,$gen,$item)); |
next; |
next; |
} elsif (exists($curr_groups{$item})) { |
} elsif (exists($curr_groups{$item})) { |
$r->print('<br />'.&mt('<b>[_1]</b>: Unable to enroll user [_2] [_3] [_4] [_5] in a section named "[_6]" - this is a course group.',$username,$fname,$mname,$lname,$gen,$item).' '.&mt('Section names and group names must be distinct.')); |
$r->print('<br />'.&mt('[_1]: Unable to enroll user [_2] [_3] [_4] [_5] in a section named "[_6]" - this is a course group.','<b>'.$username.'</b>',$fname,$mname,$lname,$gen,$item).' '.&mt('Section names and group names must be distinct.')); |
next; |
next; |
} else { |
} else { |
push(@secs,$item); |
push(@secs,$item); |
Line 3677 sub upfile_drop_add {
|
Line 3688 sub upfile_drop_add {
|
if (ref($userlist{$username.':'.$userdomain}) eq 'ARRAY') { |
if (ref($userlist{$username.':'.$userdomain}) eq 'ARRAY') { |
my $currsec = $userlist{$username.':'.$userdomain}[$secidx]; |
my $currsec = $userlist{$username.':'.$userdomain}[$secidx]; |
if ($currsec ne $env{'request.course.sec'}) { |
if ($currsec ne $env{'request.course.sec'}) { |
$r->print('<br />'.&mt('<b>[_1]</b>: Unable to enroll user [_2] [_3] [_4] [_5] in a section named "[_6]".',$username,$fname,$mname,$lname,$gen,$secs[0]).'<br />'); |
$r->print('<br />'.&mt('[_1]: Unable to enroll user [_2] [_3] [_4] [_5] in a section named "[_6]".','<b>'.$username.'</b>',$fname,$mname,$lname,$gen,$secs[0]).'<br />'); |
if ($currsec eq '') { |
if ($currsec eq '') { |
$r->print(&mt('This user already has an active/future student role in the course, unaffiliated to any section.')); |
$r->print(&mt('This user already has an active/future student role in the course, unaffiliated to any section.')); |
|
|
Line 3727 sub upfile_drop_add {
|
Line 3738 sub upfile_drop_add {
|
} |
} |
if ($role eq '') { |
if ($role eq '') { |
my $rolestr = join(', ',@permitted_roles); |
my $rolestr = join(', ',@permitted_roles); |
$r->print('<br />'. |
$r->print('<br />' |
&mt('<b>[_1]</b>: You do not have permission to add the requested role [_2] for the user.',$entries{$fields{'username'}},$entries{$fields{'role'}}).'<br />'.&mt('Allowable role(s) is/are: [_1].',$rolestr)."\n"); |
.&mt('[_1]: You do not have permission to add the requested role [_2] for the user.' |
|
,'<b>'.$entries{$fields{'username'}}.'</b>' |
|
,$entries{$fields{'role'}}) |
|
.'<br />' |
|
.&mt('Allowable role(s) is/are: [_1].',$rolestr)."\n" |
|
); |
next; |
next; |
} |
} |
} |
} |
Line 3888 sub upfile_drop_add {
|
Line 3904 sub upfile_drop_add {
|
} else { |
} else { |
if ($context eq 'course') { |
if ($context eq 'course') { |
$r->print('<br />'. |
$r->print('<br />'. |
&mt('<b>[_1]</b>: Unable to enroll. No password specified.',$username) |
&mt('[_1]: Unable to enroll. No password specified.','<b>'.$username.'</b>') |
); |
); |
} elsif ($context eq 'author') { |
} elsif ($context eq 'author') { |
$r->print('<br />'. |
$r->print('<br />'. |
&mt('<b>[_1]</b>: Unable to add co-author. No password specified.',$username) |
&mt('[_1]: Unable to add co-author. No password specified.','<b>'.$username.'</b>') |
); |
); |
} else { |
} else { |
$r->print('<br />'. |
$r->print('<br />'. |
&mt('<b>[_1]</b>: Unable to add user. No password specified.',$username) |
&mt('[_1]: Unable to add user. No password specified.','<b>'.$username.'</b>') |
); |
); |
} |
} |
} |
} |
Line 3999 sub user_change_result {
|
Line 4015 sub user_change_result {
|
if ($userresult =~ /^error:(.+)$/) { |
if ($userresult =~ /^error:(.+)$/) { |
my $error = $1; |
my $error = $1; |
$r->print('<br />'. |
$r->print('<br />'. |
&mt('<b>[_1]</b>: Unable to add/modify: [_2]',$username.':'.$userdomain,$error)); |
&mt('[_1]: Unable to add/modify: [_2]','<b>'.$username.':'.$userdomain.'</b>',$error)); |
} |
} |
} else { |
} else { |
$counts->{'user'} ++; |
$counts->{'user'} ++; |
Line 4009 sub user_change_result {
|
Line 4025 sub user_change_result {
|
if ($authresult =~ /^error:(.+)$/) { |
if ($authresult =~ /^error:(.+)$/) { |
my $error = $1; |
my $error = $1; |
$r->print('<br />'. |
$r->print('<br />'. |
&mt('<b>[_1]</b>: Unable to modify authentication: [_2]',$username.':'.$userdomain,$error)); |
&mt('[_1]: Unable to modify authentication: [_2]','<b>'.$username.':'.$userdomain.'</b>',$error)); |
} |
} |
} else { |
} else { |
$counts->{'auth'} ++; |
$counts->{'auth'} ++; |
Line 4019 sub user_change_result {
|
Line 4035 sub user_change_result {
|
if ($roleresult =~ /^error:(.+)$/) { |
if ($roleresult =~ /^error:(.+)$/) { |
my $error = $1; |
my $error = $1; |
$r->print('<br />'. |
$r->print('<br />'. |
&mt('<b>[_1]</b>: Unable to add role: [_2]',$username.':'.$userdomain,$error)); |
&mt('[_1]: Unable to add role: [_2]','<b>'.$username.':'.$userdomain.'</b>',$error)); |
} |
} |
} else { |
} else { |
$counts->{'role'} ++; |
$counts->{'role'} ++; |
Line 4289 sub update_user_list {
|
Line 4305 sub update_user_list {
|
$r->print('<p><b>'.&mt("$result_text{'ok'}{$choice} role(s) for [quant,_1,user,users,no users].",$count).'</b></p>'); |
$r->print('<p><b>'.&mt("$result_text{'ok'}{$choice} role(s) for [quant,_1,user,users,no users].",$count).'</b></p>'); |
if ($count > 0) { |
if ($count > 0) { |
if ($choice eq 'revoke' || $choice eq 'drop') { |
if ($choice eq 'revoke' || $choice eq 'drop') { |
$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(); |
&Apache::lonnet::flushcourselogs(); |