--- loncom/interface/lonparmset.pm 2005/06/06 02:25:09 1.211
+++ loncom/interface/lonparmset.pm 2005/06/06 15:46:02 1.213
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.211 2005/06/06 02:25:09 www Exp $
+# $Id: lonparmset.pm,v 1.213 2005/06/06 15:46:02 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -403,7 +403,7 @@ sub valout {
$result.=$sec.' secs ';
}
$result=~s/\s+$//;
- } elsif ($type=~/^date/) {
+ } elsif (&isdateparm($type)) {
$result = localtime($value);
} else {
$result = $value;
@@ -434,7 +434,7 @@ sub plink {
my ($type,$dis,$value,$marker,$return,$call)=@_;
my $winvalue=$value;
unless ($winvalue) {
- if ($type=~/^date/) {
+ if (&isdateparm($type)) {
$winvalue=$env{'form.recent_'.$type};
} else {
$winvalue=$env{'form.recent_'.(split(/\_/,$type))[0]};
@@ -742,6 +742,11 @@ sub extractResourceInformation {
##################################################
##################################################
+sub isdateparm {
+ my $type=shift;
+ return (($type=~/^date/) && (!($type eq 'date_interval')));
+}
+
sub parmmenu {
my ($r,$allparms,$pscat,$keyorder)=@_;
my $tempkey;
@@ -927,43 +932,25 @@ sub levelmenu {
sub sectionmenu {
my ($r,$selectedsections)=@_;
+ my %sectionhash=();
- my ($classlist,$field_names) =
- &Apache::loncoursedata::get_classlist(
- $env{'request.course.id'},
- $env{'course.'.$env{'request.course.id'}.'.domain'},
- $env{'course.'.$env{'request.course.id'}.'.num'});
- my %Sections=();
- while (my ($student,$student_data) = each (%$classlist)) {
- my $studenthash = ();
- for (my $i=0; $i< scalar(@$field_names);$i++) {
- my $field = $field_names->[$i];
- # Store the data
- $studenthash->{$field}=$student_data->[$i];
- }
- my $section = $studenthash->{'section'};
- if (! defined($section) || $section =~/^\s*$/ || $section == -1) {
- $studenthash->{'section'} = 'none';
- $section = $studenthash->{'section'};
- }
- $Sections{$section}++;
- }
- my @Sections = sort {$a cmp $b} keys(%Sections);
- unshift(@Sections,'all');
-
- $r->print('\n");
}
sub keysplit {
@@ -1212,7 +1199,7 @@ sub assessparms {
} else {
my ($map,$id,$resource)=&Apache::lonnet::decode_symb($pssymb);
$r->print(&mt('Specific Resource').": ".$resource.
- '');
+ '
');
}
&usermenu($r,$uname,$id,$udom,$csec);
@@ -1967,9 +1954,12 @@ sub storedata {
}
if ($cmd eq 'set') {
my $data=$env{$_};
- if ($$olddata{$thiskey} ne $data) {
+ my $typeof=$env{'form.typeof_'.$thiskey};
+ if ($$olddata{$thiskey} ne $data) {
if ($tuname) {
- if (&Apache::lonnet::put('resourcedata',{$tkey=>$data},$tudom,$tuname) eq 'ok') {
+ if (&Apache::lonnet::put('resourcedata',{$tkey=>$data,
+ $tkey.'.type' => $typeof},
+ $tudom,$tuname) eq 'ok') {
$r->print('
'.&mt('Stored modified parameter for').' '.
&Apache::loncommon::plainname($tuname,$tudom));
} else {
@@ -1979,7 +1969,8 @@ sub storedata {
&Apache::lonnet::devalidateuserresdata($tuname,$tudom);
} else {
$newdata{$thiskey}=$data;
- }
+ $newdata{$thiskey.'.type'}=$typeof;
+ }
}
} elsif ($cmd eq 'del') {
if ($tuname) {
@@ -1995,9 +1986,12 @@ sub storedata {
}
} elsif ($cmd eq 'datepointer') {
my $data=&Apache::lonhtmlcommon::get_date_from_form($env{$_});
+ my $typeof=$env{'form.typeof_'.$thiskey};
if (defined($data) and $$olddata{$thiskey} ne $data) {
if ($tuname) {
- if (&Apache::lonnet::put('resourcedata',{$tkey=>$data},$tudom,$tuname) eq 'ok') {
+ if (&Apache::lonnet::put('resourcedata',{$tkey=>$data,
+ $tkey.'.type' => $typeof},
+ $tudom,$tuname) eq 'ok') {
$r->print('
'.&mt('Stored modified date for').' '.&Apache::loncommon::plainname($tuname,$tudom));
} else {
$r->print('