--- loncom/interface/lonparmset.pm 2005/06/06 15:13:46 1.212 +++ loncom/interface/lonparmset.pm 2005/06/09 20:35:48 1.219 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.212 2005/06/06 15:13:46 www Exp $ +# $Id: lonparmset.pm,v 1.219 2005/06/09 20:35:48 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; @@ -771,8 +776,18 @@ sub parmmenu { checkthis('duedate','pscat'); checkthis('opendate','pscat'); checkthis('answerdate','pscat'); - checkthis('interval','pscat'); - } + } + + function checkdisset() { + checkthis('discussend','pscat'); + checkthis('discusshide','pscat'); + } + + function checkcontdates() { + checkthis('contentopen','pscat'); + checkthis('contentclose','pscat'); + } + function checkvisi() { checkthis('hiddenresource','pscat'); @@ -815,12 +830,14 @@ ENDSCRIPT } $r->print(' -Select All -Select Standard +Select All
+Select Common Only -Select Dates -Select Visibilities -Select Part Parameters +Add Problem Dates +Add Content Dates
+Add Discussion Settings +Add Visibilities
+Add Part Parameters Unselect All @@ -967,6 +984,20 @@ sub keysindisplayorder { } (keys %{$name}); } +sub sortmenu { + my ($r,$sortorder)=@_; + $r->print('
print(' checked="on"'); + } + $r->print(' />'.&mt('Sort by realm first, then student (group/section)')); + $r->print('
print(' checked="on"'); + } + $r->print(' />'.&mt('Sort by student (group/section) first, then realm')); +} + sub standardkeyorder { return ('parameter_0_opendate' => 1, 'parameter_0_duedate' => 2, @@ -985,7 +1016,9 @@ sub standardkeyorder { 'parameter_0_ordered' => 15, 'parameter_0_tol' => 16, 'parameter_0_sig' => 17, - 'parameter_0_turnoffunit' => 18); + 'parameter_0_turnoffunit' => 18, + 'parameter_0_discussend' => 19, + 'parameter_0_discusshide' => 20); } ################################################## @@ -1043,7 +1076,7 @@ sub assessparms { my $coursename=$env{'course.'.$env{'request.course.id'}.'.description'}; $alllevs{'Resource Level'}='full'; - $alllevs{'Map Level'}='map'; + $alllevs{'Map/Folder Level'}='map'; $alllevs{'Course Level'}='general'; my %allparms; @@ -1761,8 +1794,8 @@ sub crsenv { 'anonymous_quiz' => ''.&mt('Anonymous quiz/exam').'
'. ' ('.&mt('yes').' '.&mt('to avoid print students names').' )', - 'default_enrollment_start_date' => ''.&mt('Default beginning date when enrolling students').'', - 'default_enrollment_end_date' => ''.&mt('Default ending date when enrolling students').'', + 'default_enrollment_start_date' => ''.&mt('Default beginning date for student access.').'', + 'default_enrollment_end_date' => ''.&mt('Default ending date for student access.').'', 'nothideprivileged' => ''.&mt('Privileged users that should not be hidden on staff listings').''. '
(user:domain,user:domain,...)', 'languages' => ''.&mt('Languages used').'', @@ -2031,7 +2064,7 @@ sub extractuser { } sub listdata { - my ($r,$resourcedata,$listdata)=@_; + my ($r,$resourcedata,$listdata,$sortorder)=@_; # Start list output my $oldsection=''; @@ -2040,7 +2073,15 @@ sub listdata { my $pointer=0; $tableopen=0; my $foundkeys=0; - foreach my $thiskey (sort keys %{$listdata}) { + foreach my $thiskey (sort { + if ($sortorder eq 'realmstudent') { + my ($astudent,$arealm)=($a=~/^$env{'request.course.id'}\.([^\.]+)\.(.+)\.[^\.]+$/); + my ($bstudent,$brealm)=($b=~/^$env{'request.course.id'}\.([^\.]+)\.(.+)\.[^\.]+$/); + ($arealm cmp $brealm) || ($astudent cmp $bstudent); + } else { + $a cmp $b; + } + } keys %{$listdata}) { if ($$listdata{$thiskey.'.type'}) { my $thistype=$$listdata{$thiskey.'.type'}; if ($$resourcedata{$thiskey.'.type'}) { @@ -2067,19 +2108,32 @@ sub listdata { my ($map,$id,$url)=&Apache::lonnet::decode_symb($middle); $realm=''.&mt('Resource').': '.&Apache::lonnet::gettitle($middle).'
('.$url.' in '.$map.' id: '.$id.')
'; } - if ($section ne $oldsection) { - $r->print(&tableend()."\n

$section

"); - $oldsection=$section; - $oldrealm=''; - } - if ($realm ne $oldrealm) { - $r->print(&tableend()."\n

$realm

"); - $oldrealm=$realm; - $oldpart=''; + if ($sortorder eq 'realmstudent') { + if ($realm ne $oldrealm) { + $r->print(&tableend()."\n

$realm

"); + $oldrealm=$realm; + $oldsection=''; + } + if ($section ne $oldsection) { + $r->print(&tableend()."\n

$section

"); + $oldsection=$section; + $oldpart=''; + } + } else { + if ($section ne $oldsection) { + $r->print(&tableend()."\n

$section

"); + $oldsection=$section; + $oldrealm=''; + } + if ($realm ne $oldrealm) { + $r->print(&tableend()."\n

$realm

"); + $oldrealm=$realm; + $oldpart=''; + } } if ($part ne $oldpart) { $r->print(&tableend(). - "\n

".&mt('Part').": $part

"); + "\n".&mt('Part').": $part"); $oldpart=$part; } # @@ -2089,15 +2143,29 @@ sub listdata { ':'); $foundkeys++; - if ($thistype=~/^date/) { + if (&isdateparm($thistype)) { my $jskey='key_'.$pointer; $pointer++; $r->print( &Apache::lonhtmlcommon::date_setter('overviewform', $jskey, - $$resourcedata{$thiskey}). + $$resourcedata{$thiskey}, + '',1). '' ); + } elsif ($thistype eq 'string_yesno') { + $r->print(' '); + $r->print(''); } else { $r->print(''); @@ -2112,8 +2180,7 @@ sub listdata { sub newoverview { my $r=shift; - my $bodytag=&Apache::loncommon::bodytag( - 'Set Course Assessment Parameters'); + my $bodytag=&Apache::loncommon::bodytag('Set Parameters'); my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs(undef,'Overview'); @@ -2142,7 +2209,7 @@ ENDOVER my %alllevs=(); $alllevs{'Resource Level'}='full'; - $alllevs{'Map Level'}='map'; + $alllevs{'Map/Folder Level'}='map'; $alllevs{'Course Level'}='general'; my $csec=$env{'form.csec'}; @@ -2191,8 +2258,14 @@ ENDOVER &partmenu($r,\%allparts,\@psprt); $r->print(''); §ionmenu($r,\@selected_sections); - $r->print(''. - '

'); + + $r->print(''); + + my $sortorder=$env{'form.sortorder'}; + unless ($sortorder) { $sortorder='realmstudent'; } + &sortmenu($r,$sortorder); + + $r->print('

'); # Build the list data hash from the specified parms @@ -2243,7 +2316,7 @@ ENDOVER # List data - &listdata($r,$resourcedata,$listdata); + &listdata($r,$resourcedata,$listdata,$sortorder); } $r->print(&tableend(). ((($env{'form.store'}) || ($env{'form.dis'}))?'

':''). @@ -2252,8 +2325,7 @@ ENDOVER sub overview { my $r=shift; - my $bodytag=&Apache::loncommon::bodytag( - 'Modify Course Assessment Parameters'); + my $bodytag=&Apache::loncommon::bodytag('Modify Parameters'); my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs(undef,'Overview'); @@ -2275,9 +2347,14 @@ ENDOVER my $resourcedata=&readdata($crs,$dom); + + my $sortorder=$env{'form.sortorder'}; + unless ($sortorder) { $sortorder='realmstudent'; } + &sortmenu($r,$sortorder); + # List data - my $foundkeys=&listdata($r,$resourcedata,$resourcedata); + my $foundkeys=&listdata($r,$resourcedata,$resourcedata,$sortorder); $r->print(&tableend().'

'. ($foundkeys?'':&mt('There are no parameters.')).'

'); @@ -2411,19 +2488,19 @@ ENDMAINFORMHEAD action => 'crsenv', permission => $parm_permission, }, - { text => 'Set/Modify Course Assessment Parameters - Helper Mode', + { text => 'Set/Modify Resource Parameters - Helper Mode', url => '/adm/helper/parameter.helper', permission => $parm_permission, }, - { text => 'Modify Course Assessment Parameters - Overview Mode', + { text => 'Modify Resource Parameters - Overview Mode', action => 'setoverview', permission => $parm_permission, }, - { text => 'Set Course Assessment Parameters - Overview Mode', + { text => 'Set Resource Parameters - Overview Mode', action => 'newoverview', permission => $parm_permission, }, - { text => 'Set/Modify Course Assessment Parameters - Table Mode', + { text => 'Set/Modify Resource Parameters - Table Mode', action => 'settable', permission => $parm_permission, help => 'Cascading_Parameters', @@ -2485,7 +2562,7 @@ sub handler { 'pres_marker', 'pres_value', 'pres_type', - 'udom','uname']); + 'udom','uname','symb']); &Apache::lonhtmlcommon::clear_breadcrumbs();