[LON-CAPA-cvs] cvs: loncom /homework inputtags.pm optionresponse.pm /interface loncommon.pm
albertel
lon-capa-cvs-allow@mail.lon-capa.org
Mon, 16 Apr 2007 22:50:45 -0000
This is a MIME encoded message
--albertel1176763845
Content-Type: text/plain
albertel Mon Apr 16 18:50:45 2007 EDT
Modified files:
/loncom/homework inputtags.pm optionresponse.pm
/loncom/interface loncommon.pm
Log:
- bug#2622
- color extended across whole row
- make the try count stand out more
- correct message updated
- option response display vertically
- coverted response messages to be css rather than staitic colros
--albertel1176763845
Content-Type: text/plain
Content-Disposition: attachment; filename="albertel-20070416185045.txt"
Index: loncom/homework/inputtags.pm
diff -u loncom/homework/inputtags.pm:1.220 loncom/homework/inputtags.pm:1.221
--- loncom/homework/inputtags.pm:1.220 Wed Mar 14 22:54:28 2007
+++ loncom/homework/inputtags.pm Mon Apr 16 18:50:41 2007
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# input definitons
#
-# $Id: inputtags.pm,v 1.220 2007/03/15 02:54:28 albertel Exp $
+# $Id: inputtags.pm,v 1.221 2007/04/16 22:50:41 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -586,14 +586,14 @@
my $message='';
my $button=0;
my $previousmsg;
- my $bgcolor='orange';
+ my $css_class='orange';
my $added_computer_text=0;
- my %possiblecolors =
- ( 'correct' => '#aaffaa',
- 'charged_try' => '#ffaaaa',
- 'not_charged_try' => '#ffffaa',
- 'no_grade' => '#ffffaa',
- 'no_message' => '#ffffff',
+ my %possible_class =
+ ( 'correct' => 'LC_answer_correct',
+ 'charged_try' => 'LC_answer_charged_try',
+ 'not_charged_try' => 'LC_answer_not_charged_try',
+ 'no_grade' => 'LC_answer_no_grade',
+ 'no_message' => 'LC_no_message',
);
my $part = $Apache::inputtags::part;
@@ -607,14 +607,14 @@
if ($previous) { $previousmsg=&mt('You have entered that answer before'); }
if ($solved =~ /^correct/) {
- $bgcolor=$possiblecolors{'correct'};
+ $css_class=$possible_class{'correct'};
$message=&mt('You are correct.');
if ($awarded < 1 && $awarded > 0) {
$message=&mt('You are partially correct.');
- $bgcolor=$possiblecolors{'not_charged_try'};
+ $css_class=$possible_class{'not_charged_try'};
} elsif ($awarded < 1) {
$message=&mt('Incorrect.');
- $bgcolor=$possiblecolors{'charged_try'};
+ $css_class=$possible_class{'charged_try'};
}
if ($env{'request.filename'} =~
m|/res/lib/templates/examupload.problem$|) {
@@ -646,13 +646,13 @@
} else {
$message = "<b>".&mt('You are excused from the problem.')."</b>";
}
- $bgcolor=$possiblecolors{'charged_try'};
+ $css_class=$possible_class{'charged_try'};
$button=0;
$previousmsg='';
} elsif ($award eq 'EXACT_ANS' || $award eq 'APPROX_ANS' ) {
if ($solved =~ /^incorrect/ || $solved eq '') {
$message = &mt("Incorrect").".";
- $bgcolor=$possiblecolors{'charged_try'};
+ $css_class=$possible_class{'charged_try'};
$button=1;
} else {
if ($target eq 'tex') {
@@ -669,105 +669,105 @@
'Your receipt is '.&Apache::lonnet::receipt($Apache::inputtags::part).
(($target eq 'web')?&Apache::loncommon::help_open_topic('Receipt'):'');
}
- $bgcolor=$possiblecolors{'correct'};
+ $css_class=$possible_class{'correct'};
$button=0;
$previousmsg='';
}
} elsif ($award eq 'NO_RESPONSE') {
$message = '';
- $bgcolor=$possiblecolors{'no_feedback'};
+ $css_class=$possible_class{'no_feedback'};
$button=1;
} elsif ($award eq 'EXTRA_ANSWER') {
$message = &mt('Some extra items were submitted.');
- $bgcolor=$possiblecolors{'not_charged_try'};
+ $css_class=$possible_class{'not_charged_try'};
$button = 1;
} elsif ($award eq 'MISSING_ANSWER') {
$message = &mt('Some items were not submitted.');
- $bgcolor=$possiblecolors{'not_charged_try'};
+ $css_class=$possible_class{'not_charged_try'};
$button = 1;
} elsif ($award eq 'ERROR') {
$message = &mt('An error occured while grading your answer.');
- $bgcolor=$possiblecolors{'not_charged_try'};
+ $css_class=$possible_class{'not_charged_try'};
$button = 1;
} elsif ($award eq 'TOO_LONG') {
$message = &mt("The submitted answer was too long.");
- $bgcolor=$possiblecolors{'not_charged_try'};
+ $css_class=$possible_class{'not_charged_try'};
$button=1;
} elsif ($award eq 'WANTED_NUMERIC') {
$message = &mt("This question expects a numeric answer.");
- $bgcolor=$possiblecolors{'not_charged_try'};
+ $css_class=$possible_class{'not_charged_try'};
$button=1;
} elsif ($award eq 'MISORDERED_RANK') {
$message = &mt('You have provided an invalid ranking');
if ($target ne 'tex') {
$message.=', '.&mt('please refer to').' '.&Apache::loncommon::help_open_topic('Ranking_Problems','help on ranking problems');
}
- $bgcolor=$possiblecolors{'not_charged_try'};
+ $css_class=$possible_class{'not_charged_try'};
$button=1;
} elsif ($award eq 'INVALID_FILETYPE') {
$message = &mt('Submission won\'t be graded. The type of file submitted is not allowed.');
- $bgcolor=$possiblecolors{'not_charged_try'};
+ $css_class=$possible_class{'not_charged_try'};
$button=1;
} elsif ($award eq 'SIG_FAIL') {
my ($used,$min,$max)=split(':',$awardmsg);
my $word = ($used < $min) ? 'more' : 'fewer';
$message = &mt("Submission not graded. Use $word digits.",$used);
- $bgcolor=$possiblecolors{'not_charged_try'};
+ $css_class=$possible_class{'not_charged_try'};
$button=1;
} elsif ($award eq 'UNIT_INVALID_INSTRUCTOR') {
$message = &mt('Error in instructor specifed unit. This error has been reported to the instructor.', $awardmsg);
if ($target ne 'tex') {$message.=&Apache::loncommon::help_open_topic('Physical_Units');}
- $bgcolor=$possiblecolors{'not_charged_try'};
+ $css_class=$possible_class{'not_charged_try'};
$button=1;
} elsif ($award eq 'UNIT_INVALID_STUDENT') {
$message = &mt('Unable to interpret units. Computer reads units as "[_1]".',&markup_unit($awardmsg,$target));
if ($target ne 'tex') {$message.=&Apache::loncommon::help_open_topic('Physical_Units');}
- $bgcolor=$possiblecolors{'not_charged_try'};
+ $css_class=$possible_class{'not_charged_try'};
$button=1;
} elsif ($award eq 'UNIT_FAIL' || $award eq 'UNIT_IRRECONCIBLE') {
$message = &mt('Incompatible units. No conversion found between "[_1]" and the required units.',&markup_unit($awardmsg,$target));
if ($target ne 'tex') {$message.=&Apache::loncommon::help_open_topic('Physical_Units');}
- $bgcolor=$possiblecolors{'not_charged_try'};
+ $css_class=$possible_class{'not_charged_try'};
$button=1;
} elsif ($award eq 'UNIT_NOTNEEDED') {
$message = &mt('Only a number required. Computer reads units of "[_1]".',&markup_unit($awardmsg,$target));
- $bgcolor=$possiblecolors{'not_charged_try'};
+ $css_class=$possible_class{'not_charged_try'};
$button=1;
} elsif ($award eq 'NO_UNIT') {
$message = &mt("Units required").'.';
if ($target ne 'tex') {$message.=&Apache::loncommon::help_open_topic('Physical_Units')};
- $bgcolor=$possiblecolors{'not_charged_try'};
+ $css_class=$possible_class{'not_charged_try'};
$button=1;
} elsif ($award eq 'COMMA_FAIL') {
$message = &mt("Proper comma separation is required").'.';
- $bgcolor=$possiblecolors{'not_charged_try'};
+ $css_class=$possible_class{'not_charged_try'};
$button=1;
} elsif ($award eq 'BAD_FORMULA') {
$message = &mt("Unable to understand formula");
- $bgcolor=$possiblecolors{'not_charged_try'};
+ $css_class=$possible_class{'not_charged_try'};
$button=1;
} elsif ($award eq 'INCORRECT') {
$message = &mt("Incorrect").'.';
- $bgcolor=$possiblecolors{'charged_try'};
+ $css_class=$possible_class{'charged_try'};
$button=1;
} elsif ($award eq 'SUBMITTED') {
$message = &mt("Your submission has been recorded.");
- $bgcolor=$possiblecolors{'no_grade'};
+ $css_class=$possible_class{'no_grade'};
$button=1;
} elsif ($award eq 'DRAFT') {
$message = &mt("A draft copy has been saved.");
- $bgcolor=$possiblecolors{'not_charged_try'};
+ $css_class=$possible_class{'not_charged_try'};
$button=1;
} elsif ($award eq 'ASSIGNED_SCORE') {
$message = &mt("A score has been assigned.");
- $bgcolor=$possiblecolors{'correct'};
+ $css_class=$possible_class{'correct'};
$button=0;
} elsif ($award eq '') {
if ($handgrade && $Apache::inputtags::status[-1] eq 'SHOW_ANSWER') {
$message = &mt("Nothing submitted.");
- $bgcolor=$possiblecolors{'charged_try'};
+ $css_class=$possible_class{'charged_try'};
} else {
- $bgcolor=$possiblecolors{'not_charged_try'};
+ $css_class=$possible_class{'not_charged_try'};
}
$button=1;
} else {
@@ -791,7 +791,7 @@
if (lc($Apache::lonhomework::problemstatus) eq 'no' &&
$Apache::inputtags::status[-1] ne 'SHOW_ANSWER') {
$message = &mt("Answer Submitted: Your final submission will be graded after the due date.");
- $bgcolor=$possiblecolors{'no_grade'};
+ $css_class=$possible_class{'no_grade'};
$button=1;
}
if ($Apache::inputtags::status[-1] eq 'SHOW_ANSWER' &&
@@ -799,7 +799,7 @@
$message.= $computer;
$added_computer_text=1;
}
- return ($button,$bgcolor,$message,$previousmsg);
+ return ($button,$css_class,$message,$previousmsg);
}
sub markup_unit {
@@ -1045,15 +1045,15 @@
&Apache::lonxml::debug("Found Award |$award|$solved|$awardmsg");
if ( $award ne '' || $solved ne '' || $status eq 'SHOW_ANSWER') {
&Apache::lonxml::debug('Getting message');
- ($showbutton,my $bgcolor,$message,$previousmsg) =
+ ($showbutton,my $css_class,$message,$previousmsg) =
&decideoutput($award,$awarded,$awardmsg,$solved,$previous,
$target);
if ($target eq 'tex') {
$message='\vskip 2 mm '.$message.' ';
} else {
- $message="<td bgcolor=\"$bgcolor\">$message</td>";
+ $message="<td class=\"$css_class\">$message</td>";
if ($previousmsg) {
- $previousmsg="<td bgcolor=\"#aaaaff\">$previousmsg</td>";
+ $previousmsg="<td class=\"LC_answer_previous\">$previousmsg</td>";
}
}
}
@@ -1094,11 +1094,12 @@
$trystr.="</nobr></td>";
}
}
+
if ($Apache::lonhomework::history{"$prefix.afterduedate"}) {
#last submissions was after due date
$latemessage=&mt(' The last submission was after the Due Date ');;
if ($target eq 'web') {
- $latemessage='<td bgcolor="#ffaaaa">'.$latemessage.'</td>';
+ $latemessage='<td class="LC_answer_late">'.$latemessage.'</td>';
}
}
return ($previousmsg,$latemessage,$message,$trystr,$showbutton);
@@ -1168,23 +1169,27 @@
($previousmsg,$latemessage,$message,$trystr) =
&get_grade_messages($id,"$prefix",$target,$status);
- if (!exists($Apache::lonhomework::history{"$prefix.tries"})) {
- undef($trystr);
- }
if ($previousmsg ne '') {
my ($match,$which) = &find_which_previous($i);
$message=$previousmsg;
my $previous = $count_lookup{$which};
- $message =~ s{(</td>)}{ as submission $previous $1};
-
- } elsif ($trystr ne '') {
- ($trystr) = ($trystr =~ m{(\d+)/\d+});
- $message =~ s{(<td.*?>)}{$1 $trystr };
+ $message =~ s{(</td>)}{ as submission # $previous $1};
+ } elsif ($Apache::lonhomework::history{"$prefix.tries"}) {
+ if ( $Apache::lonhomework::history{"$prefix.solved"} =~
+ /^correct/) {
+ $message =~ s{(<td.*?>)(.*?)(</td>)}
+ {$1 <strong>Correct</strong>. $3};
+ }
+ my $trystr = "(Try ".
+ $Apache::lonhomework::history{"$prefix.tries"}.')';
+ $message =~ s{(</td>)}{ $trystr $1};
}
+ my ($class) = ($message =~ m{<td.*class="([^"]*)"}); #"
+ $message =~ s{(<td.*?>)}{<td>};
+
-
- $output.='<tr>';
+ $output.='<tr class="'.$class.'">';
$output.='<td align ="center">'.$count.'</td>';
$output.=$message;
@@ -1202,11 +1207,11 @@
$output.='<td></td>';
}
}
- $output.='</tr>'."\n";
+ $output.=&Apache::loncommon::end_data_table_row()."\n";
}
return if ($output eq '');
my $headers =
- '<tr>'.'<th>'.&mt('Submission #').'</th><th>'.&mt('Try').
+ '<tr>'.'<th>'.&mt('Submission #').'</th><th>'.&mt(' ').
'</th><th colspan="'.scalar(@Apache::inputtags::response).'">'.
&mt('Submitted Answer').'</th>';
$output ='<table class="LC_prior_tries">'.$headers.$output.'</table>';
Index: loncom/homework/optionresponse.pm
diff -u loncom/homework/optionresponse.pm:1.141 loncom/homework/optionresponse.pm:1.142
--- loncom/homework/optionresponse.pm:1.141 Fri Apr 6 12:54:48 2007
+++ loncom/homework/optionresponse.pm Mon Apr 16 18:50:41 2007
@@ -1,7 +1,7 @@
# LearningOnline Network with CAPA
# option list style responses
#
-# $Id: optionresponse.pm,v 1.141 2007/04/06 16:54:48 albertel Exp $
+# $Id: optionresponse.pm,v 1.142 2007/04/16 22:50:41 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -367,11 +367,11 @@
my $output;
foreach my $name (@$whichopt) {
next if (!defined($lastresponse{$name}));
- $output .= '<td>'.$lastresponse{$name}.'</td>';
+ $output .= '<tr><td>'.$lastresponse{$name}.'</td></tr>';
}
next if (!defined($output));
$output =
- '<table class="LC_optres_prior"><tr>'.$output.'</tr></table>';
+ '<table class="LC_prior_option">'.$output.'</table>';
$Apache::inputtags::submission_display{$key} = $output;
}
}
Index: loncom/interface/loncommon.pm
diff -u loncom/interface/loncommon.pm:1.522 loncom/interface/loncommon.pm:1.523
--- loncom/interface/loncommon.pm:1.522 Fri Apr 13 16:22:15 2007
+++ loncom/interface/loncommon.pm Mon Apr 16 18:50:44 2007
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.522 2007/04/13 20:22:15 albertel Exp $
+# $Id: loncommon.pm,v 1.523 2007/04/16 22:50:44 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -3690,20 +3690,18 @@
my $border = ($env{'browser.type'} eq 'explorer') ? '0px 2px 0px 2px'
: '0px 3px 0px 4px';
+
return <<END;
h1, h2, h3, th { font-family: $sans }
a:focus { color: red; background: yellow }
table.thinborder,
-table.LC_optres_prior {
- border-collapse: collapse;
-}
+
table.thinborder tr th {
border-style: solid;
border-width: 1px;
background: $tabbg;
}
-table.thinborder tr td,
-table.LC_optres_prior tr td {
+table.thinborder tr td {
border-style: solid;
border-width: 1px
}
@@ -3901,7 +3899,8 @@
border-spacing: 0px;
width: 100%;
}
-table.LC_data_table tr th, table.LC_calendar tr th, table.LC_mail_list tr th {
+table.LC_data_table tr th, table.LC_calendar tr th, table.LC_mail_list tr th,
+table.LC_prior_tries tr th {
font-weight: bold;
background-color: $data_table_head;
font-size: smaller;
@@ -4284,7 +4283,7 @@
border-color: gray;
border-collapse: collapse;
}
-table.LC_prior_tries th,
+
table.LC_prior_tries td {
border-width: 1px;
border-style: solid;
@@ -4295,9 +4294,47 @@
font-weight: bold;
background: #aaffaa;
}
+
+.LC_answer_correct {
+ background: #AAFFAA;
+ color: black;
+}
+.LC_answer_charged_try {
+ background: #FFAAAA ! important;
+ color: black;
+}
+.LC_answer_not_charged_try,
+.LC_answer_no_grade,
+.LC_answer_late {
+ background: #FFFFAA;
+ color: black;
+}
+.LC_answer_previous {
+ background: #AAAAFF;
+ color: black;
+}
+.LC_answer_no_message {
+ background: #FFFFFF;
+ color: black;
+}
+.LC_answer_unknown {
+ background: orange;
+ color: black;
+}
+
+
span.LC_prior_numerical {
- font-family: monospace;
- white-space: pre;
+ font-family: monospace;
+ white-space: pre;
+}
+
+table.LC_prior_option {
+ width: 100%;
+ border-collapse: collapse;
+}
+table.LC_prior_option tr td {
+ border-style: solid;
+ border-width: 1px
}
span.LC_nobreak {
--albertel1176763845--