--- loncom/interface/lonparmset.pm 2010/06/18 11:11:08 1.498
+++ loncom/interface/lonparmset.pm 2010/12/21 14:14:55 1.504
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.498 2010/06/18 11:11:08 bisitz Exp $
+# $Id: lonparmset.pm,v 1.504 2010/12/21 14:14:55 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1214,8 +1214,9 @@ sub isdateparm {
}
#
-# This function prints a list of parameters, which were selected. It also display a link from which you can
-# hide or show the complete parameter list, from which you can choose your parameters.
+# parmmenu displays a list of the selected parameters.
+# It also offers a link to show/hide the complete parameter list
+# from which you can select all desired parameters.
#
sub parmmenu {
my ($r,$allparms,$pscat,$keyorder)=@_;
@@ -1290,6 +1291,8 @@ sub parmmenu {
checkdates();
checkthis('weight','pscat');
checkthis('maxtries','pscat');
+ checkthis('type','pscat');
+ checkthis('problemstatus','pscat');
}
function hideParms() {
@@ -1319,7 +1322,7 @@ ENDSCRIPT
$r->print(&mt('Selected Parameters:').' ');
#print out all possible parms and hide them by default
- $r->print('
';
}
return $result;
}
@@ -4431,6 +4549,49 @@ sub check_for_course_info {
return 0;
}
+sub questiontype_release_vars {
+ my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+ my $chome = $env{'course.'.$env{'request.course.id'}.'.home'};
+ my $chostname = &Apache::lonnet::hostname($chome);
+ my ($cmajor,$cminor) =
+ split(/\./,&Apache::lonnet::get_server_loncaparev($cdom,$chome));
+ return ($chostname,$cmajor,$cminor);
+}
+
+sub questiontype_releasecheck {
+ my ($questiontype,$needsrelease,$chostname,$cmajor,$cminor) = @_;
+ my $needsnewer;
+ my ($needsmajor,$needsminor) = split(/\./,$needsrelease);
+ if (($cmajor < $needsmajor) ||
+ ($cmajor == $needsmajor && $cminor < $needsminor)) {
+ $needsnewer = 1;
+ } else {
+ &Apache::lonnet::update_released_required($Apache::lonnet::needsrelease{'parameter:type:'.$questiontype});
+ }
+ return $needsnewer;
+}
+
+sub oldversion_warning {
+ my ($questiontype,$chostname,$cmajor,$cminor,$needsrelease) = @_;
+ my $desc;
+ if (ref($strings{'string_questiontype'}) eq 'ARRAY') {
+ foreach my $possibilities (@{ $strings{'string_questiontype'} }) {
+ next unless (ref($possibilities) eq 'ARRAY');
+ my ($name, $description) = @{ $possibilities };
+ if ($name eq $questiontype) {
+ $desc = $description;
+ last;
+ }
+ }
+ }
+ return '
'.
+ &mt('Question Type was [_1]not[_2] set to [_3].',
+ '','','"'.$desc.'"').' '.
+ &mt('LON-CAPA version ([_1]) installed on home server ([_2]) does not meet version requirements ([_3] or newer).',
+ $cmajor.'.'.$cminor,$chostname,
+ $needsrelease).
+ '