version 1.277, 2009/02/05 12:19:50
|
version 1.286, 2009/03/09 05:25:40
|
Line 227 sub build_tools_display {
|
Line 227 sub build_tools_display {
|
'official' => 'Can request creation of official courses', |
'official' => 'Can request creation of official courses', |
'unofficial' => 'Can request creation of unofficial courses', |
'unofficial' => 'Can request creation of unofficial courses', |
); |
); |
if ($context eq 'requestcourse') { |
if ($context eq 'requestcourses') { |
%userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname, |
%userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname, |
'requestcourse.official','requestcourse.unofficial'); |
'requestcourses.official','requestcourses.unofficial'); |
@usertools = ('official','unofficial'); |
@usertools = ('official','unofficial'); |
} else { |
} else { |
%userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname, |
%userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname, |
Line 337 sub print_username_entry_form {
|
Line 337 sub print_username_entry_form {
|
'dom' => "Domain", |
'dom' => "Domain", |
'ecrp' => "Edit Custom Role Privileges", |
'ecrp' => "Edit Custom Role Privileges", |
'nr' => "Name of Role", |
'nr' => "Name of Role", |
'cre' => "Custom Role Editor", |
'cre' => "Next", |
); |
); |
$r->print($start_page."\n".$crumbs); |
$r->print($start_page."\n".$crumbs); |
if ($env{'form.action'} eq 'custom') { |
if ($env{'form.action'} eq 'custom') { |
Line 347 sub print_username_entry_form {
|
Line 347 sub print_username_entry_form {
|
<input type="hidden" name="action" value="$env{'form.action'}" /> |
<input type="hidden" name="action" value="$env{'form.action'}" /> |
<input type="hidden" name="phase" value="selected_custom_edit" /> |
<input type="hidden" name="phase" value="selected_custom_edit" /> |
<h3>$lt{'ecrp'}</h3> |
<h3>$lt{'ecrp'}</h3> |
$lt{'nr'}: $choice <input type="text" size="15" name="newrolename" /><br /> |
$choice $lt{'nr'}: <input type="text" size="15" name="newrolename" /><br /> |
<input name="customeditor" type="submit" value="$lt{'cre'}" /> |
<input name="customeditor" type="submit" value="$lt{'cre'}" /> |
</form> |
</form> |
ENDCUSTOM |
ENDCUSTOM |
Line 870 ENDCHANGEUSER
|
Line 870 ENDCHANGEUSER
|
if (&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) { |
if (&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) { |
$r->print('<h3>'.&mt('User Can Request Creation of Courses?').'</h3>'. |
$r->print('<h3>'.&mt('User Can Request Creation of Courses?').'</h3>'. |
&Apache::loncommon::start_data_table(). |
&Apache::loncommon::start_data_table(). |
&build_tools_display($ccuname,$ccdomain,'requestcourse'). |
&build_tools_display($ccuname,$ccdomain,'requestcourses'). |
&Apache::loncommon::end_data_table()); |
&Apache::loncommon::end_data_table()); |
} |
} |
$r->print('</div>'); |
$r->print('</div>'); |
Line 901 ENDNOPORTPRIV
|
Line 901 ENDNOPORTPRIV
|
if (&Apache::lonnet::allowed('mut',$env{'request.role.domain'})) { |
if (&Apache::lonnet::allowed('mut',$env{'request.role.domain'})) { |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'utav' => "User Tools Availability", |
'utav' => "User Tools Availability", |
'yodo' => "You do not have privileges to modify Portfolio, Blog or Home Page settings for this user.", |
'yodo' => "You do not have privileges to modify Portfolio, Blog or Personal Information Page settings for this user.", |
'ifch' => "If a change is required, contact a domain coordinator for the domain", |
'ifch' => "If a change is required, contact a domain coordinator for the domain", |
); |
); |
$user_tools_text = <<ENDNOTOOLSPRIV; |
$user_tools_text = <<ENDNOTOOLSPRIV; |
Line 1524 sub modify_login_block {
|
Line 1524 sub modify_login_block {
|
|
|
sub personal_data_display { |
sub personal_data_display { |
my ($ccuname,$ccdomain,$newuser,$context,$inst_results,$rolesarray) = @_; |
my ($ccuname,$ccdomain,$newuser,$context,$inst_results,$rolesarray) = @_; |
my ($output,$showforceid,%userenv,%canmodify); |
my ($output,$showforceid,%userenv,%canmodify,%canmodify_status); |
my @userinfo = ('firstname','middlename','lastname','generation', |
my @userinfo = ('firstname','middlename','lastname','generation', |
'permanentemail','id'); |
'permanentemail','id'); |
my $rowcount = 0; |
my $rowcount = 0; |
my $editable = 0; |
my $editable = 0; |
|
%canmodify_status = |
|
&Apache::lonuserutils::can_modify_userinfo($context,$ccdomain, |
|
['inststatus'],$rolesarray); |
if (!$newuser) { |
if (!$newuser) { |
# Get the users information |
# Get the users information |
%userenv = &Apache::lonnet::get('environment', |
%userenv = &Apache::lonnet::get('environment', |
['firstname','middlename','lastname','generation', |
['firstname','middlename','lastname','generation', |
'permanentemail','id'],$ccdomain,$ccuname); |
'permanentemail','id','inststatus'],$ccdomain,$ccuname); |
%canmodify = |
%canmodify = |
&Apache::lonuserutils::can_modify_userinfo($context,$ccdomain, |
&Apache::lonuserutils::can_modify_userinfo($context,$ccdomain, |
\@userinfo,$rolesarray); |
\@userinfo,$rolesarray); |
Line 1549 sub personal_data_display {
|
Line 1552 sub personal_data_display {
|
'generation' => "Generation", |
'generation' => "Generation", |
'permanentemail' => "Permanent e-mail address", |
'permanentemail' => "Permanent e-mail address", |
'id' => "Student/Employee ID", |
'id' => "Student/Employee ID", |
'lg' => "Login Data" |
'lg' => "Login Data", |
|
'inststatus' => "Affiliation", |
); |
); |
my %textboxsize = ( |
my %textboxsize = ( |
firstname => '15', |
firstname => '15', |
Line 1613 sub personal_data_display {
|
Line 1617 sub personal_data_display {
|
$rowcount ++; |
$rowcount ++; |
} |
} |
} |
} |
|
if (($canmodify_status{'inststatus'}) || ($context ne 'selfcreate')) { |
|
my ($othertitle,$usertypes,$types) = &Apache::loncommon::sorted_inst_types($ccdomain); |
|
if (ref($types) eq 'ARRAY') { |
|
if (@{$types} > 0) { |
|
my ($hiderow,$shown); |
|
if ($canmodify_status{'inststatus'}) { |
|
$shown = &pick_inst_statuses($userenv{'inststatus'},$usertypes,$types); |
|
} else { |
|
$shown .= $userenv{'inststatus'}; |
|
if ($userenv{'inststatus'} eq '') { |
|
$hiderow = 1; |
|
} |
|
} |
|
if (!$hiderow) { |
|
my $row = &Apache::lonhtmlcommon::row_title(&mt('Affliations'),undef,'LC_oddrow_value')."\n". |
|
$shown.&Apache::lonhtmlcommon::row_closure(1); |
|
if ($context eq 'selfcreate') { |
|
$rowcount ++; |
|
} |
|
$output .= $row; |
|
} |
|
} |
|
} |
|
} |
$output .= &Apache::lonhtmlcommon::end_pick_box(); |
$output .= &Apache::lonhtmlcommon::end_pick_box(); |
if (wantarray) { |
if (wantarray) { |
if ($context eq 'selfcreate') { |
if ($context eq 'selfcreate') { |
Line 1625 sub personal_data_display {
|
Line 1653 sub personal_data_display {
|
} |
} |
} |
} |
|
|
|
sub pick_inst_statuses { |
|
my ($curr,$usertypes,$types) = @_; |
|
my ($output,$rem,@currtypes); |
|
if ($curr ne '') { |
|
@currtypes = map { &unescape($_); } split(/:/,$curr); |
|
} |
|
my $numinrow = 2; |
|
if (ref($types) eq 'ARRAY') { |
|
$output = '<table>'; |
|
my $lastcolspan; |
|
for (my $i=0; $i<@{$types}; $i++) { |
|
if (defined($usertypes->{$types->[$i]})) { |
|
my $rem = $i%($numinrow); |
|
if ($rem == 0) { |
|
if ($i<@{$types}-1) { |
|
if ($i > 0) { |
|
$output .= '</tr>'; |
|
} |
|
$output .= '<tr>'; |
|
} |
|
} elsif ($i==@{$types}-1) { |
|
my $colsleft = $numinrow - $rem; |
|
if ($colsleft > 1) { |
|
$lastcolspan = ' colspan="'.$colsleft.'"'; |
|
} |
|
} |
|
my $check = ' '; |
|
if (grep(/^\Q$types->[$i]\E$/,@currtypes)) { |
|
$check = ' checked="checked" '; |
|
} |
|
$output .= '<td class="LC_left_item"'.$lastcolspan.'>'. |
|
'<span class="LC_nobreak"><label>'. |
|
'<input type="checkbox" name="inststatus" '. |
|
'value="'.$types->[$i].'"'.$check.'/>'. |
|
$usertypes->{$types->[$i]}.'</label></span></td>'; |
|
} |
|
} |
|
$output .= '</tr></table>'; |
|
} |
|
return $output; |
|
} |
|
|
sub selfcreate_canmodify { |
sub selfcreate_canmodify { |
my ($context,$dom,$userinfo,$inst_results,$rolesarray) = @_; |
my ($context,$dom,$userinfo,$inst_results,$rolesarray) = @_; |
if (ref($inst_results) eq 'HASH') { |
if (ref($inst_results) eq 'HASH') { |
Line 1713 sub update_user_data {
|
Line 1783 sub update_user_data {
|
} |
} |
if ( $env{'form.ccuname'} ne |
if ( $env{'form.ccuname'} ne |
&LONCAPA::clean_username($env{'form.ccuname'}) ) { |
&LONCAPA::clean_username($env{'form.ccuname'}) ) { |
$r->print($error.&mt('Invalid login name').'. '. |
$r->print($error.&mt('Invalid login name.').' '. |
&mt('Only letters, numbers, periods, dashes, @, and underscores are valid').'.'. |
&mt('Only letters, numbers, periods, dashes, @, and underscores are valid.'). |
$end.$rtnlink); |
$end.$rtnlink); |
return; |
return; |
} |
} |
Line 1724 sub update_user_data {
|
Line 1794 sub update_user_data {
|
} |
} |
if ( $env{'form.ccdomain'} ne |
if ( $env{'form.ccdomain'} ne |
&LONCAPA::clean_domain($env{'form.ccdomain'}) ) { |
&LONCAPA::clean_domain($env{'form.ccdomain'}) ) { |
$r->print($error.&mt ('Invalid domain name').'. '. |
$r->print($error.&mt('Invalid domain name.').' '. |
&mt('Only letters, numbers, periods, dashes, and underscores are valid').'.'. |
&mt('Only letters, numbers, periods, dashes, and underscores are valid.'). |
$end.$rtnlink); |
$end.$rtnlink); |
return; |
return; |
} |
} |
Line 1774 sub update_user_data {
|
Line 1844 sub update_user_data {
|
my (%alerts,%rulematch,%inst_results,%curr_rules); |
my (%alerts,%rulematch,%inst_results,%curr_rules); |
my @usertools = ('aboutme','blog','portfolio'); |
my @usertools = ('aboutme','blog','portfolio'); |
my @requestcourses = ('official','unofficial'); |
my @requestcourses = ('official','unofficial'); |
|
my ($othertitle,$usertypes,$types) = |
|
&Apache::loncommon::sorted_inst_types($env{'form.ccdomain'}); |
if ($env{'form.makeuser'}) { |
if ($env{'form.makeuser'}) { |
$r->print('<h3>'.&mt('Creating new account.').'</h3>'); |
$r->print('<h3>'.&mt('Creating new account.').'</h3>'); |
# Check for the authentication mode and password |
# Check for the authentication mode and password |
Line 1851 sub update_user_data {
|
Line 1923 sub update_user_data {
|
\%changeHash,'tools'); |
\%changeHash,'tools'); |
} |
} |
} |
} |
if (&Apache::lonnet::allowed('ccc',$env{'request.domain'})) { |
foreach my $item (@requestcourses) { |
foreach my $item (@requestcourses) { |
$newcustom{$item} = $env{'form.requestcourses_'.$item}; |
$newcustom{$item} = $env{'form.requestcourse_'.$item}; |
$changed{$item} = &tool_admin($item,$newcustom{$item}, |
$changed{$item} = &tool_admin($item,$newcustom{$item}, |
\%changeHash,'requestcourses'); |
\%changeHash,'requestcourse'); |
} |
|
if (exists($env{'form.inststatus'})) { |
|
my @inststatuses = &Apache::loncommon::get_env_multiple('form.inststatus'); |
|
if (@inststatuses > 0) { |
|
$changeHash{'inststatus'} = join(',',@inststatuses); |
|
$changed{'inststatus'} = $changeHash{'inststatus'}; |
} |
} |
} |
} |
if (keys(%changed)) { |
if (keys(%changed)) { |
Line 1902 sub update_user_data {
|
Line 1979 sub update_user_data {
|
my %userenv = &Apache::lonnet::get |
my %userenv = &Apache::lonnet::get |
('environment',['firstname','middlename','lastname','generation', |
('environment',['firstname','middlename','lastname','generation', |
'id','permanentemail','portfolioquota','inststatus','tools.aboutme', |
'id','permanentemail','portfolioquota','inststatus','tools.aboutme', |
'tools.blog','tools.portfolio','requestcourse.official', |
'tools.blog','tools.portfolio','requestcourses.official', |
'requestcourse.unofficial'], |
'requestcourses.unofficial'], |
$env{'form.ccdomain'},$env{'form.ccuname'}); |
$env{'form.ccdomain'},$env{'form.ccuname'}); |
my ($tmp) = keys(%userenv); |
my ($tmp) = keys(%userenv); |
if ($tmp =~ /^(con_lost|error)/i) { |
if ($tmp =~ /^(con_lost|error)/i) { |
Line 2026 sub update_user_data {
|
Line 2103 sub update_user_data {
|
} |
} |
} |
} |
} |
} |
my ($quotachanged,$oldportfolioquota,$newportfolioquota, |
my ($quotachanged,$oldportfolioquota,$newportfolioquota,$oldinststatus, |
$inststatus,$oldisdefault,$newisdefault,$olddefquotatext, |
$inststatus,$newinststatus,$oldisdefault,$newisdefault,$olddefquotatext, |
$newdefquotatext,%oldaccess,%oldaccesstext,%newaccess,%newaccesstext); |
$newdefquotatext,%oldaccess,%oldaccesstext,%newaccess,%newaccesstext, |
|
$oldinststatuses,$newinststatuses); |
my ($defquota,$settingstatus) = |
my ($defquota,$settingstatus) = |
&Apache::loncommon::default_quota($env{'form.ccdomain'},$inststatus); |
&Apache::loncommon::default_quota($env{'form.ccdomain'},$inststatus); |
my ($showquota,$showtools,$showrequestcourses); |
my ($showquota,$showtools,$showrequestcourses,$showinststatus); |
if (&Apache::lonnet::allowed('mpq',$env{'form.ccdomain'})) { |
if (&Apache::lonnet::allowed('mpq',$env{'form.ccdomain'})) { |
$showquota = 1; |
$showquota = 1; |
} |
} |
Line 2041 sub update_user_data {
|
Line 2119 sub update_user_data {
|
if (&Apache::lonnet::allowed('ccc',$env{'form.ccdomain'})) { |
if (&Apache::lonnet::allowed('ccc',$env{'form.ccdomain'})) { |
$showrequestcourses = 1; |
$showrequestcourses = 1; |
} |
} |
|
if (&Apache::lonnet::allowed('mau',$env{'form.ccdomain'})) { |
|
$showinststatus = 1; |
|
} |
my (%changeHash,%changed); |
my (%changeHash,%changed); |
|
$oldinststatus = $userenv{'inststatus'}; |
|
if ($oldinststatus eq '') { |
|
$oldinststatuses = $othertitle; |
|
} else { |
|
if (ref($usertypes) eq 'HASH') { |
|
$oldinststatuses = join(', ',map{ $usertypes->{ &unescape($_) }; } (split(/:/,$userenv{'inststatus'}))); |
|
} else { |
|
$oldinststatuses = join(', ',map{ &unescape($_); } (split(/:/,$userenv{'inststatus'}))); |
|
} |
|
} |
|
$changeHash{'inststatus'} = $userenv{'inststatus'}; |
|
my %canmodify_inststatus = &Apache::lonuserutils::can_modify_userinfo($context,$env{'form.ccdomain'},['inststatus'],\@userroles); |
|
if ($canmodify_inststatus{'inststatus'}) { |
|
if (exists($env{'form.inststatus'})) { |
|
my @inststatuses = &Apache::loncommon::get_env_multiple('form.inststatus'); |
|
if (@inststatuses > 0) { |
|
$newinststatus = join(':',map { &escape($_); } @inststatuses); |
|
$changeHash{'inststatus'} = $newinststatus; |
|
if ($newinststatus ne $oldinststatus) { |
|
$changed{'inststatus'} = $newinststatus; |
|
} |
|
if (ref($usertypes) eq 'HASH') { |
|
$newinststatuses = join(', ',map{ $usertypes->{$_}; } (@inststatuses)); |
|
} else { |
|
$newinststatuses = join(', ',map{ $usertypes->{$_}; } (@inststatuses)); |
|
} |
|
} else { |
|
$newinststatus = ''; |
|
$changeHash{'inststatus'} = $newinststatus; |
|
$newinststatuses = $othertitle; |
|
if ($newinststatus ne $oldinststatus) { |
|
$changed{'inststatus'} = $changeHash{'inststatus'}; |
|
} |
|
} |
|
} |
|
} |
$changeHash{'portfolioquota'} = $userenv{'portfolioquota'}; |
$changeHash{'portfolioquota'} = $userenv{'portfolioquota'}; |
if ($userenv{'portfolioquota'} ne '') { |
if ($userenv{'portfolioquota'} ne '') { |
$oldportfolioquota = $userenv{'portfolioquota'}; |
$oldportfolioquota = $userenv{'portfolioquota'}; |
Line 2058 sub update_user_data {
|
Line 2175 sub update_user_data {
|
} else { |
} else { |
$changed{'quota'} = "a_admin('',\%changeHash); |
$changed{'quota'} = "a_admin('',\%changeHash); |
$newportfolioquota = $defquota; |
$newportfolioquota = $defquota; |
$newisdefault = 1; |
$newisdefault = 1; |
} |
} |
} else { |
} else { |
$oldisdefault = 1; |
$oldisdefault = 1; |
Line 2084 sub update_user_data {
|
Line 2201 sub update_user_data {
|
} |
} |
&tool_changes('tools',\@usertools,\%oldaccess,\%oldaccesstext,\%userenv, |
&tool_changes('tools',\@usertools,\%oldaccess,\%oldaccesstext,\%userenv, |
\%changeHash,\%changed,\%newaccess,\%newaccesstext); |
\%changeHash,\%changed,\%newaccess,\%newaccesstext); |
&tool_changes('requestcourse',\@requestcourses,\%oldaccess,\%oldaccesstext, |
&tool_changes('requestcourses',\@requestcourses,\%oldaccess,\%oldaccesstext, |
\%userenv, \%changeHash,\%changed,\%newaccess,\%newaccesstext); |
\%userenv, \%changeHash,\%changed,\%newaccess,\%newaccesstext); |
if ($env{'form.cfirstname'} ne $userenv{'firstname'} || |
if ($env{'form.cfirstname'} ne $userenv{'firstname'} || |
$env{'form.cmiddlename'} ne $userenv{'middlename'} || |
$env{'form.cmiddlename'} ne $userenv{'middlename'} || |
Line 2112 sub update_user_data {
|
Line 2229 sub update_user_data {
|
my %newenvhash; |
my %newenvhash; |
foreach my $key (keys(%changed)) { |
foreach my $key (keys(%changed)) { |
if (($key eq 'official') || ($key eq 'unofficial')) { |
if (($key eq 'official') || ($key eq 'unofficial')) { |
$newenvhash{'environment.canrequest.'.$key} = |
$newenvhash{'environment.requestcourses.'.$key} = |
$changeHash{'requestcourse.'.$key}; |
$changeHash{'requestcourses.'.$key}; |
$newenvhash{'environment.canrequest.'.$key} = |
if ($changeHash{'requestcourses.'.$key} ne '') { |
$changeHash{'requestcourse.'.$key}; |
$newenvhash{'environment.canrequest.'.$key} = |
|
$changeHash{'requestcourses.'.$key}; |
|
} else { |
|
$newenvhash{'environment.canrequest.'.$key} = |
|
&Apache::lonnet::usertools_access($env{'user.name'},$env{'user.domain'}, |
|
$key,'reload','requestcourses'); |
|
} |
} elsif ($key ne 'quota') { |
} elsif ($key ne 'quota') { |
$newenvhash{'environment.tools.'.$key} = |
$newenvhash{'environment.tools.'.$key} = |
$changeHash{'tools.'.$key}; |
$changeHash{'tools.'.$key}; |
$newenvhash{'environment.availabletools.'.$key} = |
if ($changeHash{'tools.'.$key} ne '') { |
$changeHash{'tools.'.$key}; |
$newenvhash{'environment.availabletools.'.$key} = |
|
$changeHash{'tools.'.$key}; |
|
} else { |
|
$newenvhash{'environment.availabletools.'.$key} = |
|
&Apache::lonnet::usertools_access($env{'user.name'},$env{'user.domain'}, $key,'reload','tools'); |
|
} |
} |
} |
} |
} |
if (keys(%newenvhash)) { |
if (keys(%newenvhash)) { |
Line 2150 sub update_user_data {
|
Line 2277 sub update_user_data {
|
((keys(%changed) > 0) && $chgresult eq 'ok')) { |
((keys(%changed) > 0) && $chgresult eq 'ok')) { |
# Tell the user we changed the name |
# Tell the user we changed the name |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'uic' => "User Information Changed", |
'uic' => 'User Information Changed', |
'frst' => "First", |
'frst' => 'First Name', |
'mddl' => "Middle", |
'mddl' => 'Middle Name', |
'lst' => "Last", |
'lst' => 'Last Name', |
'gen' => "Generation", |
'gen' => 'Generation', |
'id' => "Student/Employee ID", |
'id' => 'Student/Employee ID', |
'mail' => "Permanent E-mail", |
'mail' => 'Permanent e-mail address', |
'disk' => "Disk space allocated to portfolio files", |
'disk' => 'Disk space allocated to portfolio files', |
'blog' => "Blog Availability", |
'blog' => 'Blog Availability', |
'aboutme' => "Home Page Availability", |
'aboutme' => 'Personal Information Page Availability', |
'portfolio' => "Portfolio Availability", |
'portfolio' => 'Portfolio Availability', |
'official' => "Can Request Official Courses", |
'official' => 'Can Request Official Courses', |
'unofficial' => "Can Request Unofficial Courses", |
'unofficial' => 'Can Request Unofficial Courses', |
'prvs' => "Previous", |
'inststatus' => "Affiliation", |
'chto' => "Changed To" |
'prvs' => 'Previous Value:', |
|
'chto' => 'Changed To:' |
); |
); |
$r->print('<h4>'.$lt{'uic'}.'</h4>'. |
$r->print('<h4>'.$lt{'uic'}.'</h4>'. |
&Apache::loncommon::start_data_table(). |
&Apache::loncommon::start_data_table(). |
Line 2178 sub update_user_data {
|
Line 2306 sub update_user_data {
|
<th>$lt{'id'}</th> |
<th>$lt{'id'}</th> |
<th>$lt{'mail'}</th> |
<th>$lt{'mail'}</th> |
END |
END |
|
if ($showinststatus) { |
|
$r->print(" |
|
<th>$lt{'inststatus'}</th>\n"); |
|
} |
if ($showrequestcourses) { |
if ($showrequestcourses) { |
foreach my $item (@requestcourses) { |
foreach my $item (@requestcourses) { |
$r->print(" |
$r->print(" |
Line 2205 END
|
Line 2337 END
|
<td>$userenv{'id'}</td> |
<td>$userenv{'id'}</td> |
<td>$userenv{'permanentemail'} </td> |
<td>$userenv{'permanentemail'} </td> |
END |
END |
|
if ($showinststatus) { |
|
$r->print(" |
|
<td>$oldinststatuses</td>\n"); |
|
} |
if ($showrequestcourses) { |
if ($showrequestcourses) { |
foreach my $item (@requestcourses) { |
foreach my $item (@requestcourses) { |
$r->print(" |
$r->print(" |
Line 2232 END
|
Line 2368 END
|
<td>$env{'form.cid'} </td> |
<td>$env{'form.cid'} </td> |
<td>$env{'form.cpermanentemail'} </td> |
<td>$env{'form.cpermanentemail'} </td> |
END |
END |
|
if ($showinststatus) { |
|
$r->print(" |
|
<td>$newinststatuses</td>\n"); |
|
} |
if ($showrequestcourses) { |
if ($showrequestcourses) { |
foreach my $item (@requestcourses) { |
foreach my $item (@requestcourses) { |
$r->print(" |
$r->print(" |
Line 2281 END
|
Line 2421 END
|
# but we can still tell them what the name and quota and availabilities are |
# but we can still tell them what the name and quota and availabilities are |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'id' => "Student/Employee ID", |
'id' => "Student/Employee ID", |
'mail' => "Permanent e-mail", |
'mail' => "Permanent e-mail address", |
'disk' => "Disk space allocated to user's portfolio files", |
'disk' => "Disk space allocated to user's portfolio files", |
'blog' => "Blog Availability", |
'blog' => "Blog Availability", |
'aboutme' => "Home Page Availability", |
'aboutme' => "Personal Information Page Availability", |
'portfolio' => "Portfolio Availability", |
'portfolio' => "Portfolio Availability", |
'official' => "Can Request Official Courses", |
'official' => "Can Request Official Courses", |
'unofficial' => "Can Request Unofficial Course", |
'unofficial' => "Can Request Unofficial Course", |
|
'inststatus' => "Affiliation", |
); |
); |
$r->print(<<"END"); |
$r->print(<<"END"); |
<h4>$userenv{'firstname'} $userenv{'middlename'} $userenv{'lastname'} $userenv{'generation'} |
<h4>$userenv{'firstname'} $userenv{'middlename'} $userenv{'lastname'} $userenv{'generation'} |
Line 2296 END
|
Line 2437 END
|
$r->print('<br />['.$lt{'mail'}.': '. |
$r->print('<br />['.$lt{'mail'}.': '. |
$userenv{'permanentemail'}.']'); |
$userenv{'permanentemail'}.']'); |
} |
} |
|
if ($showinststatus) { |
|
$r->print('<br />['.$lt{'inststatus'}.': '.$oldinststatuses.']'); |
|
} |
if ($showrequestcourses) { |
if ($showrequestcourses) { |
foreach my $item (@requestcourses) { |
foreach my $item (@requestcourses) { |
$r->print('<br />['.$lt{$item}.': '.$newaccess{$item}.' '. |
$r->print('<br />['.$lt{$item}.': '.$newaccess{$item}.' '. |
Line 2397 sub tool_changes {
|
Line 2541 sub tool_changes {
|
} else { |
} else { |
$oldaccesstext->{$tool} = &mt("availability set to 'off'"); |
$oldaccesstext->{$tool} = &mt("availability set to 'off'"); |
} |
} |
$changeHash->{$context.'.'.$tool} = $userenv->{'tools.'.$tool}; |
$changeHash->{$context.'.'.$tool} = $userenv->{$context.'.'.$tool}; |
if ($env{'form.custom'.$tool} == 1) { |
if ($env{'form.custom'.$tool} == 1) { |
if ($env{'form.'.$context.'_'.$tool} ne $userenv->{'tools.'.$tool}) { |
if ($env{'form.'.$context.'_'.$tool} ne $userenv->{$context.'.'.$tool}) { |
$changed->{$tool} = &tool_admin($tool,$env{'form.'.$context.'_'.$tool}, |
$changed->{$tool} = &tool_admin($tool,$env{'form.'.$context.'_'.$tool}, |
$changeHash,$context); |
$changeHash,$context); |
if ($changed->{$tool}) { |
if ($changed->{$tool}) { |
Line 2823 sub quota_admin {
|
Line 2967 sub quota_admin {
|
sub tool_admin { |
sub tool_admin { |
my ($tool,$settool,$changeHash,$context) = @_; |
my ($tool,$settool,$changeHash,$context) = @_; |
my $canchange = 0; |
my $canchange = 0; |
if ($context eq 'requestcourse') { |
if ($context eq 'requestcourses') { |
if (&Apache::lonnet::allowed('ccc',$env{'form.ccdomain'})) { |
if (&Apache::lonnet::allowed('ccc',$env{'form.ccdomain'})) { |
$canchange = 1; |
$canchange = 1; |
} |
} |
Line 3009 ENDCCF
|
Line 3153 ENDCCF
|
'<input type="hidden" name="startrolename" value="'.$env{'form.rolename'}. |
'<input type="hidden" name="startrolename" value="'.$env{'form.rolename'}. |
'" />'."\n".'<input type="hidden" name="currstate" value="" />'."\n". |
'" />'."\n".'<input type="hidden" name="currstate" value="" />'."\n". |
'<input type="reset" value="'.&mt("Reset").'" />'."\n". |
'<input type="reset" value="'.&mt("Reset").'" />'."\n". |
'<input type="submit" value="'.&mt('Define Role').'" /></form>'. |
'<input type="submit" value="'.&mt('Save').'" /></form>'. |
&Apache::loncommon::end_page()); |
&Apache::loncommon::end_page()); |
} |
} |
# -------------------------------------------------------- |
# -------------------------------------------------------- |
Line 3831 ENDSCRIPT
|
Line 3975 ENDSCRIPT
|
my ($visible,$cansetvis,$vismsgs,$visactions) = &visible_in_cat($cdom,$cnum); |
my ($visible,$cansetvis,$vismsgs,$visactions) = &visible_in_cat($cdom,$cnum); |
if (ref($visactions) eq 'HASH') { |
if (ref($visactions) eq 'HASH') { |
if ($visible) { |
if ($visible) { |
$output .= '<p>'.$visactions->{'vis'}.'</p>'; |
$output .= '<p class="LC_info">'.$visactions->{'vis'}.'</p>'; |
} else { |
} else { |
$output .= $visactions->{'miss'}.'<br />'.$visactions->{'yous'}. |
$output .= '<p class="LC_warning">'.$visactions->{'miss'}.'</p>' |
|
.$visactions->{'yous'}. |
'<p>'.$visactions->{'gen'}.'<br />'.$visactions->{'coca'}; |
'<p>'.$visactions->{'gen'}.'<br />'.$visactions->{'coca'}; |
if (ref($vismsgs) eq 'ARRAY') { |
if (ref($vismsgs) eq 'ARRAY') { |
$output .= '<br />'.$visactions->{'make'}.'<ul>'; |
$output .= '<br />'.$visactions->{'make'}.'<ul>'; |
Line 4065 ENDSCRIPT
|
Line 4210 ENDSCRIPT
|
$selflimit = ' '; |
$selflimit = ' '; |
} |
} |
$output .= '<table><tr><td><label>'. |
$output .= '<table><tr><td><label>'. |
'<input type="radio" name="selfenroll_limit" value="0"'.$nolimit.'/>'. |
'<input type="radio" name="selfenroll_limit" value="none"'.$nolimit.'/>'. |
&mt('No limit').'</label></td><td><label>'. |
&mt('No limit').'</label></td><td><label>'. |
'<input type="radio" name="selfenroll_limit" value="allstudents"'.$crslimit.'/>'. |
'<input type="radio" name="selfenroll_limit" value="allstudents"'.$crslimit.'/>'. |
&mt('Limit by total students').'</label></td><td><label>'. |
&mt('Limit by total students').'</label></td><td><label>'. |
Line 4081 ENDSCRIPT
|
Line 4226 ENDSCRIPT
|
} |
} |
$output .= &Apache::lonhtmlcommon::end_pick_box(). |
$output .= &Apache::lonhtmlcommon::end_pick_box(). |
'<br /><input type="button" name="selfenrollconf" value="' |
'<br /><input type="button" name="selfenrollconf" value="' |
.&mt('Save changes').'" onclick="validate_types(this.form);" />' |
.&mt('Save').'" onclick="validate_types(this.form);" />' |
.'<input type="hidden" name="action" value="selfenroll" /></form>'; |
.'<input type="hidden" name="action" value="selfenroll" /></form>'; |
$r->print($output); |
$r->print($output); |
return; |
return; |
Line 4164 sub update_selfenroll_queue {
|
Line 4309 sub update_selfenroll_queue {
|
my $hostname = &Apache::lonnet::hostname($chome); |
my $hostname = &Apache::lonnet::hostname($chome); |
my $protocol = $Apache::lonnet::protocol{$chome}; |
my $protocol = $Apache::lonnet::protocol{$chome}; |
$protocol = 'http' if ($protocol ne 'https'); |
$protocol = 'http' if ($protocol ne 'https'); |
my (@existing,@missingreq,@invalidusers,@limitexceeded,@enrolled,@enrollerrors,); |
my (@existing,@missingreq,@invalidusers,@limitexceeded,@enrolled, |
|
@enrollerrors,@warn_approves,@warn_rejects); |
my $now = time; |
my $now = time; |
my $sender = $env{'user.name'}.':'.$env{'user.domain'}; |
my $sender = $env{'user.name'}.':'.$env{'user.domain'}; |
my $approvedmsg = [{ |
my $approvedmsg = [{ |
Line 4217 sub update_selfenroll_queue {
|
Line 4363 sub update_selfenroll_queue {
|
$stucounts->{'selfenrolled'} ++; |
$stucounts->{'selfenrolled'} ++; |
&Apache::selfenroll::send_notification($uname.':'.$udom,$approvedmsg,$cid, |
&Apache::selfenroll::send_notification($uname.':'.$udom,$approvedmsg,$cid, |
$coursedesc,$now,'enroller',$sender); |
$coursedesc,$now,'enroller',$sender); |
|
my %userrequest = ( |
|
$cdom.'_'.$cnum => { |
|
timestamp => $now, |
|
section => $usec, |
|
adjudicator => $env{'user.name'}.':'.$env{'user.domain'}, |
|
status => 'approved', |
|
} |
|
); |
|
my $userresult = |
|
&Apache::lonnet::put($namespace,\%userrequest,$udom,$uname); |
|
if ($userresult ne 'ok') { |
|
push(@warn_approves,$uname.':'.$udom); |
|
} |
} else { |
} else { |
push(@enrollerrors,$uname.':'.$udom); |
push(@enrollerrors,$uname.':'.$udom); |
} |
} |
Line 4230 sub update_selfenroll_queue {
|
Line 4389 sub update_selfenroll_queue {
|
foreach my $user (@rejections) { |
foreach my $user (@rejections) { |
&Apache::selfenroll::send_notification($user,$rejectedmsg,$cid, |
&Apache::selfenroll::send_notification($user,$rejectedmsg,$cid, |
$coursedesc,$now,'enroller',$sender); |
$coursedesc,$now,'enroller',$sender); |
|
my ($uname,$udom) = split(/:/,$user); |
|
my %userrequest = ( |
|
$cdom.'_'.$cnum => { |
|
timestamp => $now, |
|
adjudicator => $env{'user.name'}.':'.$env{'user.domain'}, |
|
status => 'rejected', |
|
} |
|
); |
|
my $userresult = |
|
&Apache::lonnet::put($namespace,\%userrequest,$udom,$uname); |
|
if ($userresult ne 'ok') { |
|
push(@warn_rejects,$user); |
|
} |
} |
} |
} |
} |
if (@changes) { |
if (@changes) { |
Line 4239 sub update_selfenroll_queue {
|
Line 4411 sub update_selfenroll_queue {
|
&Apache::loncommon::plainname($env{'user.name'},$env{'user.domain'}).' ('.$env{'user.name'}.':'.$env{'user.domain'}.')'; |
&Apache::loncommon::plainname($env{'user.name'},$env{'user.domain'}).' ('.$env{'user.name'}.':'.$env{'user.domain'}.')'; |
my $chgmsg = "'Action was taken on the following enrollment requests by [_1].',$namelink"; |
my $chgmsg = "'Action was taken on the following enrollment requests by [_1].',$namelink"; |
my ($approvedlist,$rejectedlist); |
my ($approvedlist,$rejectedlist); |
if (@enrolled) { |
if (@enrolled) { |
$approvedlist = join("\n",@enrolled); |
$approvedlist = join("\n",@enrolled); |
$r->print('<p>'.&mt('The following were enrolled in the course:').'<ul>'); |
$r->print('<p>'.&mt('The following were enrolled in the course:').'<ul>'); |
foreach my $user (@enrolled) { |
foreach my $user (@enrolled) { |
Line 4298 sub update_selfenroll_queue {
|
Line 4470 sub update_selfenroll_queue {
|
} |
} |
$r->print('</ul></p>'); |
$r->print('</ul></p>'); |
} |
} |
|
if (@warn_approves) { |
|
$r->print('<p>'.&mt("For the following users, an error occurred when updating the user's own self-enroll requests record:").'<ul>'); |
|
foreach my $user (@warn_approves) { |
|
$r->print('<li>'.$user.'</li>'); |
|
} |
|
$r->print('</ul></p>'); |
|
} |
|
if (@warn_rejects) { |
|
$r->print('<p>'.&mt("For the following users, an error occurred when updating the user's own self-enroll requests record:").'<ul>'); |
|
foreach my $user (@warn_rejects) { |
|
$r->print('<li>'.$user.'</li>'); |
|
} |
|
$r->print('</ul></p>'); |
|
} |
return; |
return; |
} |
} |
|
|
Line 4329 sub visible_in_cat {
|
Line 4515 sub visible_in_cat {
|
miss => 'Your course does not currently appear in the Course Catalog for this domain.', |
miss => 'Your course does not currently appear in the Course Catalog for this domain.', |
yous => 'You should remedy this if you plan to allow self-enrollment, otherwise students will have difficulty finding your course.', |
yous => 'You should remedy this if you plan to allow self-enrollment, otherwise students will have difficulty finding your course.', |
coca => 'Courses can be absent from the Catalog, because they do not have an institutional code, have no assigned category, or have been specifically excluded.', |
coca => 'Courses can be absent from the Catalog, because they do not have an institutional code, have no assigned category, or have been specifically excluded.', |
make => 'Make any changes to self-enrollment settings below, click "Save changes", then take action to include the course in the Catalog:', |
make => 'Make any changes to self-enrollment settings below, click "Save", then take action to include the course in the Catalog:', |
take => 'Take the following action to ensure the course appears in the Catalog:', |
take => 'Take the following action to ensure the course appears in the Catalog:', |
dc_unhide => 'Ask a domain coordinator to change the "Exclude from course catalog" setting.', |
dc_unhide => 'Ask a domain coordinator to change the "Exclude from course catalog" setting.', |
dc_addinst => 'Ask a domain coordinator to enable display the catalog of "Official courses (with institutional codes)".', |
dc_addinst => 'Ask a domain coordinator to enable display the catalog of "Official courses (with institutional codes)".', |