--- loncom/interface/lonparmset.pm 2008/10/10 15:29:17 1.412
+++ loncom/interface/lonparmset.pm 2008/11/11 20:12:17 1.414
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.412 2008/10/10 15:29:17 bisitz Exp $
+# $Id: lonparmset.pm,v 1.414 2008/11/11 20:12:17 droeschl Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -325,14 +325,31 @@ sub date_sanity_info {
my $crsprefix='course.'.$env{'request.course.id'}.'.';
if ($env{$crsprefix.'default_enrollment_end_date'}) {
if ($checkdate>$env{$crsprefix.'default_enrollment_end_date'}) {
- $result.=' '.&mt('After course enrollment end!');
+ $result.='
'
+ .&mt('After course enrollment end!')
+ .'
';
}
}
if ($env{$crsprefix.'default_enrollment_start_date'}) {
if ($checkdate<$env{$crsprefix.'default_enrollment_start_date'}) {
- $result.=' '.&mt('Before course enrollment start!');
+ $result.=''
+ .&mt('Before course enrollment start!')
+ .'
';
}
}
+# Preparation for additional warnings about dates in the past/future.
+# An improved, more context sensitive version is recommended,
+# e.g. warn for due and answer dates which are defined before the corresponding open date, etc.
+# if ($checkdate'
+# .'('.&mt('in the past').')'
+# .'';
+# }
+# if ($checkdate>time) {
+# $result.=''
+# .'('.&mt('in the future').')'
+# .'
';
+# }
return $result;
}
##################################################
@@ -551,27 +568,38 @@ sub valout {
} else {
if ($type eq 'date_interval') {
my ($sec,$min,$hour,$mday,$mon,$year)=gmtime($value);
+ my @timer;
$year=$year-70;
$mday--;
if ($year) {
- $result.=$year.' yrs ';
+# $result.=&mt('[quant,_1,yr]',$year).' ';
+ push(@timer,&mt('[quant,_1,yr]',$year));
}
if ($mon) {
- $result.=$mon.' mths ';
+# $result.=&mt('[quant,_1,mth]',$mon).' ';
+ push(@timer,&mt('[quant,_1,mth]',$mon));
}
if ($mday) {
- $result.=$mday.' days ';
+# $result.=&mt('[quant,_1,day]',$mday).' ';
+ push(@timer,&mt('[quant,_1,day]',$mday));
}
if ($hour) {
- $result.=$hour.' hrs ';
+# $result.=&mt('[quant,_1,hr]',$hour).' ';
+ push(@timer,&mt('[quant,_1,hr]',$hour));
}
if ($min) {
- $result.=$min.' mins ';
+# $result.=&mt('[quant,_1,min]',$min).' ';
+ push(@timer,&mt('[quant,_1,min]',$min));
}
if ($sec) {
- $result.=$sec.' secs ';
+# $result.=&mt('[quant,_1,sec]',$sec).' ';
+ push(@timer,&mt('[quant,_1,sec]',$sec));
}
- $result=~s/\s+$//;
+# $result=~s/\s+$//;
+ if (!@timer) { # Special case: all entries 0 -> display "0 secs" intead of empty field to keep this field editable
+ push(@timer,&mt('[quant,_1,sec]',0));
+ }
+ $result.=join(", ",@timer);
} elsif (&isdateparm($type)) {
$result = &Apache::lonlocal::locallocaltime($value).
&date_sanity_info($value);
@@ -683,6 +711,15 @@ sub startpage {
my %loaditems = ('onunload' => "pclose()",
'onload' => "group_or_section('cgroup')",);
+ 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"});
+ } else {
+ &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=settable',
+ text=>"Table Mode",
+ help => 'Course_Setting_Parameters'});
+ }
my $start_page =
&Apache::loncommon::start_page('Set/Modify Course Parameters',
&page_js(),
@@ -2051,6 +2088,8 @@ sub crsenv {
my $r=shift;
my $setoutput='';
+ &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=crsenv',
+ text=>"Course Environment"});
my $breadcrumbs =
&Apache::lonhtmlcommon::breadcrumbs('Edit Course Environment');
my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
@@ -2950,8 +2989,8 @@ sub listdata {
$$resourcedata{$thiskey},
'',1,'','').
' '.
-(($$resourcedata{$thiskey}!=0)?''.
-&mt('Shift all dates based on this date').' ':'').
+(($$resourcedata{$thiskey}!=0)?''.
+&mt('Shift all dates based on this date').' ':'').
&date_sanity_info($$resourcedata{$thiskey})
);
} elsif ($thistype eq 'date_interval') {
@@ -3087,6 +3126,8 @@ sub newoverview {
my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
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 $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Overview');
$r->print(<'/adm/parmset?action=setoverview',
+ text=>"Overview Mode"});
my $start_page=&Apache::loncommon::start_page('Modify Parameters');
my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Overview');
$r->print(<'/adm/parmset?action=cleanparameters',
+ text=>"Clean Parameters"});
my $start_page=&Apache::loncommon::start_page('Clean Parameters');
my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Clean');
$r->print(<'/adm/parmset?action=dateshift1&timebase='.$env{'form.timebase'},
+ text=>"Shifting Dates"});
my $start_page=&Apache::loncommon::start_page('Shift Dates');
my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Shift');
$r->print(<'/adm/parmset?action=dateshift1&timebase='.$env{'form.timebase'},
+ text=>"Shifting Dates"});
my $start_page=&Apache::loncommon::start_page('Shift Dates');
my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Shift');
$r->print(<print(&header());
+ $r->print(&Apache::lonhtmlcommon::breadcrumbs('Parameter Manager'));
$r->print(<
@@ -3626,84 +3677,88 @@ ENDMAINFORMHEAD
my $mgr = &Apache::lonnet::allowed('mgr',$env{'request.course.id'});
my @menu =
- ( { divider=>'Settings for Your Course',
- },
- { text => 'Set Course Environment',
- action => 'crsenv',
- permission => $parm_permission,
- help => 'Course_Environment',
- },
- { text => 'Set Portfolio Metadata',
- action => 'setrestrictmeta',
- permission => $parm_permission,
- },
- { text => 'Manage Course Slots',
- url => '/adm/slotrequest?command=showslots',
- permission => $vgr,
- },
- { text => 'Reset Student Access Times',
- url => '/adm/helper/resettimes.helper',
- permission => $mgr,
- },
-
- { 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 => '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 => 'Table_Mode',
- },
- { 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,
- },
+ ( { categorytitle=>'Settings for Your Course',
+ items => [
+ { linktext => 'Set Course Environment',
+ url => '/adm/parmset?action=crsenv',
+ permission => $parm_permission,
+ help => 'Course_Environment',
+ },
+ { linktext => 'Set Portfolio Metadata',
+ url => '/adm/parmset?action=setrestrictmeta',
+ permission => $parm_permission,
+ },
+ { linktext => 'Manage Course Slots',
+ url => '/adm/slotrequest?command=showslots',
+ permission => $vgr,
+ },
+ { linktext => 'Reset Student Access Times',
+ url => '/adm/helper/resettimes.helper',
+ permission => $mgr,
+ },
+
+ { linktext => 'Set Parameter Setting Default Actions',
+ url => '/adm/parmset?action=setdefaults',
+ permission => $parm_permission,
+ }]},
+ { categorytitle => 'New and Existing Parameter Settings for Your Resources',
+ items => [
+ { linktext => 'Set/Modify Resource Parameters - Helper Mode',
+ url => '/adm/helper/parameter.helper',
+ permission => $parm_permission,
+ help => 'Parameter_Helper',
+ },
+ { linktext => 'Set/Modify Resource Parameters - Overview Mode',
+ url => '/adm/parmset?action=newoverview',
+ permission => $parm_permission,
+ help => 'Parameter_Overview',
+ },
+ { linktext => 'Set/Modify Resource Parameters - Table Mode',
+ url => '/adm/parmset?action=settable',
+ permission => $parm_permission,
+ help => 'Table_Mode',
+ }]},
+ { categorytitle => 'Existing Parameter Settings for Your Resources',
+ items => [
+ { linktext => 'Modify Resource Parameters - Overview Mode',
+ url => '/adm/parmset?action=setoverview',
+ permission => $parm_permission,
+ help => 'Parameter_Overview',
+ },
+ { linktext => 'Parameter Change Log and Course Blog Posting/User Notification',
+ url => '/adm/parmset?action=parameterchangelog',
+ permission => $parm_permission,
+ }]}
);
- my $menu_html = '';
- foreach my $menu_item (@menu) {
- if ($menu_item->{'divider'}) {
- $menu_html .= ''.&mt($menu_item->{'divider'}).' ';
- next;
- }
- next if (! $menu_item->{'permission'});
- $menu_html.='';
- $menu_html.='';
- if (exists($menu_item->{'help'})) {
- $menu_html.=
- &Apache::loncommon::help_open_topic($menu_item->{'help'});
- }
- $menu_html.='
'.$/;
- }
- $r->print($menu_html);
+#---- Remove when done ----
+# my $menu_html = '';
+# foreach my $menu_item (@menu) {
+# if ($menu_item->{'categorytitle'}) {
+# $menu_html .= ''.&mt($menu_item->{'categorytitle'}).' ';
+# next;
+# }
+# next if (! $menu_item->{'permission'});
+# $menu_html.='';
+# $menu_html.='';
+# if (exists($menu_item->{'help'})) {
+# $menu_html.=
+# &Apache::loncommon::help_open_topic($menu_item->{'help'});
+# }
+# $menu_html.='
'.$/;
+# }
+# --------------------------
+
+ $r->print(&Apache::lonhtmlcommon::generate_menu(@menu));
return;
}
+
### Set portfolio metadata
sub output_row {
my ($r, $field_name, $field_text, $added_flag) = @_;
@@ -3765,6 +3820,8 @@ sub order_meta_fields {
my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
$r->print(&Apache::loncommon::start_page('Order Metadata Fields'));
+ &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=addmetadata',
+ text=>"Add Metadata Field"});
&Apache::lonhtmlcommon::add_breadcrumb
({href=>"/adm/parmset?action=setrestrictmeta",
text=>"Restrict Metadata"},
@@ -3850,6 +3907,8 @@ sub continue {
}
sub addmetafield {
my ($r)=@_;
+ &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=addmetadata',
+ text=>"Add Metadata Field"});
$r->print(&Apache::loncommon::start_page('Add Metadata Field'));
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Add Metadata Field'));
my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
@@ -3900,6 +3959,8 @@ sub setrestrictmeta {
my $output;
my $item_num;
my $put_result;
+ &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setrestrictmeta',
+ text=>"Restrict Metadata"});
$r->print(&Apache::loncommon::start_page('Restrict Metadata'));
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Restrict Metadata'));
my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
@@ -4007,6 +4068,8 @@ sub get_deleted_meta_fieldnames {
sub defaultsetter {
my ($r) = @_;
+ &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setdefaults',
+ text=>"Set Defaults"});
my $start_page =
&Apache::loncommon::start_page('Parameter Setting Default Actions');
my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Defaults');
@@ -4239,6 +4302,8 @@ sub standard_parameter_names {
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'));
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Parameter Change Log'));
@@ -4419,11 +4484,10 @@ sub handler {
&reset_caches();
- if ($r->header_only) {
- &Apache::loncommon::content_type($r,'text/html');
- $r->send_http_header;
- return OK;
- }
+ &Apache::loncommon::content_type($r,'text/html');
+ $r->send_http_header;
+ return OK if $r->header_only;
+
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
['action','state',
'pres_marker',
@@ -4447,12 +4511,6 @@ sub handler {
my $exists = &check_for_course_info();
if ($env{'request.course.id'} && $parm_permission && $exists) {
-
- # Start Page
- &Apache::loncommon::content_type($r,'text/html');
- $r->send_http_header;
-
-
#
# Main switch on form.action and form.state, as appropriate
#
@@ -4460,64 +4518,34 @@ 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'})) {
- $r->print(&header());
- $r->print(&Apache::lonhtmlcommon::breadcrumbs('Parameter Manager'));
&print_main_menu($r,$parm_permission);
- } elsif ($env{'form.action'} eq 'crsenv' && $parm_permission) {
- &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=crsenv',
- text=>"Course Environment"});
+ } elsif ($env{'form.action'} eq 'crsenv') {
&crsenv($r);
- } elsif ($env{'form.action'} eq 'setoverview' && $parm_permission) {
- &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setoverview',
- text=>"Overview Mode"});
+ } elsif ($env{'form.action'} eq 'setoverview') {
&overview($r);
- } elsif ($env{'form.action'} eq 'addmetadata' && $parm_permission) {
- &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=addmetadata',
- text=>"Add Metadata Field"});
+ } elsif ($env{'form.action'} eq 'addmetadata') {
&addmetafield($r);
- } elsif ($env{'form.action'} eq 'ordermetadata' && $parm_permission) {
- &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=addmetadata',
- text=>"Add Metadata Field"});
+ } elsif ($env{'form.action'} eq 'ordermetadata') {
&order_meta_fields($r);
- } elsif ($env{'form.action'} eq 'setrestrictmeta' && $parm_permission) {
- &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setrestrictmeta',
- text=>"Restrict Metadata"});
+ } elsif ($env{'form.action'} eq 'setrestrictmeta') {
&setrestrictmeta($r);
- } elsif ($env{'form.action'} eq 'newoverview' && $parm_permission) {
- &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setoverview',
- text=>"Overview Mode"});
+ } elsif ($env{'form.action'} eq 'newoverview') {
&newoverview($r);
- } elsif ($env{'form.action'} eq 'setdefaults' && $parm_permission) {
- &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setdefaults',
- text=>"Set Defaults"});
+ } elsif ($env{'form.action'} eq 'setdefaults') {
&defaultsetter($r);
- } elsif ($env{'form.action'} eq 'settable' && $parm_permission) {
- &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=settable',
- text=>"Table Mode",
- help => 'Course_Setting_Parameters'});
+ } elsif ($env{'form.action'} eq 'settable') {
&assessparms($r);
- } elsif ($env{'form.action'} eq 'parameterchangelog' && $parm_permission) {
- &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=settable',
- text=>"Parameter Change Log"});
+ } elsif ($env{'form.action'} eq 'parameterchangelog') {
&parm_change_log($r);
- } elsif ($env{'form.action'} eq 'cleanparameters' && $parm_permission) {
- &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=cleanparameters',
- text=>"Clean Parameters"});
+ } elsif ($env{'form.action'} eq 'cleanparameters') {
&clean_parameters($r);
- } elsif ($env{'form.action'} eq 'dateshift1' && $parm_permission) {
- &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=dateshift1&timebase='.$env{'form.timebase'},
- text=>"Shifting Dates"});
+ } elsif ($env{'form.action'} eq 'dateshift1') {
&date_shift_one($r);
- } elsif ($env{'form.action'} eq 'dateshift2' && $parm_permission) {
- &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=dateshift1&timebase='.$env{'form.timebase'},
- text=>"Shifting Dates"});
+ } elsif ($env{'form.action'} eq 'dateshift2') {
&date_shift_two($r);
- } elsif ($env{'form.action'} eq 'categorizecourse' && $parm_permission) {
+ } elsif ($env{'form.action'} eq 'categorizecourse') {
&assign_course_categories($r);
}
} else {