version 1.231, 2014/03/29 20:35:21
|
version 1.233, 2014/04/02 16:27:18
|
Line 164 use Apache::lonhtmlcommon();
|
Line 164 use Apache::lonhtmlcommon();
|
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::lonmsg(); |
use Apache::lonmsg(); |
use Apache::lonconfigsettings; |
use Apache::lonconfigsettings; |
|
use Apache::lonuserutils(); |
use LONCAPA qw(:DEFAULT :match); |
use LONCAPA qw(:DEFAULT :match); |
use LONCAPA::Enrollment; |
use LONCAPA::Enrollment; |
use LONCAPA::lonauthcgi(); |
use LONCAPA::lonauthcgi(); |
Line 2839 sub print_selfenrollment {
|
Line 2840 sub print_selfenrollment {
|
my $itemcount = 1; |
my $itemcount = 1; |
my @types = ('official','unofficial','community','textbook'); |
my @types = ('official','unofficial','community','textbook'); |
if (($position eq 'top') || ($position eq 'middle')) { |
if (($position eq 'top') || ($position eq 'middle')) { |
my ($rowsref,$titlesref) = &get_selfenroll_titles(); |
my ($rowsref,$titlesref) = &Apache::lonuserutils::get_selfenroll_titles(); |
my %descs = &selfenroll_default_descs(); |
my %descs = &Apache::lonuserutils::selfenroll_default_descs(); |
my @rows; |
my @rows; |
my $key; |
my $key; |
if ($position eq 'top') { |
if ($position eq 'top') { |
Line 2973 sub print_selfenrollment {
|
Line 2974 sub print_selfenrollment {
|
$datatable .= '</table></td></tr>'; |
$datatable .= '</table></td></tr>'; |
} |
} |
} elsif ($position eq 'bottom') { |
} elsif ($position eq 'bottom') { |
my ($itemsref,$namesref,$fieldsref) = &selfenroll_validation_types(); |
my ($itemsref,$namesref,$fieldsref) = &Apache::lonuserutils::selfenroll_validation_types(); |
my %currvalidation; |
my %currvalidation; |
if (ref($settings) eq 'HASH') { |
if (ref($settings) eq 'HASH') { |
if (ref($settings->{'validation'}) eq 'HASH') { |
if (ref($settings->{'validation'}) eq 'HASH') { |
Line 3018 sub print_selfenrollment {
|
Line 3019 sub print_selfenrollment {
|
return $datatable; |
return $datatable; |
} |
} |
|
|
sub get_selfenroll_titles { |
|
my @row = ('types','registered','enroll_dates','access_dates','section', |
|
'approval','limit'); |
|
my %lt = &Apache::lonlocal::texthash ( |
|
types => 'Users allowed to self-enroll', |
|
registered => 'Registration status (official courses)' , |
|
enroll_dates => 'Dates self-enrollment available', |
|
access_dates => 'Access dates for self-enrolling users', |
|
section => 'Self-enrolling users section', |
|
approval => 'Processing of requests', |
|
limit => 'Enrollment limit', |
|
); |
|
return (\@row,\%lt); |
|
} |
|
|
|
sub selfenroll_default_descs { |
|
my %desc = ( |
|
types => { |
|
dom => &mt('Course domain'), |
|
all => &mt('Any domain'), |
|
'' => &mt('None'), |
|
}, |
|
limit => { |
|
none => &mt('No limit'), |
|
allstudents => &mt('Limit by total students'), |
|
selfenrolled => &mt('Limit by total self-enrolled'), |
|
}, |
|
approval => { |
|
'0' => &mt('Processed automatically'), |
|
'1' => &mt('Queued for approval'), |
|
'2' => &mt('Queued, pending validation'), |
|
}, |
|
registered => { |
|
0 => 'No registration required', |
|
1 => 'Registered students only', |
|
}, |
|
); |
|
return %desc; |
|
} |
|
|
|
sub selfenroll_validation_types { |
|
my @items = ('url','fields','button','markup'); |
|
my %names = &Apache::lonlocal::texthash ( |
|
url => 'Web address of validation server/script', |
|
fields => 'Form fields to send to validator', |
|
button => 'Text for validation button', |
|
markup => 'Validation description (HTML)', |
|
); |
|
my @fields = ('username','domain','uniquecode','course','token'); |
|
return (\@items,\%names,\@fields); |
|
} |
|
|
|
sub print_usersessions { |
sub print_usersessions { |
my ($position,$dom,$settings,$rowtotal) = @_; |
my ($position,$dom,$settings,$rowtotal) = @_; |
my ($css_class,$datatable,%checked,%choices); |
my ($css_class,$datatable,%checked,%choices); |
Line 9410 sub modify_selfenrollment {
|
Line 9359 sub modify_selfenrollment {
|
my ($resulttext,$errors,%changes,%selfenrollhash,%ordered); |
my ($resulttext,$errors,%changes,%selfenrollhash,%ordered); |
my @types = ('official','unofficial','community','textbook'); |
my @types = ('official','unofficial','community','textbook'); |
my %titles = &tool_titles(); |
my %titles = &tool_titles(); |
my %descs = &selfenroll_default_descs(); |
my %descs = &Apache::lonuserutils::selfenroll_default_descs(); |
($ordered{'admin'},my $titlesref) = &get_selfenroll_titles(); |
($ordered{'admin'},my $titlesref) = &Apache::lonuserutils::get_selfenroll_titles(); |
$ordered{'default'} = ['types','registered','approval','limit']; |
$ordered{'default'} = ['types','registered','approval','limit']; |
|
|
my (%roles,%shown,%toplevel); |
my (%roles,%shown,%toplevel); |
Line 9427 sub modify_selfenrollment {
|
Line 9376 sub modify_selfenrollment {
|
default => 'Default settings', |
default => 'Default settings', |
validation => 'Validation of self-enrollment requests', |
validation => 'Validation of self-enrollment requests', |
); |
); |
my ($itemsref,$namesref,$fieldsref) = &selfenroll_validation_types(); |
my ($itemsref,$namesref,$fieldsref) = &Apache::lonuserutils::selfenroll_validation_types(); |
|
|
if (ref($ordered{'admin'}) eq 'ARRAY') { |
if (ref($ordered{'admin'}) eq 'ARRAY') { |
foreach my $item (@{$ordered{'admin'}}) { |
foreach my $item (@{$ordered{'admin'}}) { |
Line 9577 sub modify_selfenrollment {
|
Line 9526 sub modify_selfenrollment {
|
$roles{'1'} = &mt('Course personnel'); |
$roles{'1'} = &mt('Course personnel'); |
} |
} |
if (ref($changes{$key}{$type}) eq 'ARRAY') { |
if (ref($changes{$key}{$type}) eq 'ARRAY') { |
|
if (ref($selfenrollhash{$key}{$type}) eq 'HASH') { |
|
if ($key eq 'admin') { |
|
my @mgrdc = (); |
|
if (ref($ordered{$key}) eq 'ARRAY') { |
|
foreach my $item (@{$ordered{'admin'}}) { |
|
if (ref($selfenrollhash{$key}{$type}) eq 'HASH') { |
|
if ($selfenrollhash{$key}{$type}{$item} eq '0') { |
|
push(@mgrdc,$item); |
|
} |
|
} |
|
} |
|
if (@mgrdc) { |
|
$domdefaults{$type.'selfenrolladmdc'} = join(',',@mgrdc); |
|
} else { |
|
delete($domdefaults{$type.'selfenrolladmdc'}); |
|
} |
|
} |
|
} else { |
|
if (ref($ordered{$key}) eq 'ARRAY') { |
|
foreach my $item (@{$ordered{$key}}) { |
|
if (grep(/^\Q$item\E$/,@{$changes{$key}{$type}})) { |
|
$domdefaults{$type.'selfenroll'.$item} = |
|
$selfenrollhash{$key}{$type}{$item}; |
|
} |
|
} |
|
} |
|
} |
|
} |
$resulttext .= '<li>'.$titles{$type}.'<ul>'; |
$resulttext .= '<li>'.$titles{$type}.'<ul>'; |
foreach my $item (@{$ordered{$key}}) { |
foreach my $item (@{$ordered{$key}}) { |
if (grep(/^\Q$item\E$/,@{$changes{$key}{$type}})) { |
if (grep(/^\Q$item\E$/,@{$changes{$key}{$type}})) { |
Line 9597 sub modify_selfenrollment {
|
Line 9574 sub modify_selfenrollment {
|
$resulttext .= '</ul></li>'; |
$resulttext .= '</ul></li>'; |
} |
} |
} |
} |
|
if ((exists($changes{'admin'})) || (exists($changes{'default'}))) { |
|
my $cachetime = 24*60*60; |
|
&Apache::lonnet::do_cache_new('domdefaults',$dom,\%domdefaults,$cachetime); |
|
if (ref($lastactref) eq 'HASH') { |
|
$lastactref->{'domdefaults'} = 1; |
|
} |
|
} |
} |
} |
$resulttext .= '</ul>'; |
$resulttext .= '</ul>'; |
} else { |
} else { |