--- loncom/homework/response.pm 2024/07/02 00:40:42 1.244.2.4
+++ loncom/homework/response.pm 2018/06/06 18:39:55 1.246
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# various response type definitons response definition
#
-# $Id: response.pm,v 1.244.2.4 2024/07/02 00:40:42 raeburn Exp $
+# $Id: response.pm,v 1.246 2018/06/06 18:39:55 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -265,10 +265,15 @@ sub mandatory_part_meta {
}
sub meta_part_order {
+ my ($type) = @_;
if (@Apache::inputtags::partlist) {
my @parts=@Apache::inputtags::partlist;
- shift(@parts);
+ unless ($type eq 'library') {
+ shift(@parts);
+ }
return ''.join(',',@parts).''."\n";
+ } elsif ($type eq 'library') {
+ return ''."\n";
} else {
return '0'."\n";
}
@@ -468,8 +473,8 @@ sub end_customresponse {
$error = $award;
$award = 'ERROR';
}
- if (($award eq 'INCORRECT') || ($award eq 'APPROX_ANS') ||
- ($award eq 'EXACT_ANS') || ($award eq 'ASSIGNED_SCORE')) {
+ if (($award eq 'INCORRECT' || $award eq 'APPROX_ANS' ||
+ $award eq 'EXACT_ANS')) {
if ($Apache::lonhomework::type eq 'survey') {
$award='SUBMITTED';
} elsif ($Apache::lonhomework::type eq 'surveycred') {
@@ -766,8 +771,7 @@ sub start_responseparam {
}
} elsif ($target eq 'grade' || $target eq 'answer' || $target eq 'web' ||
$target eq 'tex' || $target eq 'analyze' ) {
- if (($env{'request.state'} eq 'construct') ||
- ($env{'request.noversionuri'} =~ m{^\Q/res/adm/includes/templates/\E[^/]+\.problem$})) {
+ if ($env{'request.state'} eq 'construct') {
my $name =&Apache::lonxml::get_param('name',$parstack,$safeeval);
my $default=&Apache::lonxml::get_param('default',$parstack,
$safeeval);
@@ -798,10 +802,7 @@ sub reset_params {
sub setup_params {
my ($tag,$safeeval) = @_;
- if (($env{'request.state'} eq 'construct') ||
- ($env{'request.noversionuri'} =~ m{^\Q/res/adm/includes/templates/\E[^/]+\.problem$})) {
- return;
- }
+ if ($env{'request.state'} eq 'construct') { return; }
my %paramlist=();
foreach my $key (keys(%Apache::lonnet::packagetab)) {
if ($key =~ /^\Q$tag\E/) {
@@ -1311,7 +1312,7 @@ sub submitted {
return 1;
}
# Submit All button on a .page was pressed
- if ($env{'form.all_submit'}) { return 1; }
+ if (defined($env{'form.all_submit'})) { return 1; }
# otherwise no submission occurred
return 0;
}
@@ -1348,7 +1349,7 @@ and all true values mean that they can't
a return of undef means it is unattempted
a return of 0 means it is both attempted and still has tries and
- is wrong or is only partially correct, and retries
+ is wrong or is only partially correct, and retries
are allowed.
a return of 1 means it is marked correct
a return of 2 means they have exceeded maximum number of tries
@@ -1369,7 +1370,7 @@ sub check_status {
return 3;
}
my $status=&Apache::lonnet::EXT("user.resource.resource.$id.solved");
- if ($status =~ /^correct/) {
+ if ($status =~ /^correct/) {
my $awarded=&Apache::lonnet::EXT("user.resource.resource.$id.awarded");
my $retrypartial=&Apache::lonnet::EXT("resource.$id.retrypartial");
unless (($retrypartial =~ /^1|on|yes$/) && ($awarded <1)) {