--- loncom/interface/lonparmset.pm 2006/01/10 05:27:57 1.275
+++ loncom/interface/lonparmset.pm 2006/04/13 21:32:23 1.285
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.275 2006/01/10 05:27:57 raeburn Exp $
+# $Id: lonparmset.pm,v 1.285 2006/04/13 21:32:23 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -293,6 +293,25 @@ sub preset_defaults {
}
##################################################
+
+sub date_sanity_info {
+ my $checkdate=shift;
+ unless ($checkdate) { return ''; }
+ my $result='';
+ 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!');
+ }
+ }
+ if ($env{$crsprefix.'default_enrollment_start_date'}) {
+ if ($checkdate<$env{$crsprefix.'default_enrollment_start_date'}) {
+ $result.='
'.&mt('Before course enrollment start!');
+ }
+ }
+ return $result;
+}
+##################################################
##################################################
#
# Store a parameter by ID
@@ -375,9 +394,38 @@ sub storeparm_by_symb {
return '';
}
+{
+ my $logid;
+ sub log_parmset {
+ my ($symb,$spnam,$snum,$nval,$ntype,$uname,$udom,$csec,$cgroup)=@_;
+ $logid++;
+ my $id=time().'00000'.$$.'00000'.$logid;
+ &Apache::lonnet::put('parameterlog',
+ {
+ $id.'_exe_uname' => $env{'user.name'},
+ $id.'_exe_udom' => $env{'user.domain'},
+ $id.'_exe_time' => time(),
+ $id.'_exe_ip' => $ENV{'REMOTE_ADDR'},
+ $id.'_symb' => $symb,
+ $id.'_spnam' => $spnam,
+ $id.'_snum' => $snum,
+ $id.'_nval' => $nval,
+ $id.'_ntype' => $ntype,
+ $id.'_uname' => $uname,
+ $id.'_udom' => $udom,
+ $id.'_csec' => $csec,
+ $id.'_cgroup' => $cgroup
+ },
+ $env{'course.'.$env{'request.course.id'}.'.domain'},
+ $env{'course.'.$env{'request.course.id'}.'.num'}
+ );
+ }
+}
+
sub storeparm_by_symb_inner {
# ---------------------------------------------------------- Get symb, map, etc
my ($symb,$spnam,$snum,$nval,$ntype,$uname,$udom,$csec,$cgroup)=@_;
+ &log_parmset(@_);
# ---------------------------------------------------------- Construct prefixes
$spnam=~s/\_([^\_]+)$/\.$1/;
my $map=(&Apache::lonnet::decode_symb($symb))[0];
@@ -516,7 +564,7 @@ sub valout {
}
$result=~s/\s+$//;
} elsif (&isdateparm($type)) {
- $result = localtime($value);
+ $result = localtime($value).&date_sanity_info($value);
} else {
$result = $value;
}
@@ -561,20 +609,13 @@ sub plink {
&valout($value,$type).'';
}
-sub startpage {
- my $r=shift;
- my $loaditems = qq|onUnload="pclose()" onLoad="group_or_section('cgroup')"|;
- my $bodytag=&Apache::loncommon::bodytag('Set/Modify Course Parameters','',
- $loaditems);
- my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs(undef,'Table Mode Parameter Setting');
+sub page_js {
+
my $selscript=&Apache::loncommon::studentbrowser_javascript();
my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition();
- my $html=&Apache::lonxml::xmlbegin();
- $r->print(<
-LON-CAPA Course Parameters
-
$selscript
-
-$bodytag
+ENDJS
+
+}
+sub startpage {
+ my ($r) = @_;
+
+ my %loaditems = ('onunload' => "pclose()",
+ 'onload' => "group_or_section('cgroup')",);
+
+ my $start_page =
+ &Apache::loncommon::start_page('Set/Modify Course Parameters',
+ &page_js(),
+ {'add_entries' => \%loaditems,});
+ my $breadcrumbs =
+ &Apache::lonhtmlcommon::breadcrumbs(undef,
+ 'Table Mode Parameter Setting');
+ $r->print(<
-
-
-
-
+
+
+
+
ENDHEAD
}
@@ -1928,7 +1985,7 @@ ENDMAPONE
$r->print("");
} # end of $parmlev eq general
}
- $r->print('