--- loncom/interface/lonparmset.pm 2016/10/27 23:17:42 1.522.2.21
+++ loncom/interface/lonparmset.pm 2014/12/12 02:12:18 1.548
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.522.2.21 2016/10/27 23:17:42 raeburn Exp $
+# $Id: lonparmset.pm,v 1.548 2014/12/12 02:12:18 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -149,7 +149,7 @@ Input: See list below
=back
-Outputs: See list below
+Outputs: See list below:
=over 4
@@ -323,6 +323,31 @@ use HTML::Entities;
use LONCAPA qw(:DEFAULT :match);
+sub startSettingsScreen {
+ my ($r,$mode,$crstype)=@_;
+
+ my $tabtext = &mt('Course Settings');
+ if ($crstype eq 'Community') {
+ $tabtext = &mt('Community Settings');
+ }
+ $r->print("\n".'
@@ -954,8 +982,7 @@ ENDHEAD
sub print_row {
my ($r,$which,$part,$name,$symbp,$rid,$default,$defaulttype,$display,$defbgone,
- $defbgtwo,$defbgthree,$parmlev,$uname,$udom,$csec,$cgroup,$usersgroups,$noeditgrp,
- $readonly)=@_;
+ $defbgtwo,$defbgthree,$parmlev,$uname,$udom,$csec,$cgroup,$usersgroups)=@_;
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
my $courseopt=&Apache::lonnet::get_courseresdata($cnum,$cdom);
@@ -998,26 +1025,25 @@ sub print_row {
my ($othergrp,$grp_parm,$controlgrp);
if ($parmlev eq 'general') {
-
if ($uname) {
- &print_td($r,3,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
+ &print_td($r,3,$defbgone,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
} elsif ($cgroup) {
- &print_td($r,6,$defbgthree,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,$noeditgrp,$readonly);
+ &print_td($r,6,$defbgthree,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
} elsif ($csec) {
- &print_td($r,9,$defbgtwo,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
+ &print_td($r,9,$defbgtwo,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
} else {
- &print_td($r,14,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
+ &print_td($r,14,$defbgone,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
}
} elsif ($parmlev eq 'map') {
if ($uname) {
- &print_td($r,2,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
+ &print_td($r,2,$defbgone,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
} elsif ($cgroup) {
- &print_td($r,5,$defbgthree,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,$noeditgrp,$readonly);
+ &print_td($r,5,$defbgthree,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
} elsif ($csec) {
- &print_td($r,8,$defbgtwo,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
+ &print_td($r,8,$defbgtwo,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
} else {
- &print_td($r,13,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
+ &print_td($r,13,$defbgone,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
}
} else {
if ($uname) {
@@ -1037,33 +1063,32 @@ sub print_row {
}
}
- &print_td($r,14,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display);
-
- &print_td($r,13,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
- &print_td($r,12,'#FFDDDD',$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
- &print_td($r,11,'#FFDDDD',$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
- &print_td($r,10,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
-
- if ($csec) {
- &print_td($r,9,$defbgtwo,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
- &print_td($r,8,$defbgtwo,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
- &print_td($r,7,$defbgtwo,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
- }
+ &print_td($r,14,$defbgone,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
+ &print_td($r,13,$defbgone,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
+ &print_td($r,12,'#FFDDDD',$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
+ &print_td($r,11,'#FFDDDD',$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
+ &print_td($r,10,$defbgone,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
+
+ if ($csec) {
+ &print_td($r,9,$defbgtwo,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
+ &print_td($r,8,$defbgtwo,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
+ &print_td($r,7,$defbgtwo,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
+ }
if ($cgroup) {
- &print_td($r,6,$defbgthree,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,$noeditgrp,$readonly);
- &print_td($r,5,$defbgthree,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,$noeditgrp,$readonly);
- &print_td($r,4,$defbgthree,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,$noeditgrp,$readonly);
+ &print_td($r,6,$defbgthree,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
+ &print_td($r,5,$defbgthree,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
+ &print_td($r,4,$defbgthree,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
}
- if ($uname) {
+ if ($uname) {
if ($othergrp) {
$r->print($othergrp);
}
- &print_td($r,3,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
- &print_td($r,2,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
- &print_td($r,1,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
- }
+ &print_td($r,3,$defbgone,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
+ &print_td($r,2,$defbgone,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
+ &print_td($r,1,$defbgone,$result,\@outpar,$mprefix,$which,\@typeoutpar,$display);
+ }
} # end of $parmlev if/else
$r->print(''.$effective_parm.' ');
@@ -1082,23 +1107,19 @@ sub print_row {
}
sub print_td {
- my ($r,$which,$defbg,$result,$outpar,$mprefix,$value,$typeoutpar,$display,$noeditgrp,$readonly)=@_;
+ my ($r,$which,$defbg,$result,$outpar,$mprefix,$value,$typeoutpar,$display)=@_;
$r->print('');
my $nolink = 0;
- if ($readonly) {
+ if ($which == 11 || $which == 12) {
$nolink = 1;
- } else {
- if ($which == 11 || $which == 12) {
+ } elsif ($mprefix =~ /availablestudent\&$/) {
+ if ($which > 3) {
+ $nolink = 1;
+ }
+ } elsif ($mprefix =~ /examcode\&$/) {
+ unless ($which == 2) {
$nolink = 1;
- } elsif ($mprefix =~ /availablestudent\&$/) {
- if ($which > 3) {
- $nolink = 1;
- }
- } elsif ($mprefix =~ /examcode\&$/) {
- unless ($which == 2) {
- $nolink = 1;
- }
}
}
if ($nolink) {
@@ -1423,7 +1444,7 @@ sub lookUpTableParameter {
'lenient' => 'grading',
'retrypartial' => 'tries',
'discussvote' => 'misc',
- 'examcode' => 'high_level_randomization',
+ 'examcode' => 'high_level_randomization',
);
}
@@ -1475,9 +1496,7 @@ sub category_order {
sub parmboxes {
my ($r,$allparms,$pscat,$keyorder)=@_;
- my $tempkey;
- my $tempparameter;
- my %categories = &categories;
+ my %categories = &categories();
my %category_order = &category_order();
my %categoryList = (
'time_settings' => [],
@@ -1492,34 +1511,29 @@ sub parmboxes {
'misc' => [],
);
- foreach $tempparameter (keys %$allparms) {
+ foreach my $tempparameter (keys(%$allparms)) {
&whatIsMyCategory($tempparameter, \%categoryList);
}
#part to print the parm-list
- $r->print(''."\n");
-
- #Print parameters
- for my $key (sort { $category_order{$a} <=> $category_order{$b} } keys %categoryList) {
- next if(@{$categoryList{$key}} == 0);
+ foreach my $key (sort { $category_order{$a} <=> $category_order{$b} } keys(%categoryList)) {
+ next if (@{$categoryList{$key}} == 0);
+ next if ($key eq '');
$r->print('
'
- .'
'
- .&mt($categories{$key})
- .' '."\n");
- foreach $tempkey (&keysindisplayorderCategory($categoryList{$key},$keyorder)) {
+ .''.&mt($categories{$key}).' '."\n");
+ foreach my $tempkey (&keysindisplayorderCategory($categoryList{$key},$keyorder)) {
$r->print(''
.' print(' checked="checked"');
+ $r->print( ' checked="checked"');
}
$r->print(' />'.($$allparms{$tempkey}=~/\S/ ? $$allparms{$tempkey}
: $tempkey)
.' '."\n");
}
- $r->print("\n");
+ $r->print('
');
}
-
- $r->print("\n");
+ $r->print("\n");
}
#
# This function offers some links on the parameter section to get with one click a group a parameters
@@ -1604,7 +1618,7 @@ sub usermenu {
$sections .= qq| onchange="group_or_section('csec')" |;
}
$sections .= '>';
- foreach my $section ('',sort keys %sectionhash) {
+ foreach my $section ('',sort(keys(%sectionhash))) {
$sections.=''.$section.
' ';
@@ -1649,7 +1663,7 @@ function group_or_section(caller) {
$groups .= qq| onchange="group_or_section('cgroup')" |;
}
$groups .= '>';
- foreach my $grp ('',sort keys %grouphash) {
+ foreach my $grp ('',sort(keys(%grouphash))) {
$groups.='print(&Apache::lonhtmlcommon::row_title(&mt('Select Parameter Level').&Apache::loncommon::help_open_topic('Course_Parameter_Levels')));
+ $r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Parameter Level').
+ &Apache::loncommon::help_open_topic('Course_Parameter_Levels')));
$r->print('');
- foreach (reverse sort keys %{$alllevs}) {
- $r->print('print(' selected="selected"');
- }
- $r->print('>'.&mt($_).' ');
+ foreach my $lev (reverse(sort(keys(%{$alllevs})))) {
+ $r->print('print(' selected="selected"');
+ }
+ $r->print('>'.&mt($lev).' ');
}
$r->print(" ");
}
@@ -1874,15 +1889,15 @@ sub sectionmenu {
return if (!%sectionhash);
$r->print('');
- foreach my $s ('all',sort keys %sectionhash) {
- $r->print(' print(' selected="selected"');
- last;
+ foreach my $s ('all',sort(keys(%sectionhash))) {
+ $r->print(' print(' selected="selected"');
+ last;
+ }
}
- }
- $r->print('>'.$s." \n");
+ $r->print('>'.$s." \n");
}
$r->print("\n");
}
@@ -1894,14 +1909,14 @@ sub groupmenu {
$r->print('');
foreach my $group (sort(keys(%grouphash))) {
- $r->print(' print(' selected="selected"');
- last;
+ $r->print(' print(' selected="selected"');
+ last;
+ }
}
- }
- $r->print('>'.$group." \n");
+ $r->print('>'.$group."\n");
}
$r->print(" \n");
}
@@ -1916,7 +1931,7 @@ sub keysinorder {
my ($name,$keyorder)=@_;
return sort {
$$keyorder{$a} <=> $$keyorder{$b};
- } (keys %{$name});
+ } (keys(%{$name}));
}
sub keysinorder_bytype {
@@ -1928,14 +1943,14 @@ sub keysinorder_bytype {
return ($a cmp $b);
}
$$keyorder{'parameter_0_'.$ta} <=> $$keyorder{'parameter_0_'.$tb};
- } (keys %{$name});
+ } (keys(%{$name}));
}
sub keysindisplayorder {
my ($name,$keyorder)=@_;
return sort {
$$keyorder{'parameter_0_'.$a} <=> $$keyorder{'parameter_0_'.$b};
- } (keys %{$name});
+ } (keys(%{$name}));
}
sub sortmenu {
@@ -1982,7 +1997,8 @@ sub standardkeyorder {
sub assessparms {
- my ($r,$parm_permission) = @_;
+ my $r=shift;
+
# -------------------------------------------------------- Variable declaration
@@ -2026,15 +2042,6 @@ sub assessparms {
$csec=$env{'form.csec'};
$cgroup=$env{'form.cgroup'};
- my $noeditgrp;
- if ($cgroup ne '') {
- unless (&Apache::lonnet::allowed('mdg',$env{'request.course.id'})) {
- if (($env{'request.course.groups'} eq '') ||
- (!grep(/^\Q$cgroup\E$/,split(/,/,$env{'request.course.groups'})))) {
- $noeditgrp = 1;
- }
- }
- }
if ($udom=$env{'form.udom'}) {
} elsif ($udom=$env{'request.role.domain'}) {
@@ -2049,7 +2056,7 @@ sub assessparms {
my @psprt=&Apache::loncommon::get_env_multiple('form.psprt');
- if (!@psprt) { $psprt[0]='0'; }
+ if (!@psprt) { $psprt[0]='all'; }
if (($env{'form.part'}) && ($psprt[0] ne 'all')) { $psprt[0]=$env{'form.part'}; }
my $pssymb='';
@@ -2087,8 +2094,10 @@ sub assessparms {
$id='';
} else {
$message=
- ''.&mt("Unknown ID")." '$id' ".
- &mt('at domain')." '$udom' ";
+ ''.
+ &mt('Unknown ID [_1] at domain [_2]',
+ "'".$id."'","'".$udom."'").
+ '
';
}
} else {
$uname=$env{'form.uname'};
@@ -2099,16 +2108,20 @@ sub assessparms {
$uhome=&Apache::lonnet::homeserver($uname,$udom);
if ($uhome eq 'no_host') {
$message=
- ''.&mt("Unknown user")." '$uname' ".
- &mt("at domain")." '$udom' ";
+ ''.
+ &mt('Unknown user [_1] at domain [_2]',
+ "'".$uname."'","'".$udom."'").
+ '
';
$uname='';
} else {
$csec=&Apache::lonnet::getsection($udom,$uname,
$env{'request.course.id'});
if ($csec eq '-1') {
- $message=''.
- &mt("User")." '$uname' ".&mt("at domain")." '$udom' ".
- &mt("not in this course")." ";
+ $message=
+ ''.
+ &mt('User [_1] at domain [_2] not in this course',
+ "'".$uname."'","'".$udom."'").
+ '
';
$uname='';
$csec=$env{'form.csec'};
$cgroup=$env{'form.cgroup'};
@@ -2142,7 +2155,7 @@ sub assessparms {
$symbp{'0.0'} = '';
# ---------------------------------------------------------- Anything to store?
- if ($env{'form.pres_marker'} && $parm_permission->{'edit'}) {
+ if ($env{'form.pres_marker'}) {
my @markers=split(/\&\&\&/,$env{'form.pres_marker'});
my @values=split(/\&\&\&/,$env{'form.pres_value'});
my @types=split(/\&\&\&/,$env{'form.pres_type'});
@@ -2197,7 +2210,7 @@ sub assessparms {
if ($val > $now) {
$val = 'future';
}
- }
+ }
} elsif ($name eq 'printenddate') {
if ($val =~ /^\d+$/) {
if ($val < $now) {
@@ -2211,7 +2224,7 @@ sub assessparms {
unless ($got_chostname) {
($chostname,$cmajor,$cminor) = ¶meter_release_vars();
$got_chostname = 1;
- }
+ }
$needsnewer = ¶meter_releasecheck($name,$val,
$needsrelease,
$cmajor,$cminor);
@@ -2237,18 +2250,19 @@ sub assessparms {
}
}
#----------------------------------------------- if all selected, fill in array
- if ($pscat[0] eq "all") {@pscat = (keys %allparms);}
+ if ($pscat[0] eq "all") {@pscat = (keys(%allparms));}
if (!@pscat) { @pscat=('duedate','opendate','answerdate','weight','maxtries','type','problemstatus') };
- if ($psprt[0] eq "all" || !@psprt) {@psprt = (keys %allparts);}
+ if ($psprt[0] eq "all" || !@psprt) {@psprt = (keys(%allparts));}
# ------------------------------------------------------------------ Start page
- &startpage($r,$pssymb);
+ my $crstype = &Apache::loncommon::course_type();
+ &startpage($r,$pssymb,$crstype);
- foreach ('tolerance','date_default','date_start','date_end',
+ foreach my $item ('tolerance','date_default','date_start','date_end',
'date_interval','int','float','string') {
$r->print(' ').
- '" name="recent_'.$_.'" />');
+ &HTML::Entities::encode($env{'form.recent_'.$item},'"&<>').
+ '" name="recent_'.$item.'" />');
}
# ----- Start Parameter Selection
@@ -2322,7 +2336,6 @@ ENDPARMSELSCRIPT
.''
.'');
} else {
- $r->print();
# parameter screen for a single resource.
my ($map,$iid,$resource)=&Apache::lonnet::decode_symb($pssymb);
my $title = &Apache::lonnet::gettitle($pssymb);
@@ -2332,12 +2345,6 @@ ENDPARMSELSCRIPT
' ');
$r->print(&Apache::lonhtmlcommon::topic_bar('',&mt('Additional Display Specification (optional)')));
$r->print(&Apache::lonhtmlcommon::start_pick_box());
- $r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Parts to View')).
- ''.
- ' '.
- &mt('Show all parts').
- ' ');
&usermenu($r,$uname,$id,$udom,$csec,$cgroup,$parmlev,\@usersgroups);
$r->print(&Apache::lonhtmlcommon::row_closure(1));
$r->print(&Apache::lonhtmlcommon::end_pick_box());
@@ -2362,15 +2369,12 @@ ENDPARMSELSCRIPT
@pscat = @temp_pscat;
+
if (($env{'form.prevvisit'}) || ($pschp) || ($pssymb)) {
# ----------------------------------------------------------------- Start Table
my @catmarker=map { tr|.|_|; 'parameter_'.$_; } @pscat;
my $csuname=$env{'user.name'};
my $csudom=$env{'user.domain'};
- my $readonly = 1;
- if ($parm_permission->{'edit'}) {
- undef($readonly);
- }
if ($parmlev eq 'full') {
#
@@ -2393,7 +2397,7 @@ ENDPARMSELSCRIPT
$userspan ++;
}
$r->print('');
- $r->print(&mt("User")." $uname ".&mt('at Domain')." $udom ");
+ $r->print(&mt('User [_1] at Domain [_2]',"'".$uname."'","'".$udom."'").'');
}
my %lt=&Apache::lonlocal::texthash(
'pie' => "Parameter in Effect",
@@ -2456,9 +2460,8 @@ ENDTABLEHEADFOUR
my $defbgtwo='';
my $defbgthree = '';
- foreach (@ids) {
+ foreach my $rid (@ids) {
- my $rid=$_;
my ($inmapid)=($rid=~/\.(\d+)$/);
if ((!$pssymb &&
@@ -2492,35 +2495,34 @@ ENDTABLEHEADFOUR
my $uri=&Apache::lonnet::declutter($uris{$rid});
my $filter=$env{'form.filter'};
- foreach (&keysplit($keyp{$rid})) {
- my $tempkeyp = $_;
+ foreach my $tempkeyp (&keysplit($keyp{$rid})) {
if (grep $_ eq $tempkeyp, @catmarker) {
- my $parmname=&Apache::lonnet::metadata($uri,$_.'.name');
+ my $parmname=&Apache::lonnet::metadata($uri,$tempkeyp.'.name');
# We may only want certain parameters listed
if ($filter) {
unless ($filter=~/\Q$parmname\E/) { next; }
}
- $name{$_}=$parmname;
- $part{$_}=&Apache::lonnet::metadata($uri,$_.'.part');
+ $name{$tempkeyp}=$parmname;
+ $part{$tempkeyp}=&Apache::lonnet::metadata($uri,$tempkeyp.'.part');
- my $parmdis=&Apache::lonnet::metadata($uri,$_.'.display');
- if ($allparms{$name{$_}} ne '') {
+ my $parmdis=&Apache::lonnet::metadata($uri,$tempkeyp.'.display');
+ if ($allparms{$name{$tempkeyp}} ne '') {
my $identifier;
if ($parmdis =~ /(\s*\[Part.*)$/) {
$identifier = $1;
}
- $display{$_} = $allparms{$name{$_}}.$identifier;
+ $display{$tempkeyp} = $allparms{$name{$tempkeyp}}.$identifier;
} else {
- $display{$_} = $parmdis;
+ $display{$tempkeyp} = $parmdis;
}
- unless ($display{$_}) { $display{$_}=''; }
- $display{$_}.=' ('.$name{$_}.')';
- $default{$_}=&Apache::lonnet::metadata($uri,$_);
- $type{$_}=&Apache::lonnet::metadata($uri,$_.'.type');
- $thistitle=&Apache::lonnet::metadata($uri,$_.'.title');
+ unless ($display{$tempkeyp}) { $display{$tempkeyp}=''; }
+ $display{$tempkeyp}.=' ('.$name{$tempkeyp}.')';
+ $default{$tempkeyp}=&Apache::lonnet::metadata($uri,$tempkeyp);
+ $type{$tempkeyp}=&Apache::lonnet::metadata($uri,$tempkeyp.'.type');
+ $thistitle=&Apache::lonnet::metadata($uri,$tempkeyp.'.title');
}
}
- my $totalparms=scalar keys %name;
+ my $totalparms=scalar(keys(%name));
if ($totalparms>0) {
my $firstrow=1;
my $title=&Apache::lonnet::gettitle($symbp{$rid});
@@ -2546,17 +2548,16 @@ ENDTABLEHEADFOUR
$r->print(''.$maptitles{$mapp{$rid}}.' ');
- foreach (&keysinorder_bytype(\%name,\%keyorder)) {
-
+ foreach my $item (&keysinorder_bytype(\%name,\%keyorder)) {
unless ($firstrow) {
$r->print('');
} else {
undef $firstrow;
}
- &print_row($r,$_,\%part,\%name,\%symbp,$rid,\%default,
+ &print_row($r,$item,\%part,\%name,\%symbp,$rid,\%default,
\%type,\%display,$defbgone,$defbgtwo,
$defbgthree,$parmlev,$uname,$udom,$csec,
- $cgroup,\@usersgroups,$noeditgrp,$readonly);
+ $cgroup,\@usersgroups);
}
}
}
@@ -2580,7 +2581,7 @@ ENDTABLEHEADFOUR
#-------------------------------------------- for each map, gather information
my $mapid;
- foreach $mapid (sort {$maplist{$a} cmp $maplist{$b}} keys %maplist) {
+ foreach $mapid (sort {$maplist{$a} cmp $maplist{$b}} keys(%maplist)) {
my $maptitle = $maplist{$mapid};
#----------------------- loop through ids and get all parameter types for map
@@ -2594,9 +2595,9 @@ ENDTABLEHEADFOUR
# $r->print("Catmarker: @catmarker \n");
- foreach (@ids) {
- ($map)=(/([\d]*?)\./);
- my $rid = $_;
+ foreach my $id (@ids) {
+ ($map)=($id =~ /([\d]*?)\./);
+ my $rid = $id;
# $r->print("$mapid:$map: $rid \n");
@@ -2611,12 +2612,11 @@ ENDTABLEHEADFOUR
# When storing information, store as part 0
# When requesting information, request from full part
#-------------------------------------------------------------------
- foreach (&keysplit($keyp{$rid})) {
- my $tempkeyp = $_;
- my $fullkeyp = $tempkeyp;
- $tempkeyp =~ s/_\w+_/_0_/;
+ foreach my $fullkeyp (&keysplit($keyp{$rid})) {
+ my $tempkeyp = $fullkeyp;
+ $tempkeyp =~ s/_\w+_/_0_/;
- if ((grep $_ eq $fullkeyp, @catmarker) &&(!$name{$tempkeyp})) {
+ if ((grep $_ eq $fullkeyp, @catmarker) &&(!$name{$tempkeyp})) {
$part{$tempkeyp}="0";
$name{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.name');
my $parmdis=&Apache::lonnet::metadata($uri,$fullkeyp.'.display');
@@ -2675,12 +2675,11 @@ ENDTABLEHEADFOUR
.&Apache::loncommon::end_data_table_header_row()
);
- foreach (&keysinorder(\%name,\%keyorder)) {
+ foreach my $item (&keysinorder(\%name,\%keyorder)) {
$r->print(&Apache::loncommon::start_data_table_row());
- &print_row($r,$_,\%part,\%name,\%symbp,$mapid,\%default,
+ &print_row($r,$item,\%part,\%name,\%symbp,$mapid,\%default,
\%type,\%display,$defbgone,$defbgtwo,$defbgthree,
- $parmlev,$uname,$udom,$csec,$cgroup,'',$noeditgrp,
- $readonly);
+ $parmlev,$uname,$udom,$csec,$cgroup);
}
$r->print(&Apache::loncommon::end_data_table().''
.''
@@ -2703,8 +2702,8 @@ ENDTABLEHEADFOUR
my %type = ();
my %default = ();
- foreach (@ids) {
- my $rid = $_;
+ foreach $id (@ids) {
+ my $rid = $id;
my $uri=&Apache::lonnet::declutter($uris{$rid});
@@ -2715,11 +2714,10 @@ ENDTABLEHEADFOUR
# When storing information, store as part 0
# When requesting information, request from full part
#-------------------------------------------------------------------
- foreach (&keysplit($keyp{$rid})) {
- my $tempkeyp = $_;
- my $fullkeyp = $tempkeyp;
- $tempkeyp =~ s/_\w+_/_0_/;
- if ((grep $_ eq $fullkeyp, @catmarker) &&(!$name{$tempkeyp})) {
+ foreach my $fullkeyp (&keysplit($keyp{$rid})) {
+ my $tempkeyp = $fullkeyp;
+ $tempkeyp =~ s/_\w+_/_0_/;
+ if ((grep $_ eq $fullkeyp, @catmarker) &&(!$name{$tempkeyp})) {
$part{$tempkeyp}="0";
$name{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.name');
my $parmdis=&Apache::lonnet::metadata($uri,$fullkeyp.'.display');
@@ -2767,12 +2765,11 @@ ENDMAPONE
.&Apache::loncommon::end_data_table_header_row()
);
- foreach (&keysinorder(\%name,\%keyorder)) {
+ foreach my $item (&keysinorder(\%name,\%keyorder)) {
$r->print(&Apache::loncommon::start_data_table_row());
- &print_row($r,$_,\%part,\%name,\%symbp,$mapid,\%default,
- \%type,\%display,$defbgone,$defbgtwo,$defbgthree,
- $parmlev,$uname,$udom,$csec,$cgroup,'',$noeditgrp,
- $readonly);
+ &print_row($r,$item,\%part,\%name,\%symbp,$mapid,\%default,
+ \%type,\%display,$defbgone,$defbgtwo,$defbgthree,
+ $parmlev,$uname,$udom,$csec,$cgroup);
}
$r->print(&Apache::loncommon::end_data_table()
.''
@@ -2781,6 +2778,7 @@ ENDMAPONE
} # end of $parmlev eq general
}
$r->print('');
+ &endSettingsScreen($r);
$r->print(&Apache::loncommon::end_page());
} # end sub assessparms
@@ -2790,19 +2788,12 @@ ENDMAPONE
my $tableopen;
sub tablestart {
- my ($readonly) = @_;
if ($tableopen) {
- return '';
+ return '';
} else {
- $tableopen=1;
- my $output = &Apache::loncommon::start_data_table().' '.&mt('Parameter').' ';
- if ($readonly) {
- $output .= ''.&mt('Current value').' ';
- } else {
- $output .= ''.&mt('Delete').' '.&mt('Set to ...').' ';
- }
- $output .= ' ';
- return $output;
+ $tableopen=1;
+ return &Apache::loncommon::start_data_table().''.&mt('Parameter').' '.
+ &mt('Delete').' '.&mt('Set to ...').' ';
}
}
@@ -2822,24 +2813,20 @@ sub readdata {
# Read userdata
my $classlist=&Apache::loncoursedata::get_classlist();
- foreach (keys %$classlist) {
- if ($_=~/^($match_username)\:($match_domain)$/) {
- my ($tuname,$tudom)=($1,$2);
- my $useropt=&Apache::lonnet::get_userresdata($tuname,$tudom);
- foreach my $userkey (keys %{$useropt}) {
- if ($userkey=~/^$env{'request.course.id'}/) {
+ foreach my $user (keys(%$classlist)) {
+ if ($user=~/^($match_username)\:($match_domain)$/) {
+ my ($tuname,$tudom)=($1,$2);
+ my $useropt=&Apache::lonnet::get_userresdata($tuname,$tudom);
+ foreach my $userkey (keys(%{$useropt})) {
+ if ($userkey=~/^\Q$env{'request.course.id'}\E/) {
my $newkey=$userkey;
- $newkey=~s/^($env{'request.course.id'}\.)/$1\[useropt\:$tuname\:$tudom\]\./;
- $$resourcedata{$newkey}=$$useropt{$userkey};
- }
+ $newkey=~s/^($env{'request.course.id'}\.)/$1\[useropt\:$tuname\:$tudom\]\./;
+ $$resourcedata{$newkey}=$$useropt{$userkey};
+ }
+ }
}
}
- }
- if (wantarray) {
- return ($resourcedata,$classlist);
- } else {
- return $resourcedata;
- }
+ return $resourcedata;
}
@@ -2967,7 +2954,7 @@ sub storedata {
}
# Store all course level
my $delentries=$#deldata+1;
- my @newdatakeys=keys %newdata;
+ my @newdatakeys=keys(%newdata);
my $putentries=$#newdatakeys+1;
if ($delentries) {
if (&Apache::lonnet::del('resourcedata',\@deldata,$dom,$crs) eq 'ok') {
@@ -3018,7 +3005,7 @@ sub parse_listdata_key {
}
sub listdata {
- my ($r,$resourcedata,$listdata,$sortorder,$caller,$classlist,$readonly)=@_;
+ my ($r,$resourcedata,$listdata,$sortorder)=@_;
# Start list output
my $oldsection='';
@@ -3068,7 +3055,7 @@ sub listdata {
}
$result;
- } keys %{$listdata}) {
+ } keys(%{$listdata})) {
if ($$listdata{$thiskey.'.type'}) {
my $thistype=$$listdata{$thiskey.'.type'};
@@ -3128,49 +3115,36 @@ sub listdata {
# Ready to print
#
my $parmitem = &standard_parameter_names($name);
- $r->print(&tablestart($readonly).
+ $r->print(&tablestart().
&Apache::loncommon::start_data_table_row().
''.&mt($parmitem).
- ' ');
- unless ($readonly) {
- $r->print(' ');
- }
- $r->print('');
+ ' ');
$foundkeys++;
if (&isdateparm($thistype)) {
- my $jskey='key_'.$pointer;
- my $state;
- $pointer++;
- if ($readonly) {
- $state = 'disabled';
- }
- $r->print(
- &Apache::lonhtmlcommon::date_setter('parmform',
- $jskey,
- $$resourcedata{$thiskey},
- '',1,$state));
- unless ($readonly) {
- $r->print(
+ my $jskey='key_'.$pointer;
+ $pointer++;
+ $r->print(
+ &Apache::lonhtmlcommon::date_setter('parmform',
+ $jskey,
+ $$resourcedata{$thiskey},
+ '',1,'','').
' '.
(($$resourcedata{$thiskey}!=0)?''.
&mt('Shift all dates based on this date').' ':'').
&date_sanity_info($$resourcedata{$thiskey})
);
- }
} elsif ($thistype eq 'date_interval') {
- $r->print(&date_interval_selector($thiskey,
- $$resourcedata{$thiskey},$readonly));
+ $r->print(&date_interval_selector($thiskey,
+ $$resourcedata{$thiskey}));
} elsif ($thistype =~ m/^string/) {
- $r->print(&string_selector($thistype,$thiskey,
- $$resourcedata{$thiskey},$name,$readonly));
+ $r->print(&string_selector($thistype,$thiskey,
+ $$resourcedata{$thiskey},$name));
} else {
- $r->print(&default_selector($thiskey,$$resourcedata{$thiskey},$readonly));
- }
- unless ($readonly) {
- $r->print(' ');
+ $r->print(&default_selector($thiskey,$$resourcedata{$thiskey}));
}
+ $r->print(' ');
$r->print(' '.&Apache::loncommon::end_data_table_row());
}
}
@@ -3179,7 +3153,7 @@ sub listdata {
sub date_interval_selector {
- my ($thiskey, $showval, $readonly) = @_;
+ my ($thiskey, $showval) = @_;
my $result;
foreach my $which (['days', 86400, 31],
['hours', 3600, 23],
@@ -3191,12 +3165,10 @@ sub date_interval_selector {
my %select = ((map {$_ => $_} (0..$max)),
'select_form_order' => [0..$max]);
$result .= &Apache::loncommon::select_form($amount,$name.'_'.$thiskey,
- \%select,'',$readonly);
+ \%select);
$result .= ' '.&mt($name);
}
- unless ($readonly) {
- $result .= ' ';
- }
+ $result .= ' ';
return $result;
}
@@ -3218,12 +3190,8 @@ sub get_date_interval_from_form {
sub default_selector {
- my ($thiskey, $showval, $readonly) = @_;
- my $disabled;
- if ($readonly) {
- $disabled = ' disabled="disabled"';
- }
- return ' ';
+ my ($thiskey, $showval) = @_;
+ return ' ';
}
my %strings =
@@ -3240,7 +3208,7 @@ my %strings =
=> [[ 'problem', 'Standard Problem'],
[ 'survey', 'Survey'],
[ 'anonsurveycred', 'Anonymous Survey (credit for submission)'],
- [ 'exam', 'Exam'],
+ [ 'exam', 'Bubblesheet Exam'],
[ 'anonsurvey', 'Anonymous Survey'],
[ 'randomizetry', 'New Randomization Each N Tries (default N=1)'],
[ 'practice', 'Practice'],
@@ -3264,10 +3232,10 @@ sub standard_string_options {
}
sub string_selector {
- my ($thistype, $thiskey, $showval, $name, $readonly) = @_;
+ my ($thistype, $thiskey, $showval, $name) = @_;
if (!exists($strings{$thistype})) {
- return &default_selector($thiskey,$showval,$readonly);
+ return &default_selector($thiskey,$showval);
}
my %skiptype;
@@ -3293,12 +3261,9 @@ sub string_selector {
}
}
}
-
- my ($result,$disabled);
+
- if ($readonly) {
- $disabled = ' disabled="disabled"';
- }
+ my $result;
my $numinrow = 3;
if ($thistype eq 'string_problemstatus') {
$numinrow = 2;
@@ -3324,7 +3289,7 @@ sub string_selector {
$result .= ''.
''.
' {'edit'}) {
- undef($readonly);
- }
+ my $crstype = $env{'course.'.$env{'request.course.id'}.'.type'};
&Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setoverview',
text=>"Overview Mode"});
@@ -3410,6 +3372,7 @@ sub newoverview {
{'add_entries' => \%loaditems,});
my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Overview');
$r->print($start_page.$breadcrumbs);
+ &startSettingsScreen($r,'parmset',$crstype);
$r->print(<
ENDOVER
@@ -3438,7 +3401,7 @@ ENDOVER
my $pschp=$env{'form.pschp'};
my @psprt=&Apache::loncommon::get_env_multiple('form.psprt');
- if (!@psprt) { $psprt[0]='0'; }
+ if (!@psprt) { $psprt[0]='all'; }
my @selected_sections =
&Apache::loncommon::get_env_multiple('form.Section');
@@ -3530,13 +3493,12 @@ ENDOVER
# List data
- &listdata($r,$resourcedata,$listdata,$sortorder,'newoverview',undef,$readonly);
- }
- $r->print(&tableend());
- unless ($readonly) {
- $r->print(((($env{'form.store'}) || ($env{'form.dis'}))?'
':''));
+ &listdata($r,$resourcedata,$listdata,$sortorder);
}
- $r->print('');
+ $r->print(&tableend().
+ ((($env{'form.store'}) || ($env{'form.dis'}))?'
':'').
+ '');
+ &endSettingsScreen($r);
$r->print(&Apache::loncommon::end_page());
}
@@ -3555,7 +3517,7 @@ sub secgroup_lister {
$$listdata{$newparmkey.'.type'}=$$defkeytype{$cat};
} elsif ($parmlev eq 'map') {
# map-level parameter
- foreach my $mapid (keys %{$allmaps}) {
+ foreach my $mapid (keys(%{$allmaps})) {
if (($pschp ne 'all') && ($pschp ne $mapid)) { next; }
my $newparmkey=$rootparmkey.'.'.$$allmaps{$mapid}.'___(all).'.$part.'.'.$cat;
$$listdata{$newparmkey}=1;
@@ -3576,54 +3538,39 @@ sub secgroup_lister {
}
sub overview {
- my ($r,$parm_permission) = @_;
+ my ($r) = @_;
my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
- my $readonly = 1;
- if ($parm_permission->{'edit'}) {
- undef($readonly);
- }
+ my $crstype = $env{'course.'.$env{'request.course.id'}.'.type'};
+
&Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setoverview',
text=>"Overview Mode"});
my $start_page=&Apache::loncommon::start_page('Modify Parameters');
my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Overview');
$r->print($start_page.$breadcrumbs);
+ &startSettingsScreen($r,'parmset',$crstype);
$r->print(''.&Apache::loncommon::end_page());
+ $r->print(&tableend().''.
+ ($foundkeys?' ':''.&mt('There are no parameters.').' ').'
'.
+ &Apache::loncommon::end_page());
}
sub clean_parameters {
@@ -3699,8 +3646,8 @@ ENDOVER
my ($map,$resid,$url) =
&Apache::lonnet::decode_symb($data{'realm'});
$r->print(&mt('Resource: [_1]with ID: [_2]in folder [_3]',
- $url.' ',
- $resid.' ',$map));
+ $url.' ',
+ $resid.' ',$map));
}
$r->print(' '.&mt('Part: [_1]',$data{'parameter_part'}));
$r->print(' ');
@@ -3710,6 +3657,7 @@ ENDOVER
$r->print(&Apache::loncommon::end_data_table().''.
' '.
'
');
+ &endSettingsScreen($r);
$r->print(&Apache::loncommon::end_page());
}
@@ -3717,12 +3665,14 @@ sub date_shift_one {
my ($r) = @_;
my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
+ my $crstype = $env{'course.'.$env{'request.course.id'}.'.type'};
&Apache::lonhtmlcommon::add_breadcrumb({href=>'/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($start_page.$breadcrumbs);
+ &startSettingsScreen($r,'parmset',$crstype);
$r->print('');
+ &endSettingsScreen($r);
}
@@ -4157,6 +4082,8 @@ sub setrestrictmeta {
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Restrict Metadata'));
my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
+ my $crstype = $env{'course.'.$env{'request.course.id'}.'.type'};
+ &startSettingsScreen($r,'parmset',$crstype);
my $key_base = $env{'course.'.$env{'request.course.id'}.'.'};
my $save_field = '';
if ($env{'form.restrictmeta'}) {
@@ -4227,6 +4154,7 @@ ENDButtons
$buttons
ENDenv
+ &endSettingsScreen($r);
$r->print(&Apache::loncommon::end_page());
return 'ok';
}
@@ -4267,14 +4195,16 @@ sub defaultsetter {
&Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=setdefaults',
text=>"Set Defaults"});
+ my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+ my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
+ my $crstype = $env{'course.'.$env{'request.course.id'}.'.type'};
my $start_page =
- &Apache::loncommon::start_page('Parameter Setting Default Actions');
+ &Apache::loncommon::start_page('Parameter Setting Default Actions');
my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Defaults');
$r->print($start_page.$breadcrumbs);
+ &startSettingsScreen($r,'parmset',$crstype);
$r->print(''."\n");
+ &endSettingsScreen($r);
$r->print(&Apache::loncommon::end_page());
return;
}
@@ -4504,7 +4435,10 @@ sub standard_parameter_types {
}
sub parm_change_log {
- my ($r,$parm_permission)=@_;
+ my ($r)=@_;
+ my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+ my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
+ my $crstype = $env{'course.'.$env{'request.course.id'}.'.type'}
&Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=settable',
text=>"Parameter Change Log"});
my $js = ''."\n";
$r->print(&Apache::loncommon::start_page('Parameter Change Log',$js));
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Parameter Change Log'));
- my %parmlog=&Apache::lonnet::dump('nohist_parameterlog',
- $env{'course.'.$env{'request.course.id'}.'.domain'},
- $env{'course.'.$env{'request.course.id'}.'.num'});
+ &startSettingsScreen($r,'parmset',$crstype);
+ my %parmlog=&Apache::lonnet::dump('nohist_parameterlog',$cdom,$cnum);
if ((keys(%parmlog))[0]=~/^error\:/) { undef(%parmlog); }
@@ -4533,19 +4466,12 @@ sub parm_change_log {
$r->print(&Apache::loncommon::display_filter('parmslog').' '."\n".
' '.
' ');
- my $readonly = 1;
- if ($parm_permission->{'edit'}) {
- undef($readonly);
- }
- my $courseopt=&Apache::lonnet::get_courseresdata($env{'course.'.$env{'request.course.id'}.'.num'},
- $env{'course.'.$env{'request.course.id'}.'.domain'});
+
+ my $courseopt=&Apache::lonnet::get_courseresdata($cnum,$cdom);
$r->print(&Apache::loncommon::start_data_table().&Apache::loncommon::start_data_table_header_row().
''.&mt('Time').' '.&mt('User').' '.&mt('Extent').' '.&mt('Users').' '.
- &mt('Parameter').' '.&mt('Part').' '.&mt('New Value').' ');
- unless ($readonly) {
- $r->print(''.&mt('Announce').' ');
- }
- $r->print(&Apache::loncommon::end_data_table_header_row());
+ &mt('Parameter').''.&mt('Part').' '.&mt('New Value').' '.&mt('Announce').' '.
+ &Apache::loncommon::end_data_table_header_row());
my $shown=0;
my $folder='';
if ($env{'form.displayfilter'} eq 'currentfolder') {
@@ -4578,8 +4504,7 @@ sub parm_change_log {
$parmlog{$id}{'exe_uname'},
$parmlog{$id}{'exe_udom'});
my $send_msg_link='';
- if ((!$readonly) &&
- (($parmlog{$id}{'exe_uname'} ne $env{'user.name'})
+ if ((($parmlog{$id}{'exe_uname'} ne $env{'user.name'})
|| ($parmlog{$id}{'exe_udom'} ne $env{'user.domain'}))) {
$send_msg_link =' '.
&Apache::loncommon::messagewrapper(&mt('Send message'),
@@ -4649,31 +4574,27 @@ sub parm_change_log {
}
}
}
- $output .= '';
-
- unless ($readonly) {
- $output .= '';
- if ($stillactive) {
- my $parmitem = &standard_parameter_names($parmname);
- $parmitem = &mt($parmitem);
- my $title=&mt('Changed [_1]',$parmitem);
- my $description=&mt('Changed [_1] for [_2] to [_3]',
- $parmitem,$realmdescription,
- (&isdateparm($istype{$parmname})?&Apache::lonlocal::locallocaltime($value):$value));
- if (($uname) && ($udom)) {
- $output .=
- &Apache::loncommon::messagewrapper('Notify User',
- $uname,$udom,$title,
- $description);
- } else {
- $output .=
- &Apache::lonrss::course_blog_link($id,$title,
- $description);
- }
- }
- $output .= ' ';
- }
- $output .= &Apache::loncommon::end_data_table_row();
+ $output .= '';
+
+ if ($stillactive) {
+ my $parmitem = &standard_parameter_names($parmname);
+ $parmitem = &mt($parmitem);
+ my $title=&mt('Changed [_1]',$parmitem);
+ my $description=&mt('Changed [_1] for [_2] to [_3]',
+ $parmitem,$realmdescription,
+ (&isdateparm($istype{$parmname})?&Apache::lonlocal::locallocaltime($value):$value));
+ if (($uname) && ($udom)) {
+ $output .=
+ &Apache::loncommon::messagewrapper('Notify User',
+ $uname,$udom,$title,
+ $description);
+ } else {
+ $output .=
+ &Apache::lonrss::course_blog_link($id,$title,
+ $description);
+ }
+ }
+ $output .= ' '.&Apache::loncommon::end_data_table_row();
}
if ($env{'form.displayfilter'} eq 'containing') {
my $wholeentry=$about_me_link.':'.
@@ -4693,6 +4614,7 @@ sub parm_change_log {
|| $shown<=$env{'form.show'})) { last; }
}
$r->print(&Apache::loncommon::end_data_table());
+ &endSettingsScreen($r);
$r->print(&Apache::loncommon::end_page());
}
@@ -4741,10 +4663,10 @@ sub update_slots {
context => 'parameter',
);
&Apache::lonnet::write_log('course','slotreservationslog',\%storehash,
- '',$uname,$udom,$cnum,$cdom);
+ '',$uname,$udom,$cnum,$cdom);
&Apache::lonnet::write_log('course',$cdom.'_'.$cnum.'_slotlog',\%storehash,
- '',$uname,$udom,$uname,$udom);
+ '',$uname,$udom,$uname,$udom);
}
return $success;
}
@@ -4775,9 +4697,9 @@ sub delete_slots {
context => 'parameter',
);
&Apache::lonnet::write_log('course','slotreservationslog',\%storehash,
- 1,$uname,$udom,$cnum,$cdom);
+ 1,$uname,$udom,$cnum,$cdom);
&Apache::lonnet::write_log('course',$cdom.'_'.$cnum.'_slotlog',\%storehash,
- 1,$uname,$udom,$uname,$udom);
+ 1,$uname,$udom,$uname,$udom);
}
}
}
@@ -4839,7 +4761,7 @@ sub oldversion_warning {
my $now = time;
if ($value =~ /^\d+$/) {
if ($name eq 'printstartdate') {
- if ($value > $now) {
+ if ($value > $now) {
$desc = &Apache::lonlocal::locallocaltime($value);
}
} elsif ($name eq 'printenddate') {
@@ -4859,46 +4781,6 @@ sub oldversion_warning {
'';
}
-sub get_permission {
- my %permission;
- my $allowed = 0;
- return (\%permission,$allowed) unless ($env{'request.course.id'});
- if ((&Apache::lonnet::allowed('opa',$env{'request.course.id'})) ||
- (&Apache::lonnet::allowed('opa',$env{'request.course.id'}.'/'.
- $env{'request.course.sec'}))) {
- %permission= (
- 'edit' => 1,
- 'set' => 1,
- 'setoverview' => 1,
- 'addmetadata' => 1,
- 'ordermetadata' => 1,
- 'setrestrictmeta' => 1,
- 'newoverview' => 1,
- 'setdefaults' => 1,
- 'settable' => 1,
- 'parameterchangelog' => 1,
- 'cleanparameters' => 1,
- 'dateshift1' => 1,
- 'dateshift2' => 1,
- 'helper' => 1,
- );
- } elsif ((&Apache::lonnet::allowed('vpa',$env{'request.course.id'})) ||
- (&Apache::lonnet::allowed('vpa',$env{'request.course.id'}.'/'.
- $env{'request.course.sec'}))) {
- %permission = (
- 'set' => 1,
- 'settable' => 1,
- 'newoverview' => 1,
- 'setoverview' => 1,
- 'parameterchangelog' => 1,
- );
- }
- foreach my $perm (values(%permission)) {
- if ($perm) { $allowed=1; last; }
- }
- return (\%permission,$allowed);
-}
-
sub handler {
my $r=shift;
@@ -4926,41 +4808,41 @@ sub handler {
'Parameter_Manager,Course_Environment,Parameter_Helper,Parameter_Overview,Table_Mode'});
# ----------------------------------------------------- Needs to be in a course
- my ($parm_permission,$allowed) = &get_permission();
+ my $parm_permission =
+ (&Apache::lonnet::allowed('opa',$env{'request.course.id'}) ||
+ &Apache::lonnet::allowed('opa',$env{'request.course.id'}.'/'.
+ $env{'request.course.sec'}));
my $exists = &check_for_course_info();
- if ($env{'request.course.id'} && $allowed && $exists) {
+ if ($env{'request.course.id'} && $parm_permission && $exists) {
#
# Main switch on form.action and form.state, as appropriate
#
# Check first if coming from someone else headed directly for
# the table mode
- if (($parm_permission->{'set'}) &&
- ((($env{'form.command'} eq 'set') && ($env{'form.url'})
- && (!$env{'form.dis'})) || ($env{'form.symb'}))) {
- &assessparms($r,$parm_permission);
+ if ((($env{'form.command'} eq 'set') && ($env{'form.url'})
+ && (!$env{'form.dis'})) || ($env{'form.symb'})) {
+ &assessparms($r);
} elsif (! exists($env{'form.action'})) {
&print_main_menu($r,$parm_permission);
- } elsif (!$parm_permission->{$env{'form.action'}}) {
- &print_main_menu($r,$parm_permission);
} elsif ($env{'form.action'} eq 'setoverview') {
- &overview($r,$parm_permission);
- } elsif ($env{'form.action'} eq 'addmetadata') {
- &addmetafield($r);
- } elsif ($env{'form.action'} eq 'ordermetadata') {
- &order_meta_fields($r);
+ &overview($r);
+ } elsif ($env{'form.action'} eq 'addmetadata') {
+ &addmetafield($r);
+ } elsif ($env{'form.action'} eq 'ordermetadata') {
+ &order_meta_fields($r);
} elsif ($env{'form.action'} eq 'setrestrictmeta') {
- &setrestrictmeta($r);
+ &setrestrictmeta($r);
} elsif ($env{'form.action'} eq 'newoverview') {
- &newoverview($r,$parm_permission);
+ &newoverview($r);
} elsif ($env{'form.action'} eq 'setdefaults') {
- &defaultsetter($r);
- } elsif ($env{'form.action'} eq 'settable') {
- &assessparms($r,$parm_permission);
+ &defaultsetter($r);
+ } elsif ($env{'form.action'} eq 'settable') {
+ &assessparms($r);
} elsif ($env{'form.action'} eq 'parameterchangelog') {
- &parm_change_log($r,$parm_permission);
+ &parm_change_log($r);
} elsif ($env{'form.action'} eq 'cleanparameters') {
- &clean_parameters($r);
+ &clean_parameters($r);
} elsif ($env{'form.action'} eq 'dateshift1') {
&date_shift_one($r);
} elsif ($env{'form.action'} eq 'dateshift2') {