--- loncom/interface/lonparmset.pm 2012/05/07 23:46:11 1.522.2.1
+++ loncom/interface/lonparmset.pm 2013/08/08 05:52:14 1.522.2.8
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.522.2.1 2012/05/07 23:46:11 raeburn Exp $
+# $Id: lonparmset.pm,v 1.522.2.8 2013/08/08 05:52:14 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -640,7 +640,7 @@ sub storeparm_by_symb {
}
sub log_parmset {
- return &Apache::lonnet::instructor_log('parameterlog',@_);
+ return &Apache::lonnet::write_log('course','parameterlog',@_);
}
sub storeparm_by_symb_inner {
@@ -747,11 +747,14 @@ sub valout {
my $result = '';
# Values of zero are valid.
if (! $value && $value ne '0') {
- if ($editable) {
- $result = '*';
- } else {
- $result=' ';
- }
+ if ($editable) {
+ $result =
+ '
';
+ } else {
+ $result=' ';
+ }
} else {
if ($type eq 'date_interval') {
my ($sec,$min,$hour,$mday,$mon,$year)=gmtime($value);
@@ -873,6 +876,26 @@ ENDJS
}
+sub showhide_js {
+ return <<"COURSECONTENTSCRIPT";
+
+function showHide_courseContent() {
+ var parmlevValue=document.getElementById("parmlev").value;
+ if (parmlevValue == 'general') {
+ document.getElementById('mapmenu').style.display="none";
+ } else {
+ if ((parmlevValue == "full") || (parmlevValue == "map")) {
+ document.getElementById('mapmenu').style.display ="";
+ } else {
+ document.getElementById('mapmenu').style.display="none";
+ }
+ }
+ return;
+}
+
+COURSECONTENTSCRIPT
+}
+
sub startpage {
my ($r,$psymb) = @_;
@@ -880,7 +903,7 @@ sub startpage {
'onload' => "group_or_section('cgroup')",
);
if (!$psymb) {
- $loaditems{'onload'} = "showHide_courseContent(); group_or_section('cgroup')";
+ $loaditems{'onload'} = "showHide_courseContent(); group_or_section('cgroup'); resize_scrollbox('mapmenuscroll','1','1');";
}
if ((($env{'form.command'} eq 'set') && ($env{'form.url'})
@@ -892,9 +915,16 @@ sub startpage {
text=>"Table Mode",
help => 'Course_Setting_Parameters'});
}
+ my $js = &page_js().'
+
+';
my $start_page =
- &Apache::loncommon::start_page('Set/Modify Course Parameters',
- &page_js(),
+ &Apache::loncommon::start_page('Set/Modify Course Parameters',$js,
{'add_entries' => \%loaditems,});
my $breadcrumbs =
&Apache::lonhtmlcommon::breadcrumbs('Table Mode Parameter Setting','Table_Mode');
@@ -1052,6 +1082,10 @@ sub print_td {
if ($which > 3) {
$nolink = 1;
}
+ } elsif ($mprefix =~ /examcode\&$/) {
+ unless ($which == 2) {
+ $nolink = 1;
+ }
}
if ($nolink) {
$r->print(&valout($$outpar[$which],$$typeoutpar[$which]));
@@ -1205,7 +1239,7 @@ sub extractResourceInformation {
$$mapp{$mapid}=$$mapp{$id};
$$allmaps{$mapid}=$$mapp{$id};
if ($mapid eq '1') {
- $$maptitles{$mapid}=&mt('Main Course Documents');
+ $$maptitles{$mapid}=&mt('Main Content');
} else {
$$maptitles{$mapid}=&Apache::lonnet::gettitle($$mapp{$id});
}
@@ -1375,7 +1409,7 @@ sub lookUpTableParameter {
'lenient' => 'grading',
'retrypartial' => 'tries',
'discussvote' => 'misc',
-
+ 'examcode' => 'high_level_randomization',
);
}
@@ -1452,23 +1486,21 @@ sub parmboxes {
#Print parameters
for my $key (sort { $category_order{$a} <=> $category_order{$b} } keys %categoryList) {
- if(@{$categoryList{$key}} == 0) {
- next;
- } else {
- $r->print('
'
- .'
'
- .&mt($categories{$key})
- .'
'."\n");
- foreach $tempkey (&keysindisplayorderCategory($categoryList{$key},$keyorder)) {
- $r->print('
'
- .' '
);
- $r->print(&Apache::loncommon::start_scrollbox());
- $r->print(&Apache::loncommon::start_data_table());
+ $r->print(&Apache::loncommon::start_scrollbox('700px','680px','400px','mapmenuscroll'));
+ $r->print(&Apache::loncommon::start_data_table(undef,'mapmenuinner'));
# Display row: "All Maps or Folders"
$r->print(
- &Apache::loncommon::start_data_table_row()
+ &Apache::loncommon::start_data_table_row(undef,'picklevel')
.''
.''
.'print(
&Apache::loncommon::start_data_table_row()
@@ -1795,8 +1831,9 @@ sub mapmenu {
);
}
- $r->print(&Apache::loncommon::end_data_table());
- $r->print(&Apache::loncommon::end_scrollbox());
+ $r->print(&Apache::loncommon::end_data_table().
+ ' '.
+ &Apache::loncommon::end_scrollbox());
}
}
@@ -2127,16 +2164,22 @@ sub assessparms {
}
}
}
- } elsif ($markers[$i] =~ /_(type|lenient|retrypartial|discussvote)\&\d+$/) {
+ } elsif ($markers[$i] =~ /_(type|lenient|retrypartial|discussvote|examcode)\&\d+$/) {
$name = $1;
+ my $val = $values[$i];
+ if ($name eq 'examcode') {
+ if (&Apache::lonnet::validCODE($values[$i])) {
+ $val = 'valid';
+ }
+ }
$needsrelease =
- $Apache::lonnet::needsrelease{"parameter:$name:$values[$i]"};
+ $Apache::lonnet::needsrelease{"parameter:$name:$val"};
if ($needsrelease) {
unless ($got_chostname) {
($chostname,$cmajor,$cminor) = ¶meter_release_vars();
$got_chostname = 1;
}
- $needsnewer = ¶meter_releasecheck($name,$values[$i],
+ $needsnewer = ¶meter_releasecheck($name,$val,
$needsrelease,
$chostname,
$cmajor,$cminor);
@@ -2199,27 +2242,15 @@ ENDPARMSELSCRIPT
}
# Step 1
- $r->print(&Apache::lonhtmlcommon::topic_bar(1,&mt('Resource Specification')));
- $r->print(<print(&Apache::lonhtmlcommon::topic_bar(1,&mt('Resource Specification'),'parmstep1'));
+ $r->print('
-COURSECONTENTSCRIPT
-
- $r->print(&Apache::lonhtmlcommon::start_pick_box());
+');
+ $r->print(&Apache::lonhtmlcommon::start_pick_box(undef,'parmlevel'));
&levelmenu($r,\%alllevs,$parmlev);
$r->print(&Apache::lonhtmlcommon::row_closure());
&mapmenu($r,\%allmaps,$pschp,\%maptitles, \%symbp);
@@ -2230,11 +2261,11 @@ COURSECONTENTSCRIPT
$r->print(&Apache::lonhtmlcommon::end_pick_box());
# Step 2
- $r->print(&Apache::lonhtmlcommon::topic_bar(2,&mt('Parameter Specification')));
- &displaymenu($r,\%allparms,\@pscat,\@psprt,\%keyorder);
+ $r->print(&Apache::lonhtmlcommon::topic_bar(2,&mt('Parameter Specification'),'parmstep2'));
+ &displaymenu($r,\%allparms,\@pscat,\@psprt,\%keyorder,'parmmenuscroll');
# Step 3
- $r->print(&Apache::lonhtmlcommon::topic_bar(3,&mt('User Specification (optional)')));
+ $r->print(&Apache::lonhtmlcommon::topic_bar(3,&mt('User Specification (optional)'),'parmstep3'));
$r->print(&Apache::lonhtmlcommon::start_pick_box());
&usermenu($r,$uname,$id,$udom,$csec,$cgroup,$parmlev,\@usersgroups);
$r->print(&Apache::lonhtmlcommon::row_closure(1));
@@ -2796,6 +2827,8 @@ sub storedata {
$name = 'lenient';
} elsif ($typeof eq 'string_discussvote') {
$name = 'discussvote';
+ } elsif ($typeof eq 'string_examcode') {
+ $name = 'examcode';
} elsif ($typeof eq 'string_yesno') {
if ($thiskey =~ /\.retrypartial$/) {
$name = 'retrypartial';
@@ -2872,7 +2905,7 @@ sub storedata {
if (&Apache::lonnet::del('resourcedata',\@deldata,$dom,$crs) eq 'ok') {
my %loghash=map { $_ => '' } @deldata;
&log_parmset(\%loghash,1);
- $r->print(''.&mt('Deleted [_1] parameter(s)',$delentries));
+ $r->print(''.&mt('Deleted [_1] parameter(s)',$delentries).'');
} else {
$r->print(''.
&mt('Error deleting parameters').' ');
@@ -3267,7 +3300,21 @@ sub newoverview {
my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
&Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setoverview',
text=>"Overview Mode"});
- my $start_page = &Apache::loncommon::start_page('Set Parameters');
+
+ my %loaditems = (
+ 'onload' => "showHide_courseContent(); resize_scrollbox('mapmenuscroll','1','1');",
+ );
+ my $js = '
+
+';
+ my $start_page = &Apache::loncommon::start_page('Set Parameters',$js,
+ {'add_entries' => \%loaditems,});
my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Overview');
$r->print($start_page.$breadcrumbs);
$r->print(<print('');
#$r->print(' Step 1');
$r->print(' ');
- $r->print(&Apache::lonhtmlcommon::start_pick_box());
+ $r->print(&Apache::lonhtmlcommon::start_pick_box(undef,'parmlevel'));
&levelmenu($r,\%alllevs,$parmlev);
if ($parmlev ne 'general') {
$r->print(&Apache::lonhtmlcommon::row_closure());
@@ -3463,7 +3510,7 @@ sub overview {
my $foundkeys=&listdata($r,$resourcedata,$resourcedata,$sortorder);
$r->print(&tableend().' '.
- ($foundkeys?'':&mt('There are no parameters.')).' '.
+ ($foundkeys?' ':' '.&mt('There are no parameters.').'').''.
&Apache::loncommon::end_page());
}
@@ -3539,8 +3586,9 @@ ENDOVER
} elsif ($data{'realm_type'} eq 'symb') {
my ($map,$resid,$url) =
&Apache::lonnet::decode_symb($data{'realm'});
- $r->print(&mt('Resource: [_1] with ID: [_2] in folder [_3]',
- $url,$resid,$map));
+ $r->print(&mt('Resource: [_1]with ID: [_2]in folder [_3]',
+ $url.' ',
+ $resid.' ',$map));
}
$r->print(' '.&mt('Part: [_1]',$data{'parameter_part'}));
$r->print(' | ');
@@ -3563,7 +3611,7 @@ sub date_shift_one {
my $start_page=&Apache::loncommon::start_page('Shift Dates');
my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Shift');
$r->print($start_page.$breadcrumbs);
- $r->print('