--- loncom/interface/lonpdfupload.pm 2009/05/21 03:09:01 1.7
+++ loncom/interface/lonpdfupload.pm 2009/06/17 13:00:38 1.13
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
-# Publication Handler
+# PDF Form Upload Handler
#
-# $Id: lonpdfupload.pm,v 1.7 2009/05/21 03:09:01 onken Exp $
+# $Id: lonpdfupload.pm,v 1.13 2009/06/17 13:00:38 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -65,7 +65,15 @@ sub handler() {
$env{'request.uri'}=$r->uri;
$r->content_type('text/html');
$r->send_http_header();
- $r->print(&Apache::loncommon::start_page(&mt('Upload PDF Form')));
+
+ # Breadcrumbs
+ my $brcrum = [{'href' => '/pdfupload',
+ 'text' => 'Upload PDF Form'}];
+
+ $r->print(&Apache::loncommon::start_page('Upload PDF Form',
+ undef,
+ {'bread_crumbs' => $brcrum,})
+ );
#load post data into environment
&Apache::lonacc::get_posted_cgi($r);
@@ -164,7 +172,9 @@ sub get_uploadform() {
.' '
.&Apache::lonhtmlcommon::row_closure(1)
.&Apache::lonhtmlcommon::end_pick_box()
+ .'
'
.' '
+ .'
'
.''
.' ';
@@ -217,13 +227,6 @@ sub grade_pdf {
my $debug = ();
$debug .= "Found: ". scalar @pdfdata." Entries \n";
- $result .= ''.&mt('Results of PDF Form problems').' ';
- $result .= &Apache::loncommon::start_data_table()
- .&Apache::loncommon::start_data_table_header_row()
- .''.&mt('Problem Name').' '
- .''.&mt('Grading').' '
- .&Apache::loncommon::start_data_table_header_row()
- .&Apache::loncommon::end_data_table_header_row();
foreach my $entry (sort(@pdfdata)) {
if ($entry =~ /^meta.*/) {
@@ -233,7 +236,11 @@ sub grade_pdf {
$user =~ s/(.*)\n/$1/; #TODO is that equals to chomp?
if($user ne $env{'user.name'} or $domain ne $env{'user.domain'}) {
- return "".&mt('Wrong username in PDF-File').": $user $domain -> $env{'user.domain'} $env{'user.name'} ";
+ return ''
+ .&mt('Wrong username ([_1]) found in PDF file. Expected username: [_2]'
+ ,$user.':'.$domain
+ ,$env{'user.domain'}.':'.$env{'user.name'})
+ .'
';
}
} elsif($entry =~ /^upload.*/) {
@@ -254,7 +261,7 @@ sub grade_pdf {
$problems{$symb.$part}{$HWVAL} = $value;
} else {
$problems{$symb.$part} = { 'resource' => $resource,
- 'symb' => &Apache::lonenc::encrypted($symb),
+ 'symb' => $symb,
'submitted' => $part,
$submit => 'Answer',
$HWVAL => $value};
@@ -266,17 +273,26 @@ sub grade_pdf {
}
#$result .= $debug;
+ $result .= ''.&mt('Results of PDF Form problems').' ';
+ $result .= &Apache::loncommon::start_data_table()
+ .&Apache::loncommon::start_data_table_header_row()
+ .''.&mt('Problem Name').' '
+ .''.&mt('Grading').' '
+ .&Apache::loncommon::start_data_table_header_row()
+ .&Apache::loncommon::end_data_table_header_row();
+
foreach my $key (sort (keys %problems)) {
my %problem = %{$problems{$key}};
my ($problemname, $grade) = &grade_problem(%problem);
$result .= &Apache::loncommon::start_data_table_row();
$result .= "$problemname $grade ";
$result .= &Apache::loncommon::end_data_table_row();
}
@@ -306,6 +322,23 @@ sub grade_problem {
return ($title, $grade);
}
+sub parse_grade_answer {
+ my ($shortcut) = @_;
+ my %answerhash = ('EXACT_ANS' => &mt('You are correct.'),
+ 'APPROX_ANS' => &mt('You are correct.'),
+ 'INCORRECT' => &mt('You are incorrect'),
+ );
+
+ foreach my $key (keys %answerhash) {
+ if($shortcut eq $key) {
+ return $answerhash{$shortcut};
+ }
+ }
+ return &mt('See course contents for further information.');
+
+}
+
+
sub dumpenv {
my $r = shift;