--- loncom/interface/slotrequest.pm 2018/06/27 14:26:28 1.125.2.4
+++ loncom/interface/slotrequest.pm 2015/09/23 23:04:53 1.126
@@ -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.4 2018/06/27 14:26:28 raeburn Exp $
+# $Id: slotrequest.pm,v 1.126 2015/09/23 23:04:53 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -162,24 +162,9 @@ $js
var startdate = startm+"/"+startd+"/"+starty;
var starttime = new Date(startdate).getTime();
starttime = starttime/1000;
- var starth = form.start_hour.options[form.start_hour.selectedIndex].value;
- if (numberRegExp.test(starth)) {
- starth = parseInt(starth);
- if (starth > 0 && starth <= 23) {
- starttime += 3600 * starth;
- }
- }
var enddate = endm+"/"+endd+"/"+endy;
var endtime = new Date(enddate).getTime();
endtime = endtime/1000;
- var endh = form.end_hour.options[form.end_hour.selectedIndex].value;
- if (numberRegExp.test(endh)) {
- endh = parseInt(endh);
- if (endh > 0 && endh <= 23) {
- endtime += 3600 * endh;
- }
- }
-
var shown = 0;
for (var i=0; i<$i; i++) {
if ((slotstart[i] >= starttime) && (slotend[i] <= endtime)) {
@@ -841,15 +826,9 @@ sub get_slot {
if ($slot_name && $slot_name ne $conflictable_slot) {
my %slot=&Apache::lonnet::get_slot($slot_name);
my $description1=&get_description($slot_name,\%slot);
- my $slottype1=$slot{'type'};
%slot=&Apache::lonnet::get_slot($env{'form.slotname'});
my $description2=&get_description($env{'form.slotname'},\%slot);
- if ($slottype1 eq 'preassigned') {
- $r->print('
'.&mt('You already have a reservation: "[_1]", assigned by your instructor.',
- $description1).'
'.
- ''.&mt('Your instructor must unassign it before you can make a new reservation.').
- '
');
- } elsif ($slot_name ne $env{'form.slotname'}) {
+ if ($slot_name ne $env{'form.slotname'}) {
$r->print(<
@@ -1021,10 +1000,21 @@ sub allowed_slot {
return 0 if (!$userallowed);
# not allowed for this resource
- if (defined($slot->{'symb'})
- && $slot->{'symb'} ne $symb) {
- unless ((ref($toskip) eq 'HASH') && ($toskip->{'symb'})) {
- return 0;
+ if (defined($slot->{'symb'})) {
+ my $exclude = 1;
+ my ($slotmap,$slotid,$sloturl) = &Apache::lonnet::decode_symb($slot->{'symb'});
+ if ($sloturl=~/\.(page|sequence)$/) {
+ my ($map,$id,$url) = &Apache::lonnet::decode_symb($symb);
+ if (($map ne '') && ($map eq $slotmap)) {
+ $exclude = 0;
+ }
+ } elsif ($slot->{'symb'} eq $symb) {
+ $exclude = 0;
+ }
+ if ($exclude) {
+ unless ((ref($toskip) eq 'HASH') && ($toskip->{'symb'})) {
+ return 0;
+ }
}
}
@@ -1370,7 +1360,7 @@ sub show_table {
'secret' => 'Secret Word',
'space' => '# of students/max',
'ip' => 'IP or DNS restrictions',
- 'symb' => 'Resource slot is restricted to.',
+ 'symb' => 'Resource/Map slot is restricted to.',
'allowedsections' => 'Sections slot is restricted to.',
'allowedusers' => 'Users slot is restricted to.',
'uniqueperiod' => 'Period of time slot is unique',
@@ -1482,16 +1472,15 @@ sub show_table {
$r->print('');
$r->print('');
my $linkstart=''.$show_fields{$which}.'';
+ $r->print(''.$linkstart.$which.'">'.$show_fields{$which}.' | ');
}
}
- $tableheader .= &Apache::loncommon::end_data_table_header_row();
- my $shownheader = 0;
+ $r->print(&Apache::loncommon::end_data_table_header_row());
my %name_cache;
my $slotsort = sub {
@@ -1640,39 +1629,30 @@ sub show_table {
delete => 'Delete',
slotlog => 'History',
);
- my ($edit,$delete,$showlog,$remove_all);
- if ($mgr) {
- $edit=(<<"EDITLINK");
+ my $edit=(<<"EDITLINK");
$lt{'edit'}
EDITLINK
- $delete=(<<"DELETELINK");
+ my $delete=(<<"DELETELINK");
$lt{'delete'}
DELETELINK
- $remove_all=&remove_link($slot,'remove all').'
';
-
- if ($ids eq '') {
- undef($remove_all);
- } else {
- undef($delete);
- }
- }
-
- $showlog=(<<"LOGLINK");
+ my $showlog=(<<"LOGLINK");
$lt{'slotlog'}
LOGLINK
+ my $remove_all=&remove_link($slot,'remove all').'
';
+
+ if ($ids eq '') {
+ undef($remove_all);
+ } else {
+ undef($delete);
+ }
if ($slots{$slot}{'type'} ne 'schedulable_student') {
undef($showlog);
undef($remove_all);
}
- unless ($shownheader) {
- $r->print($tableheader);
- $shownheader = 1;
- }
-
my $row_start=&Apache::loncommon::start_data_table_row();
my $row_end=&Apache::loncommon::end_data_table_row();
$r->print($row_start.
@@ -1741,12 +1721,7 @@ $row_end
STUFF
}
}
- if ($shownheader) {
- $r->print(&Apache::loncommon::end_data_table());
- } else {
- $r->print(''.&mt('No slots meet the criteria for display').'
');
- }
- $r->print('');
+ $r->print(&Apache::loncommon::end_data_table().'');
return;
}
@@ -2102,16 +2077,14 @@ sub show_reservations {
if ($showntablehdr) {
$r->print(&Apache::loncommon::end_data_table().'
');
if (($curr{'page'} > 1) || ($more_records)) {
- $r->print('');
+ $r->print('
');
$r->print(<<"ENDSCRIPT");