--- loncom/interface/lonparmset.pm 2006/06/26 22:22:48 1.318
+++ loncom/interface/lonparmset.pm 2006/08/09 20:40:16 1.328
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.318 2006/06/26 22:22:48 albertel Exp $
+# $Id: lonparmset.pm,v 1.328 2006/08/09 20:40:16 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -508,21 +508,26 @@ sub storeparm_by_symb_inner {
Format a value for output.
-Inputs: $value, $type
+Inputs: $value, $type, $editable
Returns: $value, formatted for output. If $type indicates it is a date,
localtime($value) is returned.
+$editable will return an icon to click on
=cut
##################################################
##################################################
sub valout {
- my ($value,$type)=@_;
+ my ($value,$type,$editable)=@_;
my $result = '';
# Values of zero are valid.
if (! $value && $value ne '0') {
- $result = ' ';
+ if ($editable) {
+ $result = '* ';
+ } else {
+ $result=' ';
+ }
} else {
if ($type eq 'date_interval') {
my ($sec,$min,$hour,$mday,$mon,$year)=gmtime($value);
@@ -590,7 +595,7 @@ sub plink {
return '
';
+ &valout($value,$type,1).'';
}
sub page_js {
@@ -655,7 +660,7 @@ sub startpage {
&page_js(),
{'add_entries' => \%loaditems,});
my $breadcrumbs =
- &Apache::lonhtmlcommon::breadcrumbs('Table Mode Parameter Setting');
+ &Apache::lonhtmlcommon::breadcrumbs('Table Mode Parameter Setting','Table_Mode');
$r->print(< 'Print header format; substitutions: %n student name %c course id %a assignment',
'anonymous_quiz'
=> ''.&mt('Anonymous quiz/exam').' '.
' ('.&mt('yes').' '.&mt('to avoid print students names').' )',
@@ -2227,6 +2234,7 @@ sub crsenv {
'problem_stream_switch',
'suppress_tries',
'default_paper_size',
+ 'print_header_format',
'disable_receipt_display',
'spreadsheet_default_classcalc',
'spreadsheet_default_studentcalc',
@@ -2302,7 +2310,7 @@ sub crsenv {
'';
my $start_page =
- &Apache::loncommon::start_page('Set Course Environment Parameters',
+ &Apache::loncommon::start_page('Set Course Environment',
$browse_js);
my $end_page =
&Apache::loncommon::end_page();
@@ -2581,15 +2589,6 @@ sub listdata {
$oldpart=$part;
}
#
-# Preset defaults?
-#
- my ($hour,$min,$sec,$val)=('','','','');
- unless ($$resourcedata{$thiskey}) {
- my ($parmname)=($thiskey=~/\.(\w+)$/);
- ($hour,$min,$sec,$val)=&preset_defaults($parmname);
- }
-
-#
# Ready to print
#
$r->print(&tablestart().
@@ -2605,7 +2604,7 @@ sub listdata {
&Apache::lonhtmlcommon::date_setter('parmform',
$jskey,
$$resourcedata{$thiskey},
- '',1,'','',$hour,$min,$sec).
+ '',1,'','').
' '.
&date_sanity_info($$resourcedata{$thiskey})
);
@@ -2613,8 +2612,6 @@ sub listdata {
my $showval;
if (defined($$resourcedata{$thiskey})) {
$showval=$$resourcedata{$thiskey};
- } else {
- $showval=$val;
}
$r->print(' print(' ');
@@ -3000,10 +2995,12 @@ ENDMAINFORMHEAD
my $vgr = &Apache::lonnet::allowed('vgr',$env{'request.course.id'});
my @menu =
- (
- { text => 'Set Course Environment Parameters',
+ ( { divider=>'Settings for Your Course',
+ },
+ { text => 'Set Course Environment',
action => 'crsenv',
permission => $parm_permission,
+ help => 'Course_Environment',
},
{ text => 'Set Portfolio Metadata',
action => 'setrestrictmeta',
@@ -3013,29 +3010,34 @@ ENDMAINFORMHEAD
url => '/adm/slotrequest?command=showslots',
permission => $vgr,
},
- { divider => 1,
+ { text => 'Set Parameter Setting Default Actions',
+ action => 'setdefaults',
+ permission => $parm_permission,
+ },
+ { divider => 'New and Existing Parameter Settings for Your Resources',
},
{ text => 'Set/Modify Resource Parameters - Helper Mode',
url => '/adm/helper/parameter.helper',
permission => $parm_permission,
+ help => 'Parameter_Helper',
},
- { text => 'Modify Resource Parameters - Overview Mode',
- action => 'setoverview',
- permission => $parm_permission,
- },
- { text => 'Set Resource Parameters - Overview Mode',
+ { text => 'Set/Modify Resource Parameters - Overview Mode',
action => 'newoverview',
permission => $parm_permission,
+ help => 'Parameter_Overview',
},
{ text => 'Set/Modify Resource Parameters - Table Mode',
action => 'settable',
permission => $parm_permission,
- help => 'Cascading_Parameters',
+ help => 'Table_Mode',
},
- { text => 'Set Parameter Setting Default Actions',
- action => 'setdefaults',
+ { divider => 'Existing Parameter Settings for Your Resources',
+ },
+ { text => 'Modify Resource Parameters - Overview Mode',
+ action => 'setoverview',
permission => $parm_permission,
- },
+ help => 'Parameter_Overview',
+ },
{ text => 'Parameter Change Log and Course Blog Posting/User Notification',
action => 'parameterchangelog',
permission => $parm_permission,
@@ -3044,7 +3046,7 @@ ENDMAINFORMHEAD
my $menu_html = '';
foreach my $menu_item (@menu) {
if ($menu_item->{'divider'}) {
- $menu_html .= ' ';
+ $menu_html .= ''.&mt($menu_item->{'divider'}).' ';
next;
}
next if (! $menu_item->{'permission'});
@@ -3347,27 +3349,29 @@ sub components {
$what,$middle,$uname,$udom,$issection,$realmdescription);
}
+my %standard_parms;
+sub load_parameter_names {
+ open(my $config,"<$Apache::lonnet::perlvar{'lonTabDir'}/packages.tab");
+ while (my $configline=<$config>) {
+ if ($configline !~ /\S/ || $configline=~/^\#/) { next; }
+ chomp($configline);
+ my ($short,$plain)=split(/:/,$configline);
+ my (undef,$name,$type)=split(/\&/,$short,3);
+ if ($type eq 'display') {
+ $standard_parms{$name} = $plain;
+ }
+ }
+ close($config);
+ $standard_parms{'int_pos'} = 'Positive Integer';
+ $standard_parms{'int_zero_pos'} = 'Positive Integer or Zero';
+ %standard_parms=&Apache::lonlocal::texthash(%standard_parms);
+}
+
sub standard_parameter_names {
my ($name)=@_;
- my %standard_parms=&Apache::lonlocal::texthash('duedate' => 'Due Date',
- 'answerdate' => 'Answer Date',
- 'opendate' => 'Open Date',
- 'maxtries' => 'Max. Number of Tries',
- 'weight' => 'Weight',
- 'date_start' => 'Starting Date',
- 'date_end' => 'Ending Date',
- 'interval' => 'Time Interval Length',
- 'tol' => 'Numerical Tolerance',
- 'sig' => 'Significant Digits',
- 'contentopen' => 'Content Opening Date',
- 'contentclose' => 'Content Closing Date',
- 'discussend' => 'End of Discussion Time',
- 'discusshide' => 'Discussion Hidden',
- 'problemstatus' => 'Problem Status Visible',
- 'int_pos' => 'Positive Integer',
- 'int_zero_pos' => 'Positive Integer or Zero',
- 'hinttries' => 'Number of Tries till Hints appear',
- 'numbubbles' => 'Number of Bubbles in Exam Mode');
+ if (!%standard_parms) {
+ &load_parameter_names();
+ }
if ($standard_parms{$name}) {
return $standard_parms{$name};
} else {
@@ -3382,17 +3386,17 @@ sub standard_parameter_names {
sub parm_change_log {
my ($r)=@_;
- &startpage($r);
+ $r->print(&Apache::loncommon::start_page('Parameter Change Log'));
+ $r->print(&Apache::lonhtmlcommon::breadcrumbs('Parameter Change Log'));
+
my %parmlog=&Apache::lonnet::dump('nohist_parameterlog',
$env{'course.'.$env{'request.course.id'}.'.domain'},
$env{'course.'.$env{'request.course.id'}.'.num'});
if ((keys(%parmlog))[0]=~/^error\:/) { undef(%parmlog); }
- $r->print('');
my $courseopt=&Apache::lonnet::get_courseresdata($env{'course.'.$env{'request.course.id'}.'.num'},
$env{'course.'.$env{'request.course.id'}.'.domain'});
@@ -3418,6 +3424,7 @@ sub parm_change_log {
foreach my $id (sort { $parmlog{$b}{'exe_time'}<=>$parmlog{$a}{'exe_time'} } (keys(%parmlog))) {
my @changes=keys(%{$parmlog{$id}{'logentry'}});
my $count=$#changes+1;
+ if (!$env{'form.includetypes'}) { $count=$count/2; }
my $time =
&Apache::lonlocal::locallocaltime($parmlog{$id}{'exe_time'});
my $plainname =
@@ -3447,7 +3454,10 @@ sub parm_change_log {
my $value=$parmlog{$id}{'logentry'}->{$changed};
my ($realm,$section,$parmname,$part,$typeflag,$what,$middle,$uname,$udom,$issection,$realmdescription)=
&components($changed,$parmlog{$id}{'uname'},$parmlog{$id}{'udom'});
- if ($typeflag) { $istype{$parmname}=$value; }
+ if ($typeflag) {
+ if (!$env{'form.includetypes'}) { next; }
+ $istype{$parmname}=$value;
+ }
if ($makenewrow) { $r->print($row_start); } else { $makenewrow=1; }
$r->print(''.$realm.' '.$section.' '.
&standard_parameter_names($parmname).' '.
@@ -3497,7 +3507,6 @@ sub parm_change_log {
|| $shown<=$env{'form.show'})) { last; }
}
$r->print(&Apache::loncommon::end_data_table());
- $r->print('');
$r->print(&Apache::loncommon::end_page());
}
@@ -3536,7 +3545,8 @@ sub handler {
&Apache::lonhtmlcommon::add_breadcrumb({href=>"/adm/parmset",
text=>"Parameter Manager",
faq=>10,
- bug=>'Instructor Interface'});
+ bug=>'Instructor Interface',
+ help => 'Parameter_Manager'});
# ----------------------------------------------------- Needs to be in a course
my $parm_permission =
@@ -3561,6 +3571,8 @@ sub handler {
# the table mode
if ((($env{'form.command'} eq 'set') && ($env{'form.url'})
&& (!$env{'form.dis'})) || ($env{'form.symb'})) {
+ &Apache::lonhtmlcommon::add_breadcrumb({help=>'Problem_Parameters',
+ text=>"Problem Parameters"});
&assessparms($r);
} elsif (! exists($env{'form.action'})) {