[LON-CAPA-cvs] cvs: loncom(version_2_10_X) /interface lonnavmaps.pm
raeburn
raeburn@source.lon-capa.org
Sun, 15 Aug 2010 00:03:26 -0000
raeburn Sun Aug 15 00:03:26 2010 EDT
Modified files: (Branch: version_2_10_X)
/loncom/interface lonnavmaps.pm
Log:
- Backport 1.448, 1.449, 1.450.
Index: loncom/interface/lonnavmaps.pm
diff -u loncom/interface/lonnavmaps.pm:1.444.2.1 loncom/interface/lonnavmaps.pm:1.444.2.2
--- loncom/interface/lonnavmaps.pm:1.444.2.1 Tue May 18 20:30:08 2010
+++ loncom/interface/lonnavmaps.pm Sun Aug 15 00:03:25 2010
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Navigate Maps Handler
#
-# $Id: lonnavmaps.pm,v 1.444.2.1 2010/05/18 20:30:08 raeburn Exp $
+# $Id: lonnavmaps.pm,v 1.444.2.2 2010/08/15 00:03:25 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
@@ -527,6 +527,7 @@
$resObj->INCORRECT => '',
$resObj->OPEN => '',
$resObj->NOTHING_SET => '',
+ $resObj->CREDIT_ATTEMPTED => '',
$resObj->ATTEMPTED => '',
$resObj->ANSWER_SUBMITTED => '',
$resObj->PARTIALLY_CORRECT => '#006600'
@@ -706,6 +707,11 @@
return &mt("Answer submitted, not yet graded");
}
}
+ if ($status == $res->CREDIT_ATTEMPTED) {
+ if ($res->is_anonsurvey($part) || $res->is_survey($part)) {
+ return &mt("Credit for survey submission");
+ }
+ }
if ($status == $res->TRIES_LEFT) {
my $tries = $res->tries($part);
my $maxtries = $res->maxtries($part);
@@ -1442,11 +1448,11 @@
my ($link,$text);
if ($condition) {
$link='navmaps?condition=0&filter=&'.$queryString.
- '&here='.&escape($here);
+ '&here='.&escape($here);
$text='Close all folders';
} else {
$link='navmaps?condition=1&filter=&'.$queryString.
- '&here='.&escape($here);
+ '&here='.&escape($here);
$text='Open all folders';
}
if ($env{'form.register'}) {
@@ -1765,7 +1771,7 @@
if (defined($anchor)) { $anchor='#'.$anchor; }
my $srcHasQuestion = $src =~ /\?/;
$args->{"resourceLink"} = $src.
- ($srcHasQuestion?'&':'?') .
+ ($srcHasQuestion?'&':'?') .
'symb=' . &escape($symb).$anchor;
}
# Now, we've decided what parts to show. Loop through them and
@@ -1827,12 +1833,11 @@
# it's quite likely this might fix other browsers, too, and
# certainly won't hurt anything.
if ($displayedJumpMarker) {
- $result .= "
-<script>
+ $result .= &Apache::lonhtmlcommon::scripttag("
if (location.href.indexOf('#curloc')==-1) {
setTimeout(\"location += '#curloc';\", 0)
}
-</script>";
+");
}
$result.=&Apache::loncommon::end_data_table();
@@ -2354,7 +2359,7 @@
Based on the symb of the resource, get a resource object for that
resource. This is one of the proper ways to get a resource object.
-=item * B<getMapByMapPc>(map_pc):
+=item * B<getByMapPc>(map_pc):
Based on the map_pc of the resource, get a resource object for
the given map. This is one of the proper ways to get a resource object.
@@ -3890,6 +3895,12 @@
Returns a string with the type of the map in it.
+=item *B<map_hierarchy>:
+
+Returns a string with a comma-separated ordered list of map_pc IDs
+for the hierarchy of maps containing a map, with the top level
+map first, then descending to deeper levels, with the enclosing map last.
+
=back
=cut
@@ -3920,6 +3931,12 @@
my $pc = $self->map_pc();
return $self->navHash("map_type_$pc", 0);
}
+sub map_hierarchy {
+ my $self = shift;
+ my $pc = $self->map_pc();
+ return $self->navHash("map_hierarchy_$pc", 0);
+}
+
#####
# Property queries
@@ -4675,6 +4692,10 @@
Attempted, and not yet graded.
+=item * B<CREDIT_ATTEMPTED>:
+
+Attempted, and credit received for attempt (survey and anonymous survey only).
+
=back
=cut
@@ -4686,6 +4707,7 @@
sub CORRECT_BY_OVERRIDE { return 14; }
sub EXCUSED { return 15; }
sub ATTEMPTED { return 16; }
+sub CREDIT_ATTEMPTED { return 17; }
sub getCompletionStatus {
my $self = shift;
@@ -4704,6 +4726,13 @@
if ($status eq 'incorrect_by_override') {return $self->INCORRECT_BY_OVERRIDE; }
if ($status eq 'excused') {return $self->EXCUSED; }
if ($status eq 'ungraded_attempted') {return $self->ATTEMPTED; }
+ if ($status eq 'credit_attempted') {
+ if ($self->is_anonsurvey($part) || $self->is_survey($part)) {
+ return $self->CREDIT_ATTEMPTED;
+ } else {
+ return $self->ATTEMPTED;
+ }
+ }
return $self->NOT_ATTEMPTED;
}
@@ -4793,6 +4822,10 @@
The problem has been attempted.
+=item * B<CREDIT_ATTEMPTED>:
+
+The problem has been attempted, and credit given for the attempt (survey and anonymous survey only).
+
=item * B<ANSWER_SUBMITTED>:
An answer has been submitted, but the student should not see it.
@@ -4866,6 +4899,10 @@
return ATTEMPTED;
}
+ if ($completionStatus == CREDIT_ATTEMPTED) {
+ return CREDIT_ATTEMPTED;
+ }
+
# If it's EXCUSED, then return that no matter what
if ($completionStatus == EXCUSED) {
return EXCUSED;
@@ -5058,6 +5095,7 @@
INCORRECT() => INCORRECT,
OPEN() => OPEN,
ATTEMPTED() => ATTEMPTED,
+ CREDIT_ATTEMPTED() => CORRECT,
ANSWER_SUBMITTED() => ATTEMPTED
);
@@ -5131,8 +5169,9 @@
# "If any of the parts are open, or have tries left (implies open),
# and it is not "attempted" (manually graded problem), it is
# not "complete"
- if ($self->getCompletionStatus($part) == ATTEMPTED() ||
- $status == ANSWER_SUBMITTED() ) {
+ if ($self->getCompletionStatus($part) == ATTEMPTED() ||
+ $self->getCompletionStatus($part) == CREDIT_ATTEMPTED() ||
+ $status == ANSWER_SUBMITTED() ) {
# did this part already, as well as we can
next;
}