Diff for /loncom/interface/slotrequest.pm between versions 1.141 and 1.143

version 1.141, 2019/06/28 19:46:03 version 1.143, 2021/01/18 21:46:09
Line 56  sub fail { Line 56  sub fail {
 }  }
   
 sub start_page {  sub start_page {
     my ($r,$title,$brcrum,$js)=@_;      my ($r,$title,$brcrum,$bread_crumbs_component,$js)=@_;
     my $args;      my $args;
     if (ref($brcrum) eq 'ARRAY') {      if (ref($brcrum) eq 'ARRAY') {
         $args = {bread_crumbs => $brcrum};          $args = {bread_crumbs => $brcrum};
           if ($bread_crumbs_component) {    
               $args->{bread_crumbs_component} = $bread_crumbs_component;    
           }
     }      }
     if (($env{'form.requestattempt'}) || ($env{'form.command'} eq 'manageresv')) {      if (($env{'form.requestattempt'}) || ($env{'form.command'} eq 'manageresv')) {
         my %loaditems = (          my %loaditems = (
Line 769  sub release_slot { Line 772  sub release_slot {
     my ($result,$msg) =      my ($result,$msg) =
  &release_reservation($slot_name,$uname,$udom,$symb,$mgr);   &release_reservation($slot_name,$uname,$udom,$symb,$mgr);
     if (!$result) {      if (!$result) {
         $r->print('<p><span class="LC_error">'.&mt($msg).'</span></p>');          $r->print('<p class="LC_error">'.&mt($msg).'</p>');
     } else {      } else {
         $r->print("<p>$msg</p>");          $r->print("<p>$msg</p>");
     }      }
Line 941  sub release_reservation { Line 944  sub release_reservation {
             } else {              } else {
                 if (keys(%to_delete)) {                  if (keys(%to_delete)) {
                     $msg = &mt('Reservation release partially complete for [_1]',$description);                      $msg = &mt('Reservation release partially complete for [_1]',$description);
                 } else {                   } else {
                     $msg = &mt('No entries found for this user to release for [_1].',$description);                      $msg = &mt('No entries found for this user to release for [_1].',$description);
                 }                  }
                 return (0,$msg);                  return (0,$msg);
Line 995  sub release_reservation { Line 998  sub release_reservation {
   
     #      #
     # If release is *not* because of a reservation change, i.e., this is a "drop"      # If release is *not* because of a reservation change, i.e., this is a "drop"
     # by a student, or a removal for a single student by an instructor then       # by a student, or a removal for a single student by an instructor then
     # only remove one entry from slot_reservations.db, where both the user      # only remove one entry from slot_reservations.db, where both the user
     # and the symb match the current context.  If useslots was set to map or      # and the symb match the current context.  If useslots was set to map or
     # map_map, then the symb to match in slot_reservations.db is the symb of      # map_map, then the symb to match in slot_reservations.db is the symb of
Line 1006  sub release_reservation { Line 1009  sub release_reservation {
     if ($parm_level == 2) {      if ($parm_level == 2) {
         $symb_to_check = $map_symb;          $symb_to_check = $map_symb;
     } else {      } else {
         $symb_to_check = $parm_symb;           $symb_to_check = $parm_symb;
     }      }
     foreach my $entry (keys(%consumed)) {      foreach my $entry (keys(%consumed)) {
         if ( $consumed{$entry}->{'name'} eq ($uname.':'.$udom) ) {          if ( $consumed{$entry}->{'name'} eq ($uname.':'.$udom) ) {
Line 1024  sub release_reservation { Line 1027  sub release_reservation {
                                $cnum,$udom,$uname,$context) =~ /^error/) {                                 $cnum,$udom,$uname,$context) =~ /^error/) {
             if ($mgr eq 'F') {              if ($mgr eq 'F') {
                 $msg = &mt('Reservation release partially complete for: [_1]',"$uname:$udom").'<br />'.                  $msg = &mt('Reservation release partially complete for: [_1]',"$uname:$udom").'<br />'.
                        &mt('Update of availablestudent parameter for [_1] was not completed.',"$uname:$udom");                          &mt('Update of availablestudent parameter for [_1] was not completed.',"$uname:$udom");
             } else {              } else {
                 $msg = &mt('Release partially complete for: [_1]',$description);                  $msg = &mt('Release partially complete for: [_1]',$description);
             }              }
             return (0,$msg);              return (0,$msg);
         } else {          } else {
             if ($mgr eq 'F') {              if ($mgr eq 'F') {
         $msg = &mt('Released Reservation for user: [_1]',"$uname:$udom");                  $msg = &mt('Released Reservation for user: [_1]',"$uname:$udom");
             } else {              } else {
         $msg = '<span style="font-weight: bold;">'.&mt('Released reservation: [_1]',$description).'</span><br /><br />';                  $msg = '<span style="font-weight: bold;">'.&mt('Released reservation: [_1]',$description).'</span><br /><br />';
                 my $person = &Apache::loncommon::plainname($env{'user.name'},$env{'user.domain'});                  my $person = &Apache::loncommon::plainname($env{'user.name'},$env{'user.domain'});
                 my $subject = &mt('Reservation change: [_1]',$description);                  my $subject = &mt('Reservation change: [_1]',$description);
                 my $msgbody = &mt('Reservation released by [_1] for [_2].',$person,$description);                  my $msgbody = &mt('Reservation released by [_1] for [_2].',$person,$description);
Line 1119  sub delete_slot { Line 1122  sub delete_slot {
  if ($ret eq 'ok') {   if ($ret eq 'ok') {
     $r->print('<p>'.&mt('Slot [_1] marked as deleted.','<tt>'.$slot_name.'</tt>').'</p>');      $r->print('<p>'.&mt('Slot [_1] marked as deleted.','<tt>'.$slot_name.'</tt>').'</p>');
  } else {   } else {
     $r->print('<p><span class="LC_error">'.&mt('An error occurred when attempting to delete slot: [_1]','<tt>'.$slot_name.'</tt>')." ($ret)</span></p>");      $r->print('<p class="LC_error">'.&mt('An error occurred when attempting to delete slot: [_1]','<tt>'.$slot_name.'</tt>')." ($ret)</p>");
  }   }
     } else {      } else {
  if (%consumed) {   if (%consumed) {
Line 1151  sub get_slot { Line 1154  sub get_slot {
     my $slot_name=&check_for_conflict($symb,$env{'form.slotname'},\%slot);      my $slot_name=&check_for_conflict($symb,$env{'form.slotname'},\%slot);
   
     if ($slot_name =~ /^error: (.*)/) {      if ($slot_name =~ /^error: (.*)/) {
  $r->print('<p><span class="LC_error">'   $r->print('<p class="LC_error">'
                  .&mt('An error occurred while attempting to make a reservation. ([_1])',$1)                   .&mt('An error occurred while attempting to make a reservation. ([_1])',$1)
                  .'</span></p>');                   .'</p>');
  &return_link($r);   &return_link($r);
  return 0;   return 0;
     }      }
Line 1206  STUFF Line 1209  STUFF
     if (defined($reserved)) {      if (defined($reserved)) {
  my $retvalue = 0;   my $retvalue = 0;
  if ($slot_name =~ /^error: (.*)/) {   if ($slot_name =~ /^error: (.*)/) {
     $r->print('<p><span class="LC_error">'      $r->print('<p class="LC_error">'
                      .&mt('An error occurred while attempting to make a reservation. ([_1])',$1)                       .&mt('An error occurred while attempting to make a reservation. ([_1])',$1)
                      .'</span></p>');                       .'</p>');
  } elsif ($reserved > -1) {   } elsif ($reserved > -1) {
     $r->print('<p style="font-weight: bold;">'.&mt('Successfully signed up:  [_1]',$description).'</p>');      $r->print('<p style="font-weight: bold;">'.&mt('Successfully signed up:  [_1]',$description).'</p>');
     $retvalue = 1;      $retvalue = 1;
Line 1663  sub show_table { Line 1666  sub show_table {
     }       } 
     my $available;      my $available;
     if ($mgr eq 'F') {      if ($mgr eq 'F') {
     # FIXME: This line should be deleted once Slots uses breadcrumbs  
     $r->print('<br />'.&Apache::loncommon::help_open_topic(  
         'Slot About', &mt('Help on slots')));  
   
  $r->print('<div>');   $r->print('<div>');
  $r->print('<form method="post" action="/adm/slotrequest">   $r->print('<form method="post" action="/adm/slotrequest">
 <input type="hidden" name="command" value="uploadstart" />  <input type="hidden" name="command" value="uploadstart" />
Line 1676  sub show_table { Line 1675  sub show_table {
  $r->print('<form method="post" action="/adm/helper/newslot.helper">   $r->print('<form method="post" action="/adm/helper/newslot.helper">
 <input type="submit" name="newslot" value="'.&mt('Create a New Slot').'" />  <input type="submit" name="newslot" value="'.&mt('Create a New Slot').'" />
 </form>');  </form>');
  $r->print(&Apache::loncommon::help_open_topic('Slot AddInterface'));   $r->print(&Apache::loncommon::help_open_topic('Slot About'));
  $r->print('</div>');   $r->print('</div>');
     }      }
   
Line 3300  sub csv_upload_assign { Line 3299  sub csv_upload_assign {
  'secret','symb') {   'secret','symb') {
     if ($entries{$fields{$key}}) {      if ($entries{$fields{$key}}) {
  $slot{$key}=$entries{$fields{$key}};   $slot{$key}=$entries{$fields{$key}};
                   if ($key eq 'maxspace') {
                       $slot{$key} =~ s/\D+//g;
                   }
     }      }
  }   }
         if ($entries{$fields{'iptied'}} =~ /^\s*(yes|1)\s*$/i) {          if ($entries{$fields{'iptied'}} =~ /^\s*(yes|1)\s*$/i) {
Line 3407  sub handler { Line 3409  sub handler {
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'});      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'});
   
     my %crumb_titles = &slot_command_titles();      my %crumb_titles = &slot_command_titles();
     my $brcrum;      my ($brcrum,$bread_crumbs_component);
   
     my $vgr=&Apache::lonnet::allowed('vgr',$env{'request.course.id'});      my $vgr=&Apache::lonnet::allowed('vgr',$env{'request.course.id'});
     my $mgr=&Apache::lonnet::allowed('mgr',$env{'request.course.id'});      my $mgr=&Apache::lonnet::allowed('mgr',$env{'request.course.id'});
Line 3443  sub handler { Line 3445  sub handler {
     } elsif ($vgr eq 'F') {      } elsif ($vgr eq 'F') {
         if ($env{'form.command'} =~ /^(slotlog|showslots|uploadstart|csvuploadmap|csvuploadassign|delete|release|remove_registration)$/) {          if ($env{'form.command'} =~ /^(slotlog|showslots|uploadstart|csvuploadmap|csvuploadassign|delete|release|remove_registration)$/) {
             $brcrum =[{href=>"/adm/slotrequest?command=showslots",              $brcrum =[{href=>"/adm/slotrequest?command=showslots",
                        text=>$crumb_titles{'showslots'}}];                         text=>$crumb_titles{'showslots'},
                          help=>'Slot_Use'}];
     $title = 'Managing Slots';      $title = 'Managing Slots';
               $bread_crumbs_component = 'Slots';
             unless ($env{'form.command'} eq 'showslots') {              unless ($env{'form.command'} eq 'showslots') {
                 if (ref($brcrum) eq 'ARRAY') {                  if (ref($brcrum) eq 'ARRAY') {
                     push(@{$brcrum},{href=>"/adm/slotrequest?command=$env{'form.command'}",text=>$crumb_titles{$env{'form.command'}}});                      push(@{$brcrum},{href=>"/adm/slotrequest?command=$env{'form.command'}",text=>$crumb_titles{$env{'form.command'}}});
Line 3472  sub handler { Line 3476  sub handler {
     if (($env{'form.requestattempt'}) || ($env{'form.command'} eq 'manageresv')) {      if (($env{'form.requestattempt'}) || ($env{'form.command'} eq 'manageresv')) {
         $js = &reservation_js(\%slots,$consumed_uniqueperiods,$available,$got_slots,$symb);          $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') {      if ($env{'form.command'} eq 'manageresv') {
         $allavailable = $available;          $allavailable = $available;

Removed from v.1.141  
changed lines
  Added in v.1.143


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>