--- loncom/interface/lonhelper.pm 2005/01/10 12:15:23 1.92
+++ loncom/interface/lonhelper.pm 2005/01/21 22:59:54 1.95
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# .helper XML handler to implement the LON-CAPA helper
#
-# $Id: lonhelper.pm,v 1.92 2005/01/10 12:15:23 foxr Exp $
+# $Id: lonhelper.pm,v 1.95 2005/01/21 22:59:54 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1165,7 +1165,7 @@ sub start_choice {
$parser));
my $nextstate = $token->[2]{'nextstate'};
my $evalFlag = $token->[2]{'eval'};
- push @{$paramHash->{CHOICES}}, [$human, $computer, $nextstate,
+ push @{$paramHash->{CHOICES}}, [&mtn($human), $computer, $nextstate,
$evalFlag];
return '';
}
@@ -1281,7 +1281,7 @@ BUTTONS
$choiceLabel = &$choiceLabel($helper, $self);
}
$result .= "/>
".qq{
\n";
+ $choiceLabel. "\n";
}
$result .= "\n\n\n";
$result .= $buttons;
@@ -1715,7 +1715,9 @@ to false. The "suppressEmptySequences" a
suppressEmptySequences argument to the render routine, which will cause
folders that have all of their contained resources filtered out to also
be filtered out. The 'addstatus' attribute, if true, will add the icon
-and long status display columns to the display.
+and long status display columns to the display. The 'addparts'
+attribute will add in a part selector beside problems that have more
+than 1 part.
=head3 SUB-TAGS
@@ -1782,6 +1784,10 @@ sub start_resource {
$paramHash->{'suppressEmptySequences'} = $token->[2]{'suppressEmptySequences'};
$paramHash->{'toponly'} = $token->[2]{'toponly'};
$paramHash->{'addstatus'} = $token->[2]{'addstatus'};
+ $paramHash->{'addparts'} = $token->[2]{'addparts'};
+ if ($paramHash->{'addparts'}) {
+ $helper->declareVar($paramHash->{'variable'}.'_part');
+ }
$paramHash->{'closeallpages'} = $token->[2]{'closeallpages'};
return '';
}
@@ -1955,9 +1961,10 @@ BUTTONS
my $filterFunc = $self->{FILTER_FUNC};
my $choiceFunc = $self->{CHOICE_FUNC};
my $valueFunc = $self->{VALUE_FUNC};
- my $multichoice = $self->{'multichoice'};
+ my $multichoice = $self->{'multichoice'};
my $option_vars = $self->{OPTION_VARS};
my $option_texts = $self->{OPTION_TEXTS};
+ my $addparts = $self->{'addparts'};
my $headings_done = 0;
# Evaluate the map url as needed
@@ -2019,12 +2026,51 @@ BUTTONS
$checked = 1;
}
$col .= "value='" . $resource_name . "' />";
+
return $result.$col;
}
};
+ my $renderPartsFunc = sub {
+ my ($resource, $part, $params) = @_;
+ my $col= "
";
+ my $id=$resource->{ID};
+ my $resource_name =
+ &HTML::Entities::encode(&$valueFunc($resource),"<>&\"'");
+ if ($addparts && (scalar(@{$resource->parts}) > 1)) {
+ $col .= "";
+ }
+ $col .= "
";
+ };
+ $result.=(<
+ function updateRadio(form,name,value) {
+ var radiobutton=form[name];
+ for (var i=0; i
+;
+RADIO
$ENV{'form.condition'} = !$self->{'toponly'};
- my $cols = [$renderColFunc, Apache::lonnavmaps::resource()];
+ my $cols = [$renderColFunc];
+ if ($self->{'addparts'}) { push(@$cols, $renderPartsFunc); }
+ push(@$cols, Apache::lonnavmaps::resource());
if ($self->{'addstatus'}) {
push @$cols, (Apache::lonnavmaps::part_status_summary());
@@ -2124,7 +2170,7 @@ sub start_student {
$helper->declareVar($paramHash->{'variable'});
$paramHash->{'multichoice'} = $token->[2]{'multichoice'};
$paramHash->{'coursepersonnel'} = $token->[2]{'coursepersonnel'};
- $paramHash->{'sctiveonly'} = $token->[2]{'activeonly'};
+ $paramHash->{'activeonly'} = $token->[2]{'activeonly'};
if (defined($token->[2]{'nextstate'})) {
$paramHash->{NEXTSTATE} = $token->[2]{'nextstate'};
}
@@ -3022,6 +3068,9 @@ will make a "Finish Helper" button that
which is useful for the Course Initialization helper so the users never see
the old values taking effect.
+If the parameter "restartCourse" is not true a 'Finish' Button will be
+presented that takes the user back to whatever was defined as
+
=cut
no strict;
@@ -3119,8 +3168,12 @@ sub render {
$result .= '';
}
+ my $actionURL = $self->{EXIT_PAGE};
+ my $targetURL = '';
+ my $finish=&mt('Finish');
if ($self->{'restartCourse'}) {
- my $targetURL = '/adm/menu';
+ my $actionURL = '/adm/roles';
+ $targetURL = '/adm/menu';
if ($ENV{'course.'.$ENV{'request.course.id'}.'.url'}=~/^uploaded/) {
$targetURL = '/adm/coursedocs';
} else {
@@ -3129,25 +3182,24 @@ sub render {
if ($ENV{'course.'.$ENV{'request.course.id'}.'.clonedfrom'}) {
$targetURL = '/adm/parmset?overview=1';
}
- my $previous = HTML::Entities::encode(&mt("<- Previous"), '<>&"');
- my $next = HTML::Entities::encode(&mt("Next ->"), '<>&"');
- $result .= "
\n" .
- "
";
+ my $finish=&mt('Finish Course Initialization');
}
+ my $previous = HTML::Entities::encode(&mt("<- Previous"), '<>&"');
+ my $next = HTML::Entities::encode(&mt("Next ->"), '<>&"');
+ $result .= "
\n" .
+ "
";
return $result;
}
sub overrideForm {
- my $self = shift;
- return $self->{'restartCourse'};
+ return 1;
}
1;
@@ -3211,7 +3263,7 @@ sub render {
my $resourceString;
my $symb;
my $paramlevel;
-
+
# Print the granularity, depending on the action
if ($vars->{GRANULARITY} eq 'whole_course') {
$resourceString .= '
'.&mt('for all resources in the course').'
';
@@ -3231,15 +3283,27 @@ sub render {
} else {
my $navmap = Apache::lonnavmaps::navmap->new();
my $res = $navmap->getById($vars->{RESOURCE_ID});
+ my $part = $vars->{RESOURCE_ID_part};
+ if ($part ne 'All Parts' && $part) { $parm_name=~s/^0/$part/; } else { $part=&mt('All Parts'); }
$symb = $res->symb();
my $title = $res->compTitle();
- $resourceString .= '
'.&mt('for the resource named [_1]',"$title").'
';
+ $resourceString .= '
'.&mt('for the resource named [_1] part [_2]',"$title","$part").'