');
+ $r->print(''
.' ');
@@ -3674,6 +3723,11 @@ ENDMAINFORMHEAD
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
my $vgr = &Apache::lonnet::allowed('vgr',$env{'request.course.id'});
my $mgr = &Apache::lonnet::allowed('mgr',$env{'request.course.id'});
+ my $dcm = &Apache::lonnet::allowed('dcm',$env{'request.course.id'});
+ if ((!$dcm) && ($env{'request.course.sec'} ne '')) {
+ $dcm = &Apache::lonnet::allowed('dcm',$env{'request.course.id'}.
+ '/'.$env{'request.course.sec'});
+ }
my $crstype = &Apache::loncommon::course_type();
my $lc_crstype = lc($crstype);
@@ -3693,7 +3747,12 @@ ENDMAINFORMHEAD
linktitle => "Reset access times for folders/maps, resources or the $lc_crstype." ,
icon => 'start-here.png' ,
},
-
+ { linktext => 'Blocking Communication/Resource Access',
+ url => '/adm/setblock',
+ permission => $dcm,
+ linktitle => 'Configure blocking of communication/collaboration and access to resources during an exam',
+ icon => 'comblock.png',
+ },
{ linktext => 'Set Parameter Setting Default Actions',
url => '/adm/parmset?action=setdefaults',
permission => $parm_permission,
@@ -4319,7 +4378,12 @@ sub parm_change_log {
my ($r)=@_;
&Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=settable',
text=>"Parameter Change Log"});
- $r->print(&Apache::loncommon::start_page('Parameter Change Log'));
+ my $js = ''."\n";
+ $r->print(&Apache::loncommon::start_page('Parameter Change Log',$js));
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Parameter Change Log'));
&startSettingsScreen($r,'parmset');
my %parmlog=&Apache::lonnet::dump('nohist_parameterlog',
@@ -4328,7 +4392,9 @@ sub parm_change_log {
if ((keys(%parmlog))[0]=~/^error\:/) { undef(%parmlog); }
- $r->print('
');
}
sub endSettingsScreen {
@@ -661,7 +661,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 {
@@ -768,11 +768,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);
@@ -855,16 +858,10 @@ sub page_js {
return(<
//
+
$selscript
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) = @_;
my %loaditems = (
- 'onunload' => "pclose()",
'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'})
@@ -920,10 +938,17 @@ 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(),
- {'add_entries' => \%loaditems,});
+ &Apache::loncommon::start_page('Set/Modify Course Parameters',$js,
+ {'add_entries' => \%loaditems,});
my $breadcrumbs =
&Apache::lonhtmlcommon::breadcrumbs('Table Mode Parameter Setting','Table_Mode');
my $escfilter=&Apache::lonhtmlcommon::entity_encode($env{'form.filter'});
@@ -1302,8 +1327,9 @@ sub parmmenu {
}
function checkdisset() {
- checkthis('discussend','pscat');
+ checkthis('discussend','pscat');
checkthis('discusshide','pscat');
+ checkthis('discussvote','pscat');
}
function checkcontdates() {
@@ -1401,6 +1427,8 @@ sub lookUpTableParameter {
'maxcollaborators' => 'misc',
'scoreformat' => 'misc',
'lenient' => 'grading',
+ 'retrypartial' => 'tries',
+ 'discussvote' => 'misc',
);
}
@@ -1539,8 +1567,12 @@ sub shortCuts {
sub partmenu {
my ($r,$allparts,$psprt)=@_;
+ my $selsize = 1+scalar(keys(%{$allparts}));
+ if ($selsize > 8) {
+ $selsize = 8;
+ }
- $r->print('
'
);
- $r->print(&Apache::loncommon::start_scrollbox());
- $r->print(&Apache::loncommon::start_data_table());
+ $r->print(&Apache::loncommon::start_scrollbox(undef,undef,undef,'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')
.'