version 1.298, 2009/07/17 22:24:08
|
version 1.300, 2009/07/27 14:09:14
|
Line 225 sub build_tools_display {
|
Line 225 sub build_tools_display {
|
'usde' => "Use default", |
'usde' => "Use default", |
'uscu' => "Use custom", |
'uscu' => "Use custom", |
'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', |
|
'community' => 'Can request creation of communities', |
); |
); |
if ($context eq 'requestcourses') { |
if ($context eq 'requestcourses') { |
%userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname, |
%userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname, |
'requestcourses.official','requestcourses.unofficial'); |
'requestcourses.official','requestcourses.unofficial', |
@usertools = ('official','unofficial'); |
'requestcourses.community'); |
|
@usertools = ('official','unofficial','community'); |
} else { |
} else { |
%userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname, |
%userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname, |
'tools.aboutme','tools.portfolio','tools.blog'); |
'tools.aboutme','tools.portfolio','tools.blog'); |
Line 282 sub build_tools_display {
|
Line 284 sub build_tools_display {
|
return $output; |
return $output; |
} |
} |
|
|
|
sub coursereq_externaluser { |
|
my ($ccuname,$ccdomain,$cdom) = @_; |
|
my (@usertools,%userenv,$output); |
|
my %lt = &Apache::lonlocal::texthash ( |
|
'official' => 'Can request creation of official courses', |
|
'unofficial' => 'Can request creation of unofficial courses', |
|
'community' => 'Can request creation of communities', |
|
); |
|
|
|
%userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname, |
|
'reqcrsotherdom.official','reqcrsotherdom.unofficial', |
|
'reqcrsotherdom.community'); |
|
@usertools = ('official','unofficial','community'); |
|
foreach my $item (@usertools) { |
|
my ($tool_on,$tool_off); |
|
$tool_off = 'checked="checked" '; |
|
if ($userenv{'reqcrsotherdom.'.$item} ne '') { |
|
my @curr = split(',',$userenv{'reqcrsotherdom.'.$item}); |
|
if (grep(/^\Q$cdom\E$/,@curr)) { |
|
$tool_on = 'checked="checked" '; |
|
$tool_off = ''; |
|
} |
|
} |
|
$output .= &Apache::loncommon::start_data_table_row()."\n". |
|
' <td><span class="LC_nobreak">'.$lt{$item}.': <label>'. |
|
'<input type="radio" name="reqcrsotherdom_'.$item.'" value="1" '. |
|
$tool_on.'/>'.&mt('Yes').'</label> <label>'. |
|
'<input type="radio" name="reqcrsotherdom_'.$item.'" value="0" '. |
|
$tool_off.'/>'.&mt('No').'</label></span></td>'."\n". |
|
&Apache::loncommon::end_data_table_row()."\n"; |
|
} |
|
return $output; |
|
} |
|
|
# =================================================================== Phase one |
# =================================================================== Phase one |
|
|
sub print_username_entry_form { |
sub print_username_entry_form { |
Line 873 ENDCHANGEUSER
|
Line 909 ENDCHANGEUSER
|
$r->print(&Apache::lonuserutils::forceid_change($context)); |
$r->print(&Apache::lonuserutils::forceid_change($context)); |
} |
} |
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 in this Domain?').'</h3>'. |
&Apache::loncommon::start_data_table(). |
&Apache::loncommon::start_data_table()); |
&build_tools_display($ccuname,$ccdomain,'requestcourses'). |
if ($env{'request.role.domain'} eq $ccdomain) { |
&Apache::loncommon::end_data_table()); |
$r->print(&build_tools_display($ccuname,$ccdomain,'requestcourses')); |
|
} else { |
|
$r->print(&coursereq_externaluser($ccuname,$ccdomain, |
|
$env{'request.role.domain'})); |
|
} |
|
$r->print(&Apache::loncommon::end_data_table()); |
} |
} |
$r->print('</div>'); |
$r->print('</div>'); |
my $user_auth_text = &user_authentication($ccuname,$ccdomain,$formname); |
my $user_auth_text = &user_authentication($ccuname,$ccdomain,$formname); |
Line 1861 sub update_user_data {
|
Line 1902 sub update_user_data {
|
$env{'form.ccuname'}, $env{'form.ccdomain'}).'</h3>'); |
$env{'form.ccuname'}, $env{'form.ccdomain'}).'</h3>'); |
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','community'); |
my ($othertitle,$usertypes,$types) = |
my ($othertitle,$usertypes,$types) = |
&Apache::loncommon::sorted_inst_types($env{'form.ccdomain'}); |
&Apache::loncommon::sorted_inst_types($env{'form.ccdomain'}); |
if ($env{'form.makeuser'}) { |
if ($env{'form.makeuser'}) { |
Line 1998 sub update_user_data {
|
Line 2039 sub update_user_data {
|
('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','requestcourses.official', |
'tools.blog','tools.portfolio','requestcourses.official', |
'requestcourses.unofficial'], |
'requestcourses.unofficial','requestcourses.community', |
|
'reqcrsotherdom.official','reqcrsotherdom.unofficial', |
|
'reqcrsotherdom.community'], |
$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 2127 sub update_user_data {
|
Line 2170 sub update_user_data {
|
$oldinststatuses,$newinststatuses); |
$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,$showinststatus); |
my ($showquota,$showtools,$showrequestcourses,$showinststatus,$showreqotherdom); |
if (&Apache::lonnet::allowed('mpq',$env{'form.ccdomain'})) { |
if (&Apache::lonnet::allowed('mpq',$env{'form.ccdomain'})) { |
$showquota = 1; |
$showquota = 1; |
} |
} |
Line 2136 sub update_user_data {
|
Line 2179 sub update_user_data {
|
} |
} |
if (&Apache::lonnet::allowed('ccc',$env{'form.ccdomain'})) { |
if (&Apache::lonnet::allowed('ccc',$env{'form.ccdomain'})) { |
$showrequestcourses = 1; |
$showrequestcourses = 1; |
|
} elsif (&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) { |
|
$showreqotherdom = 1; |
} |
} |
if (&Apache::lonnet::allowed('mau',$env{'form.ccdomain'})) { |
if (&Apache::lonnet::allowed('mau',$env{'form.ccdomain'})) { |
$showinststatus = 1; |
$showinststatus = 1; |
Line 2219 sub update_user_data {
|
Line 2264 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('requestcourses',\@requestcourses,\%oldaccess,\%oldaccesstext, |
if ($env{'form.ccdomain'} eq $env{'request.role.domain'}) { |
\%userenv, \%changeHash,\%changed,\%newaccess,\%newaccesstext); |
&tool_changes('requestcourses',\@requestcourses,\%oldaccess,\%oldaccesstext, |
|
\%userenv,\%changeHash,\%changed,\%newaccess,\%newaccesstext); |
|
} else { |
|
&tool_changes('reqcrsotherdom',\@requestcourses,\%oldaccess,\%oldaccesstext, |
|
\%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'} || |
$env{'form.clastname'} ne $userenv{'lastname'} || |
$env{'form.clastname'} ne $userenv{'lastname'} || |
Line 2246 sub update_user_data {
|
Line 2297 sub update_user_data {
|
($env{'user.domain'} eq $env{'form.ccdomain'})) { |
($env{'user.domain'} eq $env{'form.ccdomain'})) { |
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') |
|
|| ($key eq 'community')) { |
$newenvhash{'environment.requestcourses.'.$key} = |
$newenvhash{'environment.requestcourses.'.$key} = |
$changeHash{'requestcourses.'.$key}; |
$changeHash{'requestcourses.'.$key}; |
if ($changeHash{'requestcourses.'.$key} ne '') { |
if ($changeHash{'requestcourses.'.$key} ne '') { |
Line 2308 sub update_user_data {
|
Line 2360 sub update_user_data {
|
'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', |
|
'community' => 'Can Request Communities', |
'inststatus' => "Affiliation", |
'inststatus' => "Affiliation", |
'prvs' => 'Previous Value:', |
'prvs' => 'Previous Value:', |
'chto' => 'Changed To:' |
'chto' => 'Changed To:' |
Line 2333 END
|
Line 2386 END
|
$r->print(" |
$r->print(" |
<th>$lt{$item}</th>\n"); |
<th>$lt{$item}</th>\n"); |
} |
} |
|
} elsif ($showreqotherdom) { |
|
foreach my $item (@requestcourses) { |
|
$r->print(" |
|
<th>$lt{$item}</th>\n"); |
|
} |
} |
} |
if ($showquota) { |
if ($showquota) { |
$r->print(" |
$r->print(" |
Line 2364 END
|
Line 2422 END
|
$r->print(" |
$r->print(" |
<td>$oldaccess{$item} $oldaccesstext{$item}</td>\n"); |
<td>$oldaccess{$item} $oldaccesstext{$item}</td>\n"); |
} |
} |
|
} elsif ($showreqotherdom) { |
|
foreach my $item (@requestcourses) { |
|
$r->print(" |
|
<td>$oldaccess{$item} $oldaccesstext{$item}</td>\n"); |
|
} |
} |
} |
if ($showquota) { |
if ($showquota) { |
$r->print(" |
$r->print(" |
Line 2395 END
|
Line 2458 END
|
$r->print(" |
$r->print(" |
<td>$newaccess{$item} $newaccesstext{$item} </td>\n"); |
<td>$newaccess{$item} $newaccesstext{$item} </td>\n"); |
} |
} |
|
} elsif ($showreqotherdom) { |
|
foreach my $item (@requestcourses) { |
|
$r->print(" |
|
<td>$newaccess{$item} $newaccesstext{$item} </td>\n"); |
|
} |
} |
} |
if ($showquota) { |
if ($showquota) { |
$r->print(" |
$r->print(" |
Line 2445 END
|
Line 2513 END
|
'aboutme' => "Personal Information 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 Courses", |
|
'community' => "Can Request Communities", |
'inststatus' => "Affiliation", |
'inststatus' => "Affiliation", |
); |
); |
$r->print(<<"END"); |
$r->print(<<"END"); |
Line 2463 END
|
Line 2532 END
|
$r->print('<br />['.$lt{$item}.': '.$newaccess{$item}.' '. |
$r->print('<br />['.$lt{$item}.': '.$newaccess{$item}.' '. |
$newaccesstext{$item}.']'."\n"); |
$newaccesstext{$item}.']'."\n"); |
} |
} |
|
} elsif ($showreqotherdom) { |
|
foreach my $item (@requestcourses) { |
|
$r->print('<br />['.$lt{$item}.': '.$newaccess{$item}.' '. |
|
$newaccesstext{$item}.']'."\n"); |
|
} |
} |
} |
if ($showtools) { |
if ($showtools) { |
foreach my $item (@usertools) { |
foreach my $item (@usertools) { |
Line 2554 sub tool_changes {
|
Line 2628 sub tool_changes {
|
(ref($newaccess) eq 'HASH') && (ref($newaccesstext) eq 'HASH'))) { |
(ref($newaccess) eq 'HASH') && (ref($newaccesstext) eq 'HASH'))) { |
return; |
return; |
} |
} |
|
if ($context eq 'reqcrsotherdom') { |
|
my $cdom = $env{'request.role.domain'}; |
|
foreach my $tool (@{$usertools}) { |
|
$oldaccesstext->{$tool} = &mt('no'); |
|
$changeHash->{$context.'.'.$tool} = $userenv->{$context.'.'.$tool}; |
|
if ($userenv->{$context.'.'.$tool} eq '') { |
|
if ($env{'form.'.$context.'_'.$tool}) { |
|
$changed->{$tool}=&tool_admin($tool,$cdom, |
|
$changeHash,$context); |
|
if ($changed->{$tool}) { |
|
$newaccesstext->{$tool} = &mt('yes'); |
|
} else { |
|
$newaccesstext->{$tool} = $oldaccesstext->{$tool}; |
|
} |
|
} |
|
} else { |
|
my @curr = split(',',$userenv->{$context.'.'.$tool}); |
|
my @new; |
|
my $changedoms; |
|
if (grep(/^\Q$cdom\E$/,@curr)) { |
|
$oldaccesstext->{$tool} = &mt('yes'); |
|
unless ($env{'form.'.$context.'_'.$tool}) { |
|
$changedoms = 1; |
|
foreach my $dom (@curr) { |
|
unless ($dom eq $cdom) { |
|
push(@new,$dom); |
|
} |
|
} |
|
} |
|
} elsif ($env{'form.'.$context.'_'.$tool}) { |
|
$changedoms = 1; |
|
@new = sort(@curr,$cdom); |
|
} |
|
$newaccesstext->{$tool} = $oldaccesstext->{$tool}; |
|
if ($changedoms) { |
|
my $newdomstr; |
|
if (@new) { |
|
$newdomstr = join(',',@new); |
|
} |
|
$changed->{$tool}=&tool_admin($tool,$newdomstr,$changeHash, |
|
$context); |
|
if ($changed->{$tool}) { |
|
if ($env{'form.'.$context.'_'.$tool}) { |
|
$newaccesstext->{$tool} = &mt('yes'); |
|
} else { |
|
$newaccesstext->{$tool} = &mt('no'); |
|
} |
|
} |
|
} |
|
} |
|
} |
|
return; |
|
} |
foreach my $tool (@{$usertools}) { |
foreach my $tool (@{$usertools}) { |
if ($userenv->{$context.'.'.$tool} ne '') { |
if ($userenv->{$context.'.'.$tool} ne '') { |
$oldaccess->{$tool} = &mt('custom'); |
$oldaccess->{$tool} = &mt('custom'); |
Line 2593 sub tool_changes {
|
Line 2720 sub tool_changes {
|
} else { |
} else { |
$newaccess->{$tool} = $oldaccess->{$tool}; |
$newaccess->{$tool} = $oldaccess->{$tool}; |
if ($userenv->{$context.'.'.$tool}) { |
if ($userenv->{$context.'.'.$tool}) { |
$newaccesstext->{$tool} = &mt("availability set to 'on'"); |
$newaccesstext->{$tool} = &mt("availability set to 'on'"); |
} else { |
} else { |
$newaccesstext->{$tool} = &mt("availability set to 'off'"); |
$newaccesstext->{$tool} = &mt("availability set to 'off'"); |
} |
} |
} |
} |
} |
} |
Line 2992 sub tool_admin {
|
Line 3119 sub tool_admin {
|
if (&Apache::lonnet::allowed('ccc',$env{'form.ccdomain'})) { |
if (&Apache::lonnet::allowed('ccc',$env{'form.ccdomain'})) { |
$canchange = 1; |
$canchange = 1; |
} |
} |
|
} elsif ($context eq 'reqcrsotherdom') { |
|
if (&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) { |
|
$canchange = 1; |
|
} |
} elsif (&Apache::lonnet::allowed('mut',$env{'form.ccdomain'})) { |
} elsif (&Apache::lonnet::allowed('mut',$env{'form.ccdomain'})) { |
# Current user has quota modification privileges |
# Current user has quota modification privileges |
$canchange = 1; |
$canchange = 1; |