version 1.406.2.13, 2017/03/26 23:33:46
|
version 1.429, 2017/01/18 21:00:05
|
Line 252 sub build_tools_display {
|
Line 252 sub build_tools_display {
|
'unofficial' => 'Can request creation of unofficial courses', |
'unofficial' => 'Can request creation of unofficial courses', |
'community' => 'Can request creation of communities', |
'community' => 'Can request creation of communities', |
'textbook' => 'Can request creation of textbook courses', |
'textbook' => 'Can request creation of textbook courses', |
|
'placement' => 'Can request creation of placement tests', |
'requestauthor' => 'Can request author space', |
'requestauthor' => 'Can request author space', |
); |
); |
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', |
'requestcourses.community','requestcourses.textbook'); |
'requestcourses.community','requestcourses.textbook', |
@usertools = ('official','unofficial','community','textbook'); |
'requestcourses.placement'); |
|
@usertools = ('official','unofficial','community','textbook','placement'); |
@options =('norequest','approval','autolimit','validate'); |
@options =('norequest','approval','autolimit','validate'); |
%validations = &Apache::lonnet::auto_courserequest_checks($ccdomain); |
%validations = &Apache::lonnet::auto_courserequest_checks($ccdomain); |
%reqtitles = &courserequest_titles(); |
%reqtitles = &courserequest_titles(); |
Line 333 sub build_tools_display {
|
Line 335 sub build_tools_display {
|
' <td'.$colspan.'>'.$lt{$item}.'</td>'."\n". |
' <td'.$colspan.'>'.$lt{$item}.'</td>'."\n". |
' </tr>'."\n". |
' </tr>'."\n". |
&Apache::loncommon::start_data_table_row()."\n"; |
&Apache::loncommon::start_data_table_row()."\n"; |
|
|
if (($context eq 'requestcourses') || ($context eq 'requestauthor')) { |
if (($context eq 'requestcourses') || ($context eq 'requestauthor')) { |
my ($curroption,$currlimit); |
my ($curroption,$currlimit); |
my $envkey = $context.'.'.$item; |
my $envkey = $context.'.'.$item; |
Line 451 sub coursereq_externaluser {
|
Line 454 sub coursereq_externaluser {
|
'unofficial' => 'Can request creation of unofficial courses', |
'unofficial' => 'Can request creation of unofficial courses', |
'community' => 'Can request creation of communities', |
'community' => 'Can request creation of communities', |
'textbook' => 'Can request creation of textbook courses', |
'textbook' => 'Can request creation of textbook courses', |
|
'placement' => 'Can request creation of placement tests', |
); |
); |
|
|
%userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname, |
%userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname, |
'reqcrsotherdom.official','reqcrsotherdom.unofficial', |
'reqcrsotherdom.official','reqcrsotherdom.unofficial', |
'reqcrsotherdom.community','reqcrsotherdom.textbook'); |
'reqcrsotherdom.community','reqcrsotherdom.textbook', |
@usertools = ('official','unofficial','community','textbook'); |
'reqcrsotherdom.placement'); |
|
@usertools = ('official','unofficial','community','textbook','placement'); |
@options = ('approval','validate','autolimit'); |
@options = ('approval','validate','autolimit'); |
%validations = &Apache::lonnet::auto_courserequest_checks($cdom); |
%validations = &Apache::lonnet::auto_courserequest_checks($cdom); |
my $optregex = join('|',@options); |
my $optregex = join('|',@options); |
Line 537 sub courserequest_titles {
|
Line 542 sub courserequest_titles {
|
unofficial => 'Unofficial', |
unofficial => 'Unofficial', |
community => 'Communities', |
community => 'Communities', |
textbook => 'Textbook', |
textbook => 'Textbook', |
|
placement => 'Placement Tests', |
norequest => 'Not allowed', |
norequest => 'Not allowed', |
approval => 'Approval by Dom. Coord.', |
approval => 'Approval by Dom. Coord.', |
validate => 'With validation', |
validate => 'With validation', |
Line 749 sub print_username_entry_form {
|
Line 755 sub print_username_entry_form {
|
} |
} |
} else { |
} else { |
my $actiontext = $lt{'srad'}; |
my $actiontext = $lt{'srad'}; |
my $fixeddom; |
|
if ($env{'form.action'} eq 'singlestudent') { |
if ($env{'form.action'} eq 'singlestudent') { |
if ($crstype eq 'Community') { |
if ($crstype eq 'Community') { |
$actiontext = $lt{'srme'}; |
$actiontext = $lt{'srme'}; |
Line 758 sub print_username_entry_form {
|
Line 763 sub print_username_entry_form {
|
} |
} |
} elsif ($env{'form.action'} eq 'accesslogs') { |
} elsif ($env{'form.action'} eq 'accesslogs') { |
$actiontext = $lt{'srva'}; |
$actiontext = $lt{'srva'}; |
$fixeddom = 1; |
|
} elsif (($env{'form.action'} eq 'singleuser') && |
} elsif (($env{'form.action'} eq 'singleuser') && |
($context eq 'domain') && (!&Apache::lonnet::allowed('mau',$defdom))) { |
($context eq 'domain') && (!&Apache::lonnet::allowed('mau',$defdom))) { |
$actiontext = $lt{'srvu'}; |
$actiontext = $lt{'srvu'}; |
Line 770 sub print_username_entry_form {
|
Line 774 sub print_username_entry_form {
|
'<br clear="all" />'); |
'<br clear="all" />'); |
} |
} |
} |
} |
$r->print(&entry_form($defdom,$srch,$forcenewuser,$context,$response,$crstype,$fixeddom)); |
$r->print(&entry_form($defdom,$srch,$forcenewuser,$context,$response,$crstype,1)); |
} |
} |
} |
} |
|
|
Line 856 ENDBLOCK
|
Line 860 ENDBLOCK
|
$output = '<p>'.$userpicker.'</p>'; |
$output = '<p>'.$userpicker.'</p>'; |
} |
} |
if (($env{'form.phase'} eq '') && ($env{'form.action'} ne 'accesslogs') && |
if (($env{'form.phase'} eq '') && ($env{'form.action'} ne 'accesslogs') && |
(!(($env{'form.action'} eq 'singleuser') && ($context eq 'domain') && |
(!(($env{'form.action'} eq 'singleuser') && ($context eq 'domain') && |
(!&Apache::lonnet::allowed('mau',$env{'request.role.domain'}))))) { |
(!&Apache::lonnet::allowed('mau',$env{'request.role.domain'}))))) { |
my $defdom=$env{'request.role.domain'}; |
my $defdom=$env{'request.role.domain'}; |
my $domform = &Apache::loncommon::select_dom_form($defdom,'srchdomain'); |
my $domform = &Apache::loncommon::select_dom_form($defdom,'srchdomain'); |
Line 1431 ENDAUTH
|
Line 1435 ENDAUTH
|
$r->print('<div class="LC_left_float">'); |
$r->print('<div class="LC_left_float">'); |
$r->print(&personal_data_display($ccuname,$ccdomain,$newuser,$context, |
$r->print(&personal_data_display($ccuname,$ccdomain,$newuser,$context, |
$inst_results{$ccuname.':'.$ccdomain})); |
$inst_results{$ccuname.':'.$ccdomain})); |
if ((&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) || |
if ((&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) || |
(&Apache::lonnet::allowed('udp',$env{'request.role.domain'}))) { |
(&Apache::lonnet::allowed('udp',$env{'request.role.domain'}))) { |
$r->print('<br /><h3>'.&mt('User Can Request Creation of Courses/Communities in this Domain?').'</h3>'. |
$r->print('<br /><h3>'.&mt('User Can Request Creation of Courses/Communities in this Domain?').'</h3>'. |
&Apache::loncommon::start_data_table()); |
&Apache::loncommon::start_data_table()); |
Line 1451 ENDAUTH
|
Line 1455 ENDAUTH
|
if ((!$isauthor) && |
if ((!$isauthor) && |
((&Apache::lonnet::allowed('cau',$env{'request.role.domain'})) || |
((&Apache::lonnet::allowed('cau',$env{'request.role.domain'})) || |
(&Apache::lonnet::allowed('udp',$env{'request.role.domain'}))) && |
(&Apache::lonnet::allowed('udp',$env{'request.role.domain'}))) && |
($env{'request.role.domain'} eq $ccdomain)) { |
($env{'request.role.domain'} eq $ccdomain)) { |
$user_text{'requestauthor'} = &domainrole_req($ccuname,$ccdomain); |
$user_text{'requestauthor'} = &domainrole_req($ccuname,$ccdomain); |
} |
} |
$user_text{'auth'} = &user_authentication($ccuname,$ccdomain,$formname); |
$user_text{'auth'} = &user_authentication($ccuname,$ccdomain,$formname); |
Line 1522 ENDNOTOOLSPRIV
|
Line 1526 ENDNOTOOLSPRIV
|
} elsif (($context eq 'course') && ((&Apache::lonnet::allowed('vcl',$env{'request.course.id'})) || |
} elsif (($context eq 'course') && ((&Apache::lonnet::allowed('vcl',$env{'request.course.id'})) || |
($env{'request.course.sec'} && |
($env{'request.course.sec'} && |
&Apache::lonnet::allowed('vcl',$env{'request.course.id'}.'/'.$env{'request.course.sec'})))) { |
&Apache::lonnet::allowed('vcl',$env{'request.course.id'}.'/'.$env{'request.course.sec'})))) { |
$statuses = ['active']; |
$statuses = ['active']; |
} |
} |
if ($env{'form.action'} ne 'singlestudent') { |
if ($env{'form.action'} ne 'singlestudent') { |
&display_existing_roles($r,$ccuname,$ccdomain,\%inccourses,$context, |
&display_existing_roles($r,$ccuname,$ccdomain,\%inccourses,$context, |
Line 1756 sub display_existing_roles {
|
Line 1760 sub display_existing_roles {
|
if ($active) { |
if ($active) { |
next unless($showall || $showactive); |
next unless($showall || $showactive); |
} else { |
} else { |
next unless($showall || $showexpired); |
next unless($showall || $showexpired); |
} |
} |
# Is this a custom role? Get role owner and title. |
# Is this a custom role? Get role owner and title. |
my ($croleudom,$croleuname,$croletitle)= |
my ($croleudom,$croleuname,$croletitle)= |
Line 1901 sub display_existing_roles {
|
Line 1905 sub display_existing_roles {
|
} else { |
} else { |
$row.=' '; |
$row.=' '; |
} |
} |
$row.= '</td>'; |
$row.= '</td>'; |
} |
} |
my $plaintext=''; |
my $plaintext=''; |
if (!$croletitle) { |
if (!$croletitle) { |
Line 2170 $lt{'uuas'} ($currentauth). $lt{'adcs'}.
|
Line 2174 $lt{'uuas'} ($currentauth). $lt{'adcs'}.
|
ENDBADAUTH |
ENDBADAUTH |
} |
} |
} else { # Authentication type is valid |
} else { # Authentication type is valid |
|
|
&initialize_authen_forms($ccdomain,$formname,$currentauth,'modifyuser'); |
&initialize_authen_forms($ccdomain,$formname,$currentauth,'modifyuser'); |
my ($authformcurrent,$can_modify,@authform_others) = |
my ($authformcurrent,$can_modify,@authform_others) = |
&modify_login_block($ccdomain,$currentauth); |
&modify_login_block($ccdomain,$currentauth); |
Line 2728 sub update_user_data {
|
Line 2733 sub update_user_data {
|
my (%alerts,%rulematch,%inst_results,%curr_rules); |
my (%alerts,%rulematch,%inst_results,%curr_rules); |
my @userinfo = ('firstname','middlename','lastname','generation','permanentemail','id'); |
my @userinfo = ('firstname','middlename','lastname','generation','permanentemail','id'); |
my @usertools = ('aboutme','blog','webdav','portfolio'); |
my @usertools = ('aboutme','blog','webdav','portfolio'); |
my @requestcourses = ('official','unofficial','community','textbook'); |
my @requestcourses = ('official','unofficial','community','textbook','placement'); |
my @requestauthor = ('requestauthor'); |
my @requestauthor = ('requestauthor'); |
my ($othertitle,$usertypes,$types) = |
my ($othertitle,$usertypes,$types) = |
&Apache::loncommon::sorted_inst_types($env{'form.ccdomain'}); |
&Apache::loncommon::sorted_inst_types($env{'form.ccdomain'}); |
Line 2901 sub update_user_data {
|
Line 2906 sub update_user_data {
|
'requestcourses.community','requestcourses.textbook', |
'requestcourses.community','requestcourses.textbook', |
'reqcrsotherdom.official','reqcrsotherdom.unofficial', |
'reqcrsotherdom.official','reqcrsotherdom.unofficial', |
'reqcrsotherdom.community','reqcrsotherdom.textbook', |
'reqcrsotherdom.community','reqcrsotherdom.textbook', |
'requestauthor'], |
'reqcrsotherdom.placement','requestauthor'], |
$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 3192 sub update_user_data {
|
Line 3197 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') || ($key eq 'textbook')) { |
($key eq 'community') || ($key eq 'textbook') || |
|
($key eq 'placement')) { |
$newenvhash{'environment.requestcourses.'.$key} = |
$newenvhash{'environment.requestcourses.'.$key} = |
$changeHash{'requestcourses.'.$key}; |
$changeHash{'requestcourses.'.$key}; |
if ($changeHash{'requestcourses.'.$key}) { |
if ($changeHash{'requestcourses.'.$key}) { |
Line 3259 sub update_user_data {
|
Line 3265 sub update_user_data {
|
\%newsettingstext); |
\%newsettingstext); |
if ($env{'form.cid'} ne $userenv{'id'}) { |
if ($env{'form.cid'} ne $userenv{'id'}) { |
&Apache::lonnet::idput($env{'form.ccdomain'}, |
&Apache::lonnet::idput($env{'form.ccdomain'}, |
{$env{'form.ccuname'} => $env{'form.cid'}}); |
{$env{'form.ccuname'} => $env{'form.cid'}},$uhome,'ids'); |
if (($recurseid) && |
if (($recurseid) && |
(&Apache::lonnet::allowed('mau',$env{'form.ccdomain'}))) { |
(&Apache::lonnet::allowed('mau',$env{'form.ccdomain'}))) { |
my $idresult = |
my $idresult = |
Line 3402 sub display_userinfo {
|
Line 3408 sub display_userinfo {
|
'unofficial' => 'Can Request Unofficial Courses', |
'unofficial' => 'Can Request Unofficial Courses', |
'community' => 'Can Request Communities', |
'community' => 'Can Request Communities', |
'textbook' => 'Can Request Textbook Courses', |
'textbook' => 'Can Request Textbook Courses', |
|
'placement' => 'Can Request Placement Tests', |
'requestauthor' => 'Can Request Author Role', |
'requestauthor' => 'Can Request Author Role', |
'inststatus' => "Affiliation", |
'inststatus' => "Affiliation", |
'prvs' => 'Previous Value:', |
'prvs' => 'Previous Value:', |
Line 4377 sub custom_role_editor {
|
Line 4384 sub custom_role_editor {
|
); |
); |
my $args = { bread_crumbs => $brcrum, |
my $args = { bread_crumbs => $brcrum, |
bread_crumbs_component => 'User Management'}; |
bread_crumbs_component => 'User Management'}; |
|
|
$r->print(&Apache::loncommon::start_page('Custom Role Editor', |
$r->print(&Apache::loncommon::start_page('Custom Role Editor', |
$head_script,$args). |
$head_script,$args). |
$body_top); |
$body_top); |
Line 5017 sub handler {
|
Line 5025 sub handler {
|
} elsif ($env{'form.state'} eq 'done') { |
} elsif ($env{'form.state'} eq 'done') { |
$r->print('<h3>'.&mt('Enrollment request processing').'</h3>'."\n"); |
$r->print('<h3>'.&mt('Enrollment request processing').'</h3>'."\n"); |
$r->print(&Apache::loncoursequeueadmin::update_request_queue($context, |
$r->print(&Apache::loncoursequeueadmin::update_request_queue($context, |
$cdom,$cnum,$coursedesc)); |
$cdom,$cnum,$coursedesc)); |
} |
} |
} else { |
} else { |
$r->print(&header(undef,{'no_nav_bar' => 1}). |
$r->print(&header(undef,{'no_nav_bar' => 1}). |
Line 5037 sub handler {
|
Line 5045 sub handler {
|
&update_helpdeskaccess($r,$permission,$brcrum); |
&update_helpdeskaccess($r,$permission,$brcrum); |
} else { |
} else { |
&print_helpdeskaccess_display($r,$permission,$brcrum); |
&print_helpdeskaccess_display($r,$permission,$brcrum); |
} |
} |
} else { |
} else { |
&print_helpdeskaccess_display($r,$permission,$brcrum); |
&print_helpdeskaccess_display($r,$permission,$brcrum); |
} |
} |
Line 5298 sub print_main_menu {
|
Line 5306 sub print_main_menu {
|
); |
); |
if ($linkcontext eq 'domain') { |
if ($linkcontext eq 'domain') { |
unless ($permission->{'cusr'}) { |
unless ($permission->{'cusr'}) { |
$links{'domain'}{'singleuser'} = 'View a User'; |
$links{'domain'}{'singleuser'} = 'View a User'; |
$linktitles{'domain'}{'singleuser'} = 'View information about a user in the domain'; |
$linktitles{'domain'}{'singleuser'} = 'View information about a user in the domain'; |
|
|
} |
} |
} elsif ($linkcontext eq 'course') { |
} elsif ($linkcontext eq 'course') { |
unless ($permission->{'cusr'}) { |
unless ($permission->{'cusr'}) { |
Line 5417 sub print_main_menu {
|
Line 5426 sub print_main_menu {
|
groups => 'Community Groups', |
groups => 'Community Groups', |
}, |
}, |
); |
); |
|
$linktext{'Placement'} = $linktext{'Course'}; |
|
|
my %linktitle = ( |
my %linktitle = ( |
'Course' => { |
'Course' => { |
Line 5431 sub print_main_menu {
|
Line 5441 sub print_main_menu {
|
}, |
}, |
); |
); |
|
|
|
$linktitle{'Placement'} = $linktitle{'Course'}; |
|
|
push(@{ $menu[0]->{items} }, #Category: Single Users |
push(@{ $menu[0]->{items} }, #Category: Single Users |
{ |
{ |
linktext => $linktext{$crstype}{'single'}, |
linktext => $linktext{$crstype}{'single'}, |
Line 6050 ENDSCRIPT
|
Line 6062 ENDSCRIPT
|
} elsif ($item eq 'approval') { |
} elsif ($item eq 'approval') { |
my ($currnotified,$currapproval,%appchecked); |
my ($currnotified,$currapproval,%appchecked); |
my %selfdescs = &Apache::lonuserutils::selfenroll_default_descs(); |
my %selfdescs = &Apache::lonuserutils::selfenroll_default_descs(); |
if (ref($currsettings) eq 'HASH') { |
if (ref($currsettings) eq 'HASH') { |
$currnotified = $currsettings->{'selfenroll_notifylist'}; |
$currnotified = $currsettings->{'selfenroll_notifylist'}; |
$currapproval = $currsettings->{'selfenroll_approval'}; |
$currapproval = $currsettings->{'selfenroll_approval'}; |
} |
} |
Line 6584 ENDSCRIPT
|
Line 6596 ENDSCRIPT
|
} |
} |
} |
} |
if (($context eq 'course') && ($viewablesec ne '')) { |
if (($context eq 'course') && ($viewablesec ne '')) { |
next if ($roleslog{$id}{'logentry'}{'section'} ne $viewablesec); |
next if ($roleslog{$id}{'logentry'}{'section'} ne $viewablesec); |
} |
} |
$count ++; |
$count ++; |
next if ($count < $minshown); |
next if ($count < $minshown); |
Line 6674 sub print_useraccesslogs_display {
|
Line 6686 sub print_useraccesslogs_display {
|
|
|
# set breadcrumbs |
# set breadcrumbs |
my %breadcrumb_text = &singleuser_breadcrumb('','domain',$udom); |
my %breadcrumb_text = &singleuser_breadcrumb('','domain',$udom); |
my $prevphasestr; |
push (@{$brcrum}, |
if ($env{'form.popup'}) { |
{href => "javascript:backPage($form)", |
$brcrum = []; |
text => $breadcrumb_text{'search'}}); |
} else { |
my (@prevphases,$prevphasestr); |
push (@{$brcrum}, |
if ($env{'form.prevphases'}) { |
{href => "javascript:backPage($form)", |
@prevphases = split(/,/,$env{'form.prevphases'}); |
text => $breadcrumb_text{'search'}}); |
$prevphasestr = $env{'form.prevphases'}; |
my @prevphases; |
} |
if ($env{'form.prevphases'}) { |
if (($env{'form.phase'} eq 'userpicked') || (grep(/^userpicked$/,@prevphases))) { |
@prevphases = split(/,/,$env{'form.prevphases'}); |
push(@{$brcrum}, |
$prevphasestr = $env{'form.prevphases'}; |
{href => "javascript:backPage($form,'get_user_info','select')", |
} |
text => $breadcrumb_text{'userpicked'}}); |
if (($env{'form.phase'} eq 'userpicked') || (grep(/^userpicked$/,@prevphases))) { |
if ($env{'form.phase'} eq 'userpicked') { |
push(@{$brcrum}, |
$prevphasestr = 'userpicked'; |
{href => "javascript:backPage($form,'get_user_info','select')", |
|
text => $breadcrumb_text{'userpicked'}}); |
|
if ($env{'form.phase'} eq 'userpicked') { |
|
$prevphasestr = 'userpicked'; |
|
} |
|
} |
} |
} |
} |
push(@{$brcrum}, |
push(@{$brcrum}, |
Line 6704 sub print_useraccesslogs_display {
|
Line 6711 sub print_useraccesslogs_display {
|
bread_crumbs_component => 'User Management'}; |
bread_crumbs_component => 'User Management'}; |
if ($env{'form.popup'}) { |
if ($env{'form.popup'}) { |
$args->{'no_nav_bar'} = 1; |
$args->{'no_nav_bar'} = 1; |
$args->{'bread_crumbs_nomenu'} = 1; |
|
} |
} |
|
|
# set javascript |
# set javascript |
Line 6730 ENDSCRIPT
|
Line 6736 ENDSCRIPT
|
unless ($permission->{'activity'}) { |
unless ($permission->{'activity'}) { |
$r->print('<p class="LC_warning">' |
$r->print('<p class="LC_warning">' |
.&mt('You do not have rights to display user access logs.') |
.&mt('You do not have rights to display user access logs.') |
.'</p>'); |
.'</p>' |
if ($env{'form.popup'}) { |
.&earlyout_accesslog_form($formname,$prevphasestr,$udom)); |
$r->print('<p><a href="javascript:window.close()">'.&mt('Close window').'</a></p>'); |
|
} else { |
|
$r->print(&earlyout_accesslog_form($formname,$prevphasestr,$udom)); |
|
} |
|
return; |
return; |
} |
} |
|
|
Line 6755 ENDSCRIPT
|
Line 6757 ENDSCRIPT
|
return; |
return; |
} |
} |
|
|
if (&Apache::lonnet::privileged($uname,$udom, |
|
[$env{'request.role.domain'}],['dc','su'])) { |
|
unless (&Apache::lonnet::privileged($env{'user.name'},$env{'user.domain'}, |
|
[$env{'request.role.domain'}],['dc','su'])) { |
|
$r->print('<p class="LC_warning">' |
|
.&mt('You need to be a privileged user to display user access logs for [_1]', |
|
&Apache::loncommon::aboutmewrapper(&Apache::loncommon::plainname($uname,$udom), |
|
$uname,$udom)) |
|
.'</p>'); |
|
if ($env{'form.popup'}) { |
|
$r->print('<p><a href="javascript:window.close()">'.&mt('Close window').'</a></p>'); |
|
} else { |
|
$r->print(&earlyout_accesslog_form($formname,$prevphasestr,$udom)); |
|
} |
|
return; |
|
} |
|
} |
|
|
|
# set defaults |
# set defaults |
my $now = time(); |
my $now = time(); |
my $defstart = $now - (7*24*3600); |
my $defstart = $now - (7*24*3600); |
Line 6819 ENDSCRIPT
|
Line 6803 ENDSCRIPT
|
my ($nav_script,$nav_links); |
my ($nav_script,$nav_links); |
|
|
# table header |
# table header |
my $tableheader = '<h3>'. |
my $tableheader = |
&mt('User access logs for: [_1]', |
&Apache::loncommon::start_data_table_header_row() |
&Apache::loncommon::aboutmewrapper(&Apache::loncommon::plainname($uname,$udom),$uname,$udom)).'</h3>' |
|
.&Apache::loncommon::start_data_table_header_row() |
|
.'<th> </th>' |
.'<th> </th>' |
.'<th>'.&mt('When').'</th>' |
.'<th>'.&mt('When').'</th>' |
.'<th>'.&mt('HostID').'</th>' |
.'<th>'.&mt('HostID').'</th>' |
Line 6859 ENDSCRIPT
|
Line 6841 ENDSCRIPT
|
$showntableheader = 1; |
$showntableheader = 1; |
} |
} |
my ($shown,$extra); |
my ($shown,$extra); |
my ($event,$data) = split(/\s+/,&unescape($event),2); |
my ($event,$data) = split(/\s+/,&unescape($event)); |
if ($event eq 'Role') { |
if ($event eq 'Role') { |
my ($rolecode,$extent) = split(/\./,$data,2); |
my ($rolecode,$extent) = split(/\./,$data,2); |
next if ($extent eq ''); |
next if ($extent eq ''); |
Line 6911 ENDSCRIPT
|
Line 6893 ENDSCRIPT
|
$shown = &mt('Role selection: [_1]',$rolename); |
$shown = &mt('Role selection: [_1]',$rolename); |
} else { |
} else { |
$shown = &mt($event); |
$shown = &mt($event); |
if ($data =~ /^webdav/) { |
if ($data ne '') { |
my ($path,$clientip) = split(/\s+/,$data,2); |
$extra = &mt('Client IP address: [_1]',$data); |
$path =~ s/^webdav//; |
|
if ($clientip ne '') { |
|
$extra = &mt('Client IP address: [_1]',$clientip); |
|
} |
|
if ($path ne '') { |
|
$shown .= ' '.&mt('(WebDAV access to [_1])',$path); |
|
} |
|
} elsif ($data ne '') { |
|
$extra = &mt('Client IP address: [_1]',$data); |
|
} |
} |
} |
} |
$r->print( |
$r->print( |
Line 7030 sub activity_display_filter {
|
Line 7003 sub activity_display_filter {
|
# Update Display button |
# Update Display button |
$output .= '<p>' |
$output .= '<p>' |
.'<input type="submit" value="'.&mt('Update Display').'" />' |
.'<input type="submit" value="'.&mt('Update Display').'" />' |
.'</p><hr />'; |
.'</p>'; |
return $output; |
return $output; |
} |
} |
|
|
Line 7224 sub print_helpdeskaccess_display {
|
Line 7197 sub print_helpdeskaccess_display {
|
my $confname = $cdom.'-domainconfig'; |
my $confname = $cdom.'-domainconfig'; |
my $crstype = &Apache::loncommon::course_type(); |
my $crstype = &Apache::loncommon::course_type(); |
|
|
my @accesstypes = ('all','dh','da','none'); |
my @accesstypes = ('all','none'); |
my ($numstatustypes,@jsarray); |
my ($numstatustypes,@jsarray); |
my ($othertitle,$usertypes,$types) = &Apache::loncommon::sorted_inst_types($cdom); |
my ($othertitle,$usertypes,$types) = &Apache::loncommon::sorted_inst_types($cdom); |
if (ref($types) eq 'ARRAY') { |
if (ref($types) eq 'ARRAY') { |
if (@{$types} > 0) { |
if (@{$types} > 0) { |
$numstatustypes = scalar(@{$types}); |
$numstatustypes = scalar(@{$types}); |
push(@accesstypes,'status'); |
push(@accesstypes,'status'); |
@jsarray = ('bystatus'); |
@jsarray = ('bystatus'); |
} |
} |
} |
} |
my %customroles = &get_domain_customroles($cdom,$confname); |
my %customroles = &get_domain_customroles($cdom,$confname); |
my %domhelpdesk = &Apache::lonnet::get_active_domroles($cdom,['dh','da']); |
my %domhelpdesk = &Apache::lonnet::get_active_domroles($cdom,['dh']); |
if (keys(%domhelpdesk)) { |
if (keys(%domhelpdesk)) { |
push(@accesstypes,('inc','exc')); |
push(@accesstypes,('inc','exc')); |
push(@jsarray,('notinc','notexc')); |
push(@jsarray,('notinc','notexc')); |
Line 7278 sub print_helpdeskaccess_display {
|
Line 7251 sub print_helpdeskaccess_display {
|
$elements{$role.'_staff_inc'} = 'checkbox'; |
$elements{$role.'_staff_inc'} = 'checkbox'; |
$elements{$role.'_staff_exc'} = 'checkbox'; |
$elements{$role.'_staff_exc'} = 'checkbox'; |
} |
} |
$elements{$role.'_override'} = 'checkbox'; |
$elements{$role.'_override'} = 'checkbox'; |
if (ref($settings{$role}) eq 'HASH') { |
if (ref($settings{$role}) eq 'HASH') { |
if ($settings{$role}{'access'} ne '') { |
if ($settings{$role}{'access'} ne '') { |
my $curraccess = $settings{$role}{'access'}; |
my $curraccess = $settings{$role}{'access'}; |
Line 7342 function switchRoleTab(caller,role) {
|
Line 7315 function switchRoleTab(caller,role) {
|
} |
} |
} |
} |
return false; |
return false; |
} |
} |
|
|
function helpdeskAccess(role) { |
function helpdeskAccess(role) { |
var curraccess = null; |
var curraccess = null; |
Line 7356 function helpdeskAccess(role) {
|
Line 7329 function helpdeskAccess(role) {
|
var shown = Array(); |
var shown = Array(); |
var hidden = Array(); |
var hidden = Array(); |
if (curraccess == 'none') { |
if (curraccess == 'none') { |
hidden = Array ('$hiddenstr'); |
hidden = Array ('$hiddenstr'); |
} else { |
} else { |
if (curraccess == 'status') { |
if (curraccess == 'status') { |
shown = Array ('bystatus','privs'); |
shown = Array ('bystatus','privs'); |
hidden = Array ('notinc','notexc'); |
hidden = Array ('notinc','notexc'); |
} else { |
} else { |
if (curraccess == 'exc') { |
if (curraccess == 'exc') { |
shown = Array ('notexc','privs'); |
shown = Array ('notexc','privs'); |
Line 7379 function helpdeskAccess(role) {
|
Line 7352 function helpdeskAccess(role) {
|
if (hidden.length > 0) { |
if (hidden.length > 0) { |
for (var i=0; i<hidden.length; i++) { |
for (var i=0; i<hidden.length; i++) { |
if (document.getElementById(role+'_'+hidden[i])) { |
if (document.getElementById(role+'_'+hidden[i])) { |
document.getElementById(role+'_'+hidden[i]).style.display = 'none'; |
document.getElementById(role+'_'+hidden[i]).style.display = 'none'; |
} |
} |
} |
} |
} |
} |
Line 7404 function toggleAccess(role) {
|
Line 7377 function toggleAccess(role) {
|
if (document.$formname.elements[role+'_incrs'][i].checked) { |
if (document.$formname.elements[role+'_incrs'][i].checked) { |
if (document.$formname.elements[role+'_incrs'][i].value == 1) { |
if (document.$formname.elements[role+'_incrs'][i].value == 1) { |
document.getElementById(role+'_setindom').style.display = 'none'; |
document.getElementById(role+'_setindom').style.display = 'none'; |
document.getElementById(role+'_setincrs').style.display = 'block'; |
document.getElementById(role+'_setincrs').style.display = 'block'; |
} else { |
} else { |
document.getElementById(role+'_setincrs').style.display = 'none'; |
document.getElementById(role+'_setincrs').style.display = 'none'; |
document.getElementById(role+'_setindom').style.display = 'block'; |
document.getElementById(role+'_setindom').style.display = 'block'; |
Line 7433 ENDJS
|
Line 7406 ENDJS
|
'rou' => 'Role usage', |
'rou' => 'Role usage', |
'whi' => 'Which helpdesk personnel may use this role?', |
'whi' => 'Which helpdesk personnel may use this role?', |
'udd' => 'Use domain default', |
'udd' => 'Use domain default', |
'all' => 'All with domain helpdesk or helpdesk assistant role', |
'all' => 'All', |
'dh' => 'All with domain helpdesk role', |
|
'da' => 'All with domain helpdesk assistant role', |
|
'none' => 'None', |
'none' => 'None', |
'status' => 'Determined based on institutional status', |
'status' => 'Determined based on institutional status', |
'inc' => 'Include all, but exclude specific personnel', |
'inc' => 'Include all, but exclude specific personnel', |
'exc' => 'Exclude all, but include specific personnel', |
'exc' => 'Exclude all, but include specific personnel', |
'hel' => 'Helpdesk', |
'hel' => 'Helpdesk', |
'rpr' => 'Role privileges', |
'rpr' => 'Role privileges', |
Line 7474 ENDJS
|
Line 7445 ENDJS
|
my @roles_by_num = (); |
my @roles_by_num = (); |
foreach my $item (sort {$a <=> $b } (keys(%ordered))) { |
foreach my $item (sort {$a <=> $b } (keys(%ordered))) { |
push(@roles_by_num,$ordered{$item}); |
push(@roles_by_num,$ordered{$item}); |
} |
} |
$r->print('<p>'.$lt{'tfh'}.': <i>'.join('</i>, <i>',map { $description{$_}; } @roles_by_num).'</i>.'); |
$r->print('<p>'.$lt{'tfh'}.': <i>'.join('</i>, <i>',map { $description{$_}; } @roles_by_num).'</i>.'); |
if ($permission->{'owner'}) { |
if ($permission->{'owner'}) { |
$r->print('<br />'.$lt{'aco'}.'</p><p>'); |
$r->print('<br />'.$lt{'aco'}.'</p><p>'); |
Line 7497 ENDJS
|
Line 7468 ENDJS
|
my $id; |
my $id; |
if ($count == 0) { |
if ($count == 0) { |
$id=' id="LC_current_minitab"'; |
$id=' id="LC_current_minitab"'; |
$visibility{$role} = ' style="display:block"'; |
$visibility{$role} = ' style="display:block"'; |
} else { |
} else { |
$visibility{$role} = ' style="display:none"'; |
$visibility{$role} = ' style="display:none"'; |
} |
} |
Line 7517 ENDJS
|
Line 7488 ENDJS
|
priv => 'block', |
priv => 'block', |
); |
); |
my (%selected,$overridden,$incrscheck,$indomcheck,$indomvis,$incrsvis); |
my (%selected,$overridden,$incrscheck,$indomcheck,$indomvis,$incrsvis); |
if (ref($settings{$role}) eq 'HASH') { |
if (ref($settings{$role}) eq 'HASH') { |
if ($settings{$role}{'access'} ne '') { |
if ($settings{$role}{'access'} ne '') { |
$indomvis = ' style="display:none"'; |
$indomvis = ' style="display:none"'; |
$incrsvis = ' style="display:block"'; |
$incrsvis = ' style="display:block"'; |
$incrscheck = ' checked="checked"'; |
$incrscheck = ' checked="checked"'; |
if ($settings{$role}{'access'} ne 'all') { |
if ($settings{$role}{'access'} ne 'all') { |
$usecheck{$settings{$role}{'access'}} = $usecheck{'all'}; |
$usecheck{$settings{$role}{'access'}} = $usecheck{'all'}; |
delete($usecheck{'all'}); |
delete($usecheck{'all'}); |
Line 7548 ENDJS
|
Line 7519 ENDJS
|
} |
} |
} else { |
} else { |
$indomcheck = ' checked="checked"'; |
$indomcheck = ' checked="checked"'; |
$indomvis = ' style="display:block"'; |
$indomvis = ' style="display:block"'; |
$incrsvis = ' style="display:none"'; |
$incrsvis = ' style="display:none"'; |
} |
} |
$r->print('<div class="LC_left_float" id="'.$role.'_maindiv"'.$visibility{$role}.'>'. |
$r->print('<div class="LC_left_float" id="'.$role.'_maindiv"'.$visibility{$role}.'>'. |
Line 7622 sub domain_adhoc_access {
|
Line 7593 sub domain_adhoc_access {
|
my $access = $domcurrent->{$role}{'access'}; |
my $access = $domcurrent->{$role}{'access'}; |
if (($access eq '') || (!grep(/^\Q$access\E$/,@{$accesstypes}))) { |
if (($access eq '') || (!grep(/^\Q$access\E$/,@{$accesstypes}))) { |
$access = 'all'; |
$access = 'all'; |
$domusage{$role} = &mt('Any user in domain with active [_1] or [_2] role',&Apache::lonnet::plaintext('dh'), |
$domusage{$role} = &mt('Any user in domain with active [_1] role',&Apache::lonnet::plaintext('dh')); |
&Apache::lonnet::plaintext('da')); |
|
} elsif ($access eq 'status') { |
} elsif ($access eq 'status') { |
if (ref($domcurrent->{$role}{$access}) eq 'ARRAY') { |
if (ref($domcurrent->{$role}{$access}) eq 'ARRAY') { |
my @shown; |
my @shown; |
Line 7639 sub domain_adhoc_access {
|
Line 7609 sub domain_adhoc_access {
|
} |
} |
if (@shown) { |
if (@shown) { |
my $shownstatus = join(' '.&mt('or').' ',@shown); |
my $shownstatus = join(' '.&mt('or').' ',@shown); |
$domusage{$role} = &mt('Any user in domain with active [_1] or [_2] role, and institutional status: [_3]', |
$domusage{$role} = &mt('Any user in domain with active [_1] role, and institutional status: [_2]', |
&Apache::lonnet::plaintext('dh'),&Apache::lonnet::plaintext('da'),$shownstatus); |
&Apache::lonnet::plaintext('dh'),$shownstatus); |
} else { |
} else { |
$domusage{$role} = &mt('No one in the domain'); |
$domusage{$role} = &mt('No one in the domain'); |
} |
} |
Line 7654 sub domain_adhoc_access {
|
Line 7624 sub domain_adhoc_access {
|
} |
} |
my $showninc = join(', ',@dominc); |
my $showninc = join(', ',@dominc); |
if ($showninc ne '') { |
if ($showninc ne '') { |
$domusage{$role} = &mt('Include any user in domain with active [_1] or [_2] role, except: [_3]', |
$domusage{$role} = &mt('Include any user in domain with active [_1] role, except: [_2]', |
&Apache::lonnet::plaintext('dh'),&Apache::lonnet::plaintext('da'),$showninc); |
&Apache::lonnet::plaintext('dh'),$showninc); |
} else { |
} else { |
$domusage{$role} = &mt('Any user in domain with active [_1] or [_2] role', |
$domusage{$role} = &mt('Any user in domain with active [_1] role',&Apache::lonnet::plaintext('dh')); |
&Apache::lonnet::plaintext('dh'),&Apache::lonnet::plaintext('da')); |
|
} |
} |
} |
} |
} elsif ($access eq 'exc') { |
} elsif ($access eq 'exc') { |
Line 7671 sub domain_adhoc_access {
|
Line 7640 sub domain_adhoc_access {
|
} |
} |
my $shownexc = join(', ',@domexc); |
my $shownexc = join(', ',@domexc); |
if ($shownexc ne '') { |
if ($shownexc ne '') { |
$domusage{$role} = &mt('Only the following in the domain with active [_1] or [_2] role: [_3]', |
$domusage{$role} = &mt('Only the following in the domain with active [_1] role: [_2]', |
&Apache::lonnet::plaintext('dh'),&Apache::lonnet::plaintext('da'),$shownexc); |
&Apache::lonnet::plaintext('dh'),$shownexc); |
} else { |
} else { |
$domusage{$role} = &mt('No one in the domain'); |
$domusage{$role} = &mt('No one in the domain'); |
} |
} |
} elsif ($access eq 'none') { |
} elsif ($access eq 'none') { |
$domusage{$role} = &mt('No one in the domain'); |
$domusage{$role} = &mt('No one in the domain'); |
} elsif ($access eq 'dh') { |
|
$domusage{$role} = &mt('Any user in domain with active [_1] role',&Apache::lonnet::plaintext('dh')); |
|
} elsif ($access eq 'da') { |
|
$domusage{$role} = &mt('Any user in domain with active [_1] role',&Apache::lonnet::plaintext('da')); |
|
} elsif ($access eq 'all') { |
} elsif ($access eq 'all') { |
$domusage{$role} = &mt('Any user in domain with active [_1] or [_2] role', |
$domusage{$role} = &mt('Any user in domain with active [_1] role',&Apache::lonnet::plaintext('dh')); |
&Apache::lonnet::plaintext('dh'),&Apache::lonnet::plaintext('da')); |
|
} |
} |
} else { |
} else { |
$domusage{$role} = &mt('Any user in domain with active [_1] or [_2] role', |
$domusage{$role} = &mt('Any user in domain with active [_1] role',&Apache::lonnet::plaintext('dh')); |
&Apache::lonnet::plaintext('dh'),&Apache::lonnet::plaintext('da')); |
|
} |
} |
} |
} |
return %domusage; |
return %domusage; |
Line 7756 sub role_priv_table {
|
Line 7719 sub role_priv_table {
|
$checked = ' checked="checked"'; |
$checked = ' checked="checked"'; |
} |
} |
$customstatus = '<img src="/adm/lonIcons/navmap.wrong.gif" alt="'.$lt{'dis'}.'" />'; |
$customstatus = '<img src="/adm/lonIcons/navmap.wrong.gif" alt="'.$lt{'dis'}.'" />'; |
$ineffect = $customstatus; |
$ineffect = $customstatus; |
} elsif ((!$levelscurrent->{'course'}{$priv}) && ($on{$priv})) { |
} elsif ((!$levelscurrent->{'course'}{$priv}) && ($on{$priv})) { |
if ($permission->{'owner'}) { |
if ($permission->{'owner'}) { |
$checked = ' checked="checked"'; |
$checked = ' checked="checked"'; |
} |
} |
$customstatus = '<img src="/adm/lonIcons/navmap.correct.gif" alt="'.$lt{'ena'}.'" />'; |
$customstatus = '<img src="/adm/lonIcons/navmap.correct.gif" alt="'.$lt{'ena'}.'" />'; |
$ineffect = $customstatus; |
$ineffect = $customstatus; |
} |
} |
if ($permission->{'owner'}) { |
if ($permission->{'owner'}) { |
$output .= '<input type="checkbox" name="'.$role.'_override" value="'.$priv.'"'.$checked.' />'; |
$output .= '<input type="checkbox" name="'.$role.'_override" value="'.$priv.'"'.$checked.' />'; |
Line 7777 sub role_priv_table {
|
Line 7740 sub role_priv_table {
|
} |
} |
|
|
sub get_adhocrole_settings { |
sub get_adhocrole_settings { |
my ($cid,$accesstypes,$types,$customroles,$settings,$overridden) = @_; |
my ($cid,$accesstypes,$types,$customroles,$settings,$overridden) = @_; |
return unless ((ref($accesstypes) eq 'ARRAY') && (ref($customroles) eq 'HASH') && |
return unless ((ref($accesstypes) eq 'ARRAY') && (ref($customroles) eq 'HASH') && |
(ref($settings) eq 'HASH') && (ref($overridden) eq 'HASH')); |
(ref($settings) eq 'HASH') && (ref($overridden) eq 'HASH')); |
foreach my $role (split(/,/,$env{'course.'.$cid.'.internal.adhocaccess'})) { |
foreach my $role (split(/,/,$env{'course.'.$cid.'.internal.adhocaccess'})) { |
Line 7869 sub update_helpdeskaccess {
|
Line 7832 sub update_helpdeskaccess {
|
$r->print('<p class="LC_error">'.&mt('You do not have permission to change helpdesk access.').'</p>'); |
$r->print('<p class="LC_error">'.&mt('You do not have permission to change helpdesk access.').'</p>'); |
return; |
return; |
} |
} |
my @accesstypes = ('all','dh','da','none','status','inc','exc'); |
my @accesstypes = ('all','none','status','inc','exc'); |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
my $confname = $cdom.'-domainconfig'; |
my $confname = $cdom.'-domainconfig'; |
Line 7879 sub update_helpdeskaccess {
|
Line 7842 sub update_helpdeskaccess {
|
my (%settings,%overridden); |
my (%settings,%overridden); |
&get_adhocrole_settings($env{'request.course.id'},\@accesstypes, |
&get_adhocrole_settings($env{'request.course.id'},\@accesstypes, |
$types,\%customroles,\%settings,\%overridden); |
$types,\%customroles,\%settings,\%overridden); |
my %domhelpdesk = &Apache::lonnet::get_active_domroles($cdom,['dh','da']); |
my %domhelpdesk = &Apache::lonnet::get_active_domroles($cdom,['dh']); |
my (%changed,%storehash,@todelete); |
my (%changed,%storehash,@todelete); |
|
|
if (keys(%customroles)) { |
if (keys(%customroles)) { |
Line 7906 sub update_helpdeskaccess {
|
Line 7869 sub update_helpdeskaccess {
|
push(@incrs,$role); |
push(@incrs,$role); |
unless ($current{'access'} eq $access) { |
unless ($current{'access'} eq $access) { |
$changed{$role}{'access'} = 1; |
$changed{$role}{'access'} = 1; |
$storehash{'internal.adhoc.'.$role} = $access; |
$storehash{'internal.adhoc.'.$role} = $access; |
} |
} |
if ($access eq 'status') { |
if ($access eq 'status') { |
my @statuses = &Apache::loncommon::get_env_multiple('form.'.$role.'_status'); |
my @statuses = &Apache::loncommon::get_env_multiple('form.'.$role.'_status'); |
Line 7942 sub update_helpdeskaccess {
|
Line 7905 sub update_helpdeskaccess {
|
my @currstaff; |
my @currstaff; |
foreach my $person (sort(@personnel)) { |
foreach my $person (sort(@personnel)) { |
if ($domhelpdesk{$person}) { |
if ($domhelpdesk{$person}) { |
push(@stored,$person); |
push(@stored,$person); |
} |
} |
} |
} |
if (ref($current{$access}) eq 'ARRAY') { |
if (ref($current{$access}) eq 'ARRAY') { |
Line 7988 sub update_helpdeskaccess {
|
Line 7951 sub update_helpdeskaccess {
|
&Apache::lonuserutils::custom_role_privs($customroles{$role},\%full,\%levels,\%levelscurrent); |
&Apache::lonuserutils::custom_role_privs($customroles{$role},\%full,\%levels,\%levelscurrent); |
my (@updatedon,@updatedoff,@override); |
my (@updatedon,@updatedoff,@override); |
@override = &Apache::loncommon::get_env_multiple('form.'.$role.'_override'); |
@override = &Apache::loncommon::get_env_multiple('form.'.$role.'_override'); |
if (@override) { |
if (@override) { |
foreach my $priv (sort(keys(%full))) { |
foreach my $priv (sort(keys(%full))) { |
next unless ($levels{'course'}{$priv}); |
next unless ($levels{'course'}{$priv}); |
if (grep(/^\Q$priv\E$/,@override)) { |
if (grep(/^\Q$priv\E$/,@override)) { |
Line 8001 sub update_helpdeskaccess {
|
Line 7964 sub update_helpdeskaccess {
|
} |
} |
} |
} |
if (@updatedon) { |
if (@updatedon) { |
$newsettings{$role}{'on'} = join('</li><li>', map { &Apache::lonnet::plaintext($_,$crstype) } (@updatedon)); |
$newsettings{$role}{'on'} = join('</li><li>', map { &Apache::lonnet::plaintext($_,$crstype) } (@updatedon)); |
} |
} |
if (@updatedoff) { |
if (@updatedoff) { |
$newsettings{$role}{'off'} = join('</li><li>', map { &Apache::lonnet::plaintext($_,$crstype) } (@updatedoff)); |
$newsettings{$role}{'off'} = join('</li><li>', map { &Apache::lonnet::plaintext($_,$crstype) } (@updatedoff)); |
Line 8109 sub update_helpdeskaccess {
|
Line 8072 sub update_helpdeskaccess {
|
push(@roles_by_num,$ordered{$item}); |
push(@roles_by_num,$ordered{$item}); |
} |
} |
%domusage = &domain_adhoc_access(\%changed,\%domcurrent,\@accesstypes,$usertypes,$othertitle); |
%domusage = &domain_adhoc_access(\%changed,\%domcurrent,\@accesstypes,$usertypes,$othertitle); |
$r->print(&mt('Helpdesk access settings have been changed as follows').'<br />'); |
$r->print(&mt('Helpdesk access settings have been changed as follows').'<br />'); |
$r->print('<ul>'); |
$r->print('<ul>'); |
foreach my $role (@roles_by_num) { |
foreach my $role (@roles_by_num) { |
next unless (ref($changed{$role}) eq 'HASH'); |
next unless (ref($changed{$role}) eq 'HASH'); |
$r->print('<li>'.&mt('Ad hoc role').': <b>'.$description{$role}.'</b>'. |
$r->print('<li>'.&mt('Ad hoc role').': <b>'.$description{$role}.'</b>'. |
'<ul>'); |
'<ul>'); |
if ($changed{$role}{'access'} || $changed{$role}{'status'} || $changed{$role}{'inc'} || $changed{$role}{'exc'}) { |
if ($changed{$role}{'access'} || $changed{$role}{'status'} || $changed{$role}{'inc'} || $changed{$role}{'exc'}) { |
$r->print('<li>'); |
$r->print('<li>'); |
if ($env{'form.'.$role.'_incrs'}) { |
if ($env{'form.'.$role.'_incrs'}) { |
if ($newsettings{$role}{'access'} eq 'all') { |
if ($newsettings{$role}{'access'} eq 'all') { |
$r->print(&mt('All helpdesk staff can access '.lc($crstype).' with this role.')); |
$r->print(&mt('All helpdesk staff can access '.lc($crstype).' with this role.')); |
} elsif ($newsettings{$role}{'access'} eq 'dh') { |
|
$r->print(&mt('Helpdesk staff can use this role if they have an active [_1] role', |
|
&Apache::lonnet::plaintext('dh'))); |
|
} elsif ($newsettings{$role}{'access'} eq 'da') { |
|
$r->print(&mt('Helpdesk staff can use this role if they have an active [_1] role', |
|
&Apache::lonnet::plaintext('da'))); |
|
} elsif ($newsettings{$role}{'access'} eq 'none') { |
} elsif ($newsettings{$role}{'access'} eq 'none') { |
$r->print(&mt('No helpdesk staff can access '.lc($crstype).' with this role.')); |
$r->print(&mt('No helpdesk staff can access '.lc($crstype).' with this role.')); |
} elsif ($newsettings{$role}{'access'} eq 'status') { |
} elsif ($newsettings{$role}{'access'} eq 'status') { |
if ($newsettings{$role}{'status'}) { |
if ($newsettings{$role}{'status'}) { |
my ($access,$rest) = split(/=/,$storehash{'internal.adhoc.'.$role}); |
my ($access,$rest) = split(/=/,$storehash{'internal.adhoc.'.$role}); |
if (split(/,/,$rest) > 1) { |
if (split(/,/,$rest) > 1) { |
$r->print(&mt('Helpdesk staff can use this role if their institutional type is one of: [_1].', |
$r->print(&mt('Helpdesk staff can use this role if their institutional type is one of: [_1].', |
$newsettings{$role}{'status'})); |
$newsettings{$role}{'status'})); |
} else { |
} else { |
Line 8166 sub update_helpdeskaccess {
|
Line 8123 sub update_helpdeskaccess {
|
$r->print('<li>'.&mt('Privileges which are available by default for this ad hoc role, but are disabled for this specific '.lc($crstype).':'). |
$r->print('<li>'.&mt('Privileges which are available by default for this ad hoc role, but are disabled for this specific '.lc($crstype).':'). |
'<ul><li>'.$newsettings{$role}{'off'}.'</li></ul></li>'); |
'<ul><li>'.$newsettings{$role}{'off'}.'</li></ul></li>'); |
} else { |
} else { |
$r->print('<li>'.&mt('All privileges available by default for this ad hoc role are enabled.').'</li>'); |
$r->print('<li>'.&mt('All privileges available by default for this ad hoc role are enabled.').'</li>'); |
} |
} |
} |
} |
if ($changed{$role}{'on'}) { |
if ($changed{$role}{'on'}) { |
if ($newsettings{$role}{'on'}) { |
if ($newsettings{$role}{'on'}) { |
$r->print('<li>'.&mt('Privileges which are not available by default for this ad hoc role, but are enabled for this specific '.lc($crstype).':'). |
$r->print('<li>'.&mt('Privileges which are not available by default for this ad hoc role, but are enabled for this specific '.lc($crstype).':'). |
'<ul><li>'.$newsettings{$role}{'on'}.'</li></ul></li>'); |
'<ul><li>'.$newsettings{$role}{'on'}.'</li></ul></li>'); |
} else { |
} else { |
$r->print('<li>'.&mt('None of the privileges unavailable by default for this ad hoc role are enabled.').'</li>'); |
$r->print('<li>'.&mt('None of the privileges unavailable by default for this ad hoc role are enabled.').'</li>'); |
} |
} |
} |
} |
} |
} |
Line 8183 sub update_helpdeskaccess {
|
Line 8140 sub update_helpdeskaccess {
|
$r->print('</ul>'); |
$r->print('</ul>'); |
} |
} |
} else { |
} else { |
$r->print(&mt('No changes made to helpdesk access settings.')); |
$r->print(&mt('No changes made to helpdesk access settings.')); |
} |
} |
} |
} |
return; |
return; |
Line 8662 sub build_search_response {
|
Line 8619 sub build_search_response {
|
,' <a'.$helplink.'>' |
,' <a'.$helplink.'>' |
,'</a>') |
,'</a>') |
.'<br />'; |
.'<br />'; |
|
|
} |
} |
} |
} |
} |
} |