--- loncom/interface/lonparmset.pm 2001/03/20 22:01:13 1.24 +++ loncom/interface/lonparmset.pm 2001/12/06 22:39:45 1.37 @@ -11,13 +11,15 @@ # # 11/20,11/21,11/22,11/23,11/24,11/25,11/27,11/28, # 12/08,12/12, -# 16/01/01,02/08,03/20 Gerd Kortemeyer +# 16/01/01,02/08,03/20,03/23,03/24,03/26,05/09, +# 07/05,07/06,08/08,08/09,09/01,09/21 Gerd Kortemeyer package Apache::lonparmset; use strict; use Apache::lonnet; use Apache::Constants qw(:common :http REDIRECT); +use Apache::loncommon; use GDBM_File; @@ -36,6 +38,7 @@ my %keyp; my %defp; my %allkeys; +my %allmaps; my $uname; my $udom; @@ -152,21 +155,9 @@ sub plink { &valout($value,$type).''; } -# ================================================================ Main Handler - -sub handler { - my $r=shift; - - if ($r->header_only) { - $r->content_type('text/html'); - $r->send_http_header; - return OK; - } - -# ----------------------------------------------------- Needs to be in a course +sub assessparms { - if (($ENV{'request.course.fn'}) && - (&Apache::lonnet::allowed('opa',$ENV{'request.course.id'}))) { + my $r=shift; # -------------------------------------------------------- Variable declaration %courseopt=(); @@ -183,6 +174,27 @@ sub handler { $udom=$ENV{'form.udom'}; unless ($udom) { $udom=$r->dir_config('lonDefDomain'); } + my $pscat=$ENV{'form.pscat'}; + my $pschp=$ENV{'form.pschp'}; + my $pssymb=''; + +# ----------------------------------------------- Was this started from grades? + + if (($ENV{'form.command'} eq 'set') && ($ENV{'form.url'}) + && (!$ENV{'form.dis'})) { + my $url=$ENV{'form.url'}; + $url=~s-^http://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--; + $pssymb=&Apache::lonnet::symbread($url); + $pscat='all'; + $pschp=''; + } elsif ($ENV{'form.symb'}) { + $pssymb=$ENV{'form.symb'}; + $pscat='all'; + $pschp=''; + } else { + $ENV{'form.url'}=''; + } + my $id=$ENV{'form.id'}; if (($id) && ($udom)) { $uname=(&Apache::lonnet::idget($udom,$id))[1]; @@ -216,7 +228,7 @@ sub handler { my %name=&Apache::lonnet::userenvironment($udom,$uname, ('firstname','middlename','lastname','generation','id')); $message="\n
\nFull Name: ".
- $name{'firstname'}.' '.$name{'middlename'}
+ $name{'firstname'}.' '.$name{'middlename'}.' '
.$name{'lastname'}.' '.$name{'generation'}.
"
\nID: ".$name{'id'}.'
';
}
@@ -235,8 +247,9 @@ sub handler {
$ENV{'request.course.fn'}.'_parms.db',&GDBM_READER,0640))) {
# --------------------------------------------------------- Get all assessments
- %allkeys=();
- %defp=();
+ undef %allkeys;
+ undef %allmaps;
+ undef %defp;
map {
if ($_=~/^src\_(\d+)\.(\d+)$/) {
my $mapid=$1;
@@ -273,6 +286,7 @@ sub handler {
&Apache::lonnet::metadata($srcf,'keys'));
$mapp{$id}=
&Apache::lonnet::declutter($bighash{'map_id_'.$mapid});
+ $allmaps{$mapid}=$mapp{$id};
$symbp{$id}=$mapp{$id}.
'___'.$resid.'___'.
&Apache::lonnet::declutter($srcf);
@@ -282,7 +296,7 @@ sub handler {
# ---------------------------------------------------------- Anything to store?
if ($ENV{'form.pres_marker'}) {
my ($sresid,$spnam,$snum)=split(/\&/,$ENV{'form.pres_marker'});
- $spnam=~s/\_/\./;
+ $spnam=~s/\_([^\_]+)$/\.$1/;
# ---------------------------------------------------------- Construct prefixes
my $symbparm=$symbp{$sresid}.'.'.$spnam;
@@ -323,13 +337,13 @@ sub handler {
# ---------------------------------------------------------------- Store Course
#
# Expire sheets
- &Apache::lonnet::expirespread('studentcalc');
+ &Apache::lonnet::expirespread('','','studentcalc');
if (($snum==7) || ($snum==4)) {
- &Apache::lonnet::expirespread('assesscalc',$symbp{$sresid});
+ &Apache::lonnet::expirespread('','','assesscalc',$symbp{$sresid});
} elsif (($snum==8) || ($snum==5)) {
- &Apache::lonnet::expirespread('assesscalc',$mapp{$sresid});
+ &Apache::lonnet::expirespread('','','assesscalc',$mapp{$sresid});
} else {
- &Apache::lonnet::expirespread('assesscalc');
+ &Apache::lonnet::expirespread('','','assesscalc');
}
# Store parameter
@@ -395,17 +409,18 @@ sub handler {
if ($fcat eq '') {
$a<=>$b;
} else {
- $outpar[&parmval($fcat,$a,$defp{$a})]<=>
- $outpar[&parmval($fcat,$b,$defp{$b})];
+ 1*$outpar[&parmval($fcat,$a,$defp{$a})]<=>
+ 1*$outpar[&parmval($fcat,$b,$defp{$b})];
}
- } @ids;
+ } @ids;
+
# ------------------------------------------------------------------ Start page
$r->content_type('text/html');
$r->send_http_header;
$r->print(<Set Assessment Parameters
-
+