--- loncom/interface/slotrequest.pm 2020/04/08 20:06:59 1.125.2.3.4.2
+++ loncom/interface/slotrequest.pm 2021/01/18 21:58:57 1.125.2.10
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler for requesting to have slots added to a students record
#
-# $Id: slotrequest.pm,v 1.125.2.3.4.2 2020/04/08 20:06:59 raeburn Exp $
+# $Id: slotrequest.pm,v 1.125.2.10 2021/01/18 21:58:57 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -56,10 +56,13 @@ sub fail {
}
sub start_page {
- my ($r,$title,$brcrum,$js)=@_;
+ my ($r,$title,$brcrum,$bread_crumbs_component,$js)=@_;
my $args;
if (ref($brcrum) eq 'ARRAY') {
$args = {bread_crumbs => $brcrum};
+ if ($bread_crumbs_component) {
+ $args->{bread_crumbs_component} = $bread_crumbs_component;
+ }
}
if (($env{'form.requestattempt'}) || ($env{'form.command'} eq 'manageresv')) {
my %loaditems = (
@@ -1538,10 +1541,6 @@ sub show_table {
}
my $available;
if ($mgr eq 'F') {
- # FIXME: This line should be deleted once Slots uses breadcrumbs
- $r->print('
'.&Apache::loncommon::help_open_topic(
- 'Slot About', &mt('Help on slots')));
-
$r->print('
');
$r->print('');
- $r->print(&Apache::loncommon::help_open_topic('Slot AddInterface'));
+ $r->print(&Apache::loncommon::help_open_topic('Slot About'));
$r->print('
');
}
@@ -2894,8 +2893,10 @@ sub csv_upload_map {
if (!$env{'form.datatoken'}) {
$datatoken=&Apache::loncommon::upfile_store($r);
} else {
- $datatoken=$env{'form.datatoken'};
- &Apache::loncommon::load_tmp_file($r);
+ $datatoken=&Apache::loncommon::valid_datatoken($env{'form.datatoken'});
+ if ($datatoken ne '') {
+ &Apache::loncommon::load_tmp_file($r,$datatoken);
+ }
}
my @records=&Apache::loncommon::upfile_record_sep();
if ($env{'form.noFirstLine'}) { shift(@records); }
@@ -2945,7 +2946,10 @@ sub csvupload_fields {
sub csv_upload_assign {
my ($r,$mgr)= @_;
- &Apache::loncommon::load_tmp_file($r);
+ my $datatoken = &Apache::loncommon::valid_datatoken($env{'form.datatoken'});
+ if ($datatoken ne '') {
+ &Apache::loncommon::load_tmp_file($r,$datatoken);
+ }
my @slotdata = &Apache::loncommon::upfile_record_sep();
if ($env{'form.noFirstLine'}) { shift(@slotdata); }
my %fields=&Apache::grades::get_fields();
@@ -3048,6 +3052,9 @@ sub csv_upload_assign {
'secret','symb') {
if ($entries{$fields{$key}}) {
$slot{$key}=$entries{$fields{$key}};
+ if ($key eq 'maxspace') {
+ $slot{$key} =~ s/\D+//g;
+ }
}
}
if ($entries{$fields{'allowedusers'}}) {
@@ -3150,7 +3157,7 @@ sub handler {
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'});
my %crumb_titles = &slot_command_titles();
- my $brcrum;
+ my ($brcrum,$bread_crumbs_component);
my $vgr=&Apache::lonnet::allowed('vgr',$env{'request.course.id'});
my $mgr=&Apache::lonnet::allowed('mgr',$env{'request.course.id'});
@@ -3186,8 +3193,10 @@ sub handler {
} elsif ($vgr eq 'F') {
if ($env{'form.command'} =~ /^(slotlog|showslots|uploadstart|csvuploadmap|csvuploadassign|delete|release|remove_registration)$/) {
$brcrum =[{href=>"/adm/slotrequest?command=showslots",
- text=>$crumb_titles{'showslots'}}];
+ text=>$crumb_titles{'showslots'},
+ help=>'Slot_Use'}];
$title = 'Managing Slots';
+ $bread_crumbs_component = 'Slots';
unless ($env{'form.command'} eq 'showslots') {
if (ref($brcrum) eq 'ARRAY') {
push(@{$brcrum},{href=>"/adm/slotrequest?command=$env{'form.command'}",text=>$crumb_titles{$env{'form.command'}}});
@@ -3215,7 +3224,7 @@ sub handler {
if (($env{'form.requestattempt'}) || ($env{'form.command'} eq 'manageresv')) {
$js = &reservation_js(\%slots,$consumed_uniqueperiods,$available,$got_slots,$symb);
}
- &start_page($r,$title,$brcrum,$js);
+ &start_page($r,$title,$brcrum,$bread_crumbs_component,$js);
if ($env{'form.command'} eq 'manageresv') {
$allavailable = $available;