Diff for /loncom/interface/lonnavmaps.pm between versions 1.134 and 1.136

version 1.134, 2003/02/04 16:14:27 version 1.136, 2003/02/04 16:37:51
Line 56  sub NOTHING { return 3; } Line 56  sub NOTHING { return 3; }
   
 # Some data  # Some data
   
   # Keep these mappings in sync with lonquickgrades, which uses the colors
   # instead of the icons.
   my %statusIconMap = 
       ( Apache::lonnavmaps::resource->NETWORK_FAILURE    => '',
         Apache::lonnavmaps::resource->NOTHING_SET        => '',
         Apache::lonnavmaps::resource->CORRECT            => 'navmap.correct.gif',
         Apache::lonnavmaps::resource->EXCUSED            => 'navmap.correct.gif',
         Apache::lonnavmaps::resource->PAST_DUE_NO_ANSWER => 'navmap.wrong.gif',
         Apache::lonnavmaps::resource->PAST_DUE_ANSWER_LATER => 'navmap.wrong.gif',
         Apache::lonnavmaps::resource->ANSWER_OPEN        => 'navmap.wrong.gif',
         Apache::lonnavmaps::resource->OPEN_LATER         => '',
         Apache::lonnavmaps::resource->TRIES_LEFT         => 'navmap.open.gif',
         Apache::lonnavmaps::resource->INCORRECT          => 'navmap.wrong.gif',
         Apache::lonnavmaps::resource->OPEN               => 'navmap.open.gif',
         Apache::lonnavmaps::resource->ATTEMPTED          => 'navmap.open.gif' );
   
   my %iconAltTags = 
       ( 'navmap.correct.gif' => 'Correct',
         'navmap.wrong.gif'   => 'Incorrect',
         'navmap.open.gif'    => 'Open' );
   
   # Defines a status->color mapping, null string means don't color
   my %colormap = 
       ( Apache::lonnavmaps::resource->NETWORK_FAILURE        => '',
         Apache::lonnavmaps::resource->CORRECT                => '',
         Apache::lonnavmaps::resource->EXCUSED                => '#3333FF',
         Apache::lonnavmaps::resource->PAST_DUE_ANSWER_LATER  => '',
         Apache::lonnavmaps::resource->PAST_DUE_NO_ANSWER     => '',
         Apache::lonnavmaps::resource->ANSWER_OPEN            => '#006600',
         Apache::lonnavmaps::resource->OPEN_LATER             => '',
         Apache::lonnavmaps::resource->TRIES_LEFT             => '',
         Apache::lonnavmaps::resource->INCORRECT              => '',
         Apache::lonnavmaps::resource->OPEN                   => '',
         Apache::lonnavmaps::resource->NOTHING_SET            => ''        );
   # And a special case in the nav map; what to do when the assignment
   # is not yet done and due in less then 24 hours
   my $hurryUpColor = "#FF0000";
   
 sub cleanup {  sub cleanup {
     if (tied(%navmaphash)){      if (tied(%navmaphash)){
Line 222  sub real_handler { Line 259  sub real_handler {
     # These are some data tables, which make it easy to change some of      # These are some data tables, which make it easy to change some of
     # of the specific visualization parameters if desired.      # of the specific visualization parameters if desired.
   
     # Defines a status->color mapping, null string means don't color  
     my %colormap =   
     ( $res->NETWORK_FAILURE        => '',  
       $res->CORRECT                => '',  
       $res->EXCUSED                => '#3333FF',  
       $res->PAST_DUE_ANSWER_LATER  => '',  
       $res->PAST_DUE_NO_ANSWER     => '',  
       $res->ANSWER_OPEN            => '#006600',  
       $res->OPEN_LATER             => '',  
       $res->TRIES_LEFT             => '',  
       $res->INCORRECT              => '',  
       $res->OPEN                   => '',  
       $res->NOTHING_SET            => ''        );  
     # And a special case in the nav map; what to do when the assignment  
     # is not yet done and due in less then 24 hours  
     my $hurryUpColor = "#FF0000";  
   
     # Keep these mappings in sync with lonquickgrades, which uses the colors  
     # instead of the icons.  
     my %statusIconMap =   
         ( $res->NETWORK_FAILURE    => '',  
           $res->NOTHING_SET        => '',  
           $res->CORRECT            => 'navmap.correct.gif',  
           $res->EXCUSED            => 'navmap.correct.gif',  
           $res->PAST_DUE_NO_ANSWER => 'navmap.wrong.gif',  
           $res->PAST_DUE_ANSWER_LATER => 'navmap.wrong.gif',  
           $res->ANSWER_OPEN        => 'navmap.wrong.gif',  
           $res->OPEN_LATER         => '',  
           $res->TRIES_LEFT         => 'navmap.open.gif',  
           $res->INCORRECT          => 'navmap.wrong.gif',  
           $res->OPEN               => 'navmap.open.gif',  
           $res->ATTEMPTED          => 'navmap.open.gif' );  
   
     my %iconAltTags =   
         ( 'navmap.correct.gif' => 'Correct',  
           'navmap.wrong.gif'   => 'Incorrect',  
           'navmap.open.gif'    => 'Open' );  
   
     my %condenseStatuses =      my %condenseStatuses =
         ( $res->NETWORK_FAILURE    => 1,          ( $res->NETWORK_FAILURE    => 1,
           $res->NOTHING_SET        => 1,            $res->NOTHING_SET        => 1,
Line 555  sub real_handler { Line 554  sub real_handler {
   
                 }                  }
                                   
                 my $colorizer = "";  
                 my $color;                  my $color;
                 if ($curRes->is_problem()) {                  if ($curRes->is_problem()) {
                     $color = $colormap{$curRes->status};                      $color = $colormap{$curRes->status};
Line 564  sub real_handler { Line 562  sub real_handler {
                         lastTry($curRes, $part)) {                          lastTry($curRes, $part)) {
                         $color = $hurryUpColor;                          $color = $hurryUpColor;
                     }                      }
   
                     if ($color ne "") {  
                         $colorizer = "bgcolor=\"$color\"";  
                     }  
                 }                  }
   
                 if ($curRes->randomout()) {                  if ($curRes->randomout()) {
Line 1061  sub long_status { return 3; } Line 1055  sub long_status { return 3; }
   
 # Data for render_resource  # Data for render_resource
   
 my $resObj = 'Apache::lonnavmaps::resource';  
 # Defines a status->color mapping, null string means don't color  
 my %colormap =   
     ( $resObj->NETWORK_FAILURE        => '',  
       $resObj->CORRECT                => '',  
       $resObj->EXCUSED                => '#3333FF',  
       $resObj->PAST_DUE_ANSWER_LATER  => '',  
       $resObj->PAST_DUE_NO_ANSWER     => '',  
       $resObj->ANSWER_OPEN            => '#006600',  
       $resObj->OPEN_LATER             => '',  
       $resObj->TRIES_LEFT             => '',  
       $resObj->INCORRECT              => '',  
       $resObj->OPEN                   => '',  
       $resObj->NOTHING_SET            => ''        );  
 # And a special case in the nav map; what to do when the assignment  
 # is not yet done and due in less then 24 hours  
 my $hurryUpColor = "#FF0000";  
   
 sub render_resource {  sub render_resource {
     my ($resource, $part, $params) = @_;      my ($resource, $part, $params) = @_;
   
Line 1227  sub render_communication_status { Line 1203  sub render_communication_status {
 }  }
 sub render_quick_status {  sub render_quick_status {
     my ($resource, $part, $params) = @_;      my ($resource, $part, $params) = @_;
     return "<td align='center'>quick_status</td>";      my $result = "";
       my $firstDisplayed = !$params->{'condensed'} && 
           $params->{'multipart'} && $part eq "0";
   
       my $link = $params->{"resourceLink"};
       my $linkopen = "<a href='$link'>";
       my $linkclose = "</a>";
   
       if ($resource->is_problem() &&
           !$firstDisplayed) {
           my $icon = $statusIconMap{$resource->status($part)};
           my $alt = $iconAltTags{$icon};
           if ($icon) {
               $result .= "<td width='30' valign='center' width='50' align='right'>$linkopen<img width='25' height='25' src='/adm/lonIcons/$icon' border='0' alt='$alt' />$linkclose</td>\n";
           } else {
               $result .= "<td width='30'>&nbsp;</td>\n";
           }
       } else { # not problem, no icon
           $result .= "<td width='30'>&nbsp;</td>\n";
       }
   
       return $result;
 }  }
 sub render_long_status {  sub render_long_status {
     my ($resource, $part, $params) = @_;      my ($resource, $part, $params) = @_;
     return "<td align='center'>long_status</td>";      my $result = "<td align='right' valign='center'>\n";
       my $firstDisplayed = !$params->{'condensed'} && 
           $params->{'multipart'} && $part eq "0";
                   
       my $color;
       if ($resource->is_problem()) {
           $color = $colormap{$resource->status};
           
           if (dueInLessThen24Hours($resource, $part) ||
               lastTry($resource, $part)) {
               $color = $hurryUpColor;
           }
       }
       
       if ($resource->kind() eq "res" &&
           $resource->is_problem() &&
           !$firstDisplayed) {
           if ($color) {$result .= "<font color=\"$color\"><b>"; }
           $result .= getDescription($resource, $part);
           if ($color) {$result .= "</b></font>"; }
       }
       if ($resource->is_map() && advancedUser() && $resource->randompick()) {
           $result .= '(randomly select ' . $resource->randompick() .')';
       }
       
       $result .= "&nbsp;</td>\n";
       
       return $result;
 }  }
   
 my @preparedColumns = (\&render_resource, \&render_communication_status,  my @preparedColumns = (\&render_resource, \&render_communication_status,

Removed from v.1.134  
changed lines
  Added in v.1.136


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