--- loncom/interface/lonparmset.pm 2009/03/19 17:05:52 1.413.2.2
+++ loncom/interface/lonparmset.pm 2009/09/15 03:01:17 1.413.6.2
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.413.2.2 2009/03/19 17:05:52 raeburn Exp $
+# $Id: lonparmset.pm,v 1.413.6.2 2009/09/15 03:01:17 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1007,7 +1007,7 @@ sub extractResourceInformation {
$parmdis = $display;
$parmdis =~ s/\s*\[Part.*$//g;
} else {
- $parmdis = $display;
+ $parmdis = &mt($display);
}
$$allparms{$name}=$parmdis;
if (ref($defkeytype)) {
@@ -2120,6 +2120,7 @@ sub crsenv {
my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
my (%crsinfo,$chome);
+ my $crstype = &Apache::loncommon::course_type();
#
# Go through list of changes
@@ -2129,6 +2130,22 @@ sub crsenv {
my $value = $env{'form.'.$name.'_value'};
if ($name eq 'newp') {
$name = $env{'form.newp_name'};
+ } elsif ($name =~ /^rolenames_([^_]+)$/) {
+ $name = $1.'.plaintext';
+ my $standardtitle =
+ &Apache::lonnet::plaintext($1,$crstype,$env{'request.course.id'},1);
+ my %adv_roles =
+ &Apache::lonnet::get_course_adv_roles($env{'request.course.id'},1);
+ if ($value ne '') {
+ foreach my $role (keys(%adv_roles)) {
+ if ($role =~ m{^cr/$match_domain/$match_name/\Q$value\E$}) {
+ $setoutput.= ''.
+ &mt('Requested replacement title for [_1] role is already used as the name of a custom role ([_2]).',$standardtitle,$value).
+ ' ';
+ undef($value);
+ }
+ }
+ }
}
if ($name eq 'url') {
$value=~s/^\/res\///;
@@ -2451,6 +2468,9 @@ sub crsenv {
&mt('Display Categories').'',
'datelocale'
=> ''.&mt('Locale used for course calendar').' ',
+ 'rolenames'
+ => ''.&mt('Replacement titles for standard course roles').' '.
+ '('.&mt('To replace the standard title for a course role, enter the title you wish to use, otherwise leave blank.').')',
);
my @Display_Order = ('url','description','courseid','cloners');
(my $can_toggle_cat,$can_categorize) = &can_modify_catsettings($dom);
@@ -2475,6 +2495,7 @@ sub crsenv {
'languages',
'timezone',
'datelocale',
+ 'rolenames',
'nothideprivileged',
'rndseed',
'receiptalg',
@@ -2497,8 +2518,9 @@ sub crsenv {
'task_messages','task_grading'));
foreach my $parameter (sort(keys(%values))) {
unless (($parameter =~ m/^internal\./)||($parameter =~ m/^metadata\./) ||
- ($parameter =~ m/^selfenroll_/) || ($parameter =~ /_selfenroll$/)
- || ($parameter eq 'type')) {
+ ($parameter =~ m/^selfenroll_/) || ($parameter =~ /_selfenroll$/) ||
+ ($parameter eq 'type') ||
+ ($parameter =~ m/^(cc|in|ta|ep|ad|st)\.plaintext$/)) {
if (! $descriptions{$parameter}) {
$descriptions{$parameter}=$parameter;
push(@Display_Order,$parameter);
@@ -2538,7 +2560,28 @@ sub crsenv {
$output .= '
'.
&Apache::loncommon::select_datelocale($parameter.'_value',
$currdatelocale,
- $onchange,$includeempty).' ';
+ $onchange,$includeempty).'';
+ } elsif ($parameter eq 'rolenames') {
+ $output.= '';
+ foreach my $role ('cc','in','ta','ep','ad','st') {
+ my $onchange = 'onFocus="javascript:window.document.forms'.
+ "['envform'].elements['".
+ $parameter.'_'.$role."_setparmval']".
+ '.checked=true;"';
+
+ $output.= ''.&Apache::lonnet::plaintext($role,$crstype,undef,1).
+ ' '.
+ &Apache::lonhtmlcommon::textbox($parameter.'_'.$role.'_value',
+ $values{$role.'.plaintext'},
+ 15,$onchange).
+ ' ';
+ }
+ $output .= '
';
+ foreach my $role ('cc','in','ta','ep','ad','st') {
+ $output .= ''.&Apache::lonhtmlcommon::checkbox($parameter.'_'.$role.'_setparmval').
+ ' ';
+ }
+ $output .= '
';
} elsif ($parameter eq 'categories') {
my $catdisplay;
if ($values{'categories'} ne '') {
@@ -2560,9 +2603,11 @@ sub crsenv {
$values{$parameter},
40,$onchange).'';
}
- $output .= ''.
- &Apache::lonhtmlcommon::checkbox($parameter.'_setparmval').
- ' ';
+ unless ($parameter eq 'rolenames') {
+ $output .= ''.
+ &Apache::lonhtmlcommon::checkbox($parameter.'_setparmval').
+ ' ';
+ }
$output .= &Apache::loncommon::end_data_table_row()."\n";
}
my $onchange = 'onFocus="javascript:window.document.forms'.
@@ -2998,9 +3043,10 @@ sub listdata {
#
# Ready to print
#
+ my $parmitem = &standard_parameter_names($name);
$r->print(&tablestart().
&Apache::loncommon::start_data_table_row().
- ''.&standard_parameter_names($name).
+ ' '.&mt($parmitem).
' ');
$foundkeys++;
@@ -3387,9 +3433,10 @@ ENDOVER
$display_value =
&Apache::lonlocal::locallocaltime($display_value);
}
+ my $parmitem = &standard_parameter_names($data{'parameter_name'});
+ $parmitem = &mt($parmitem);
$r->print(&mt('Parameter: "[_1]" with value: "[_2]"',
- &standard_parameter_names($data{'parameter_name'}),
- $resourcedata->{$thiskey}));
+ $parmitem,$resourcedata->{$thiskey}));
$r->print(' ');
if ($data{'scope_type'} eq 'all') {
$r->print(&mt('All users'));
@@ -4280,7 +4327,6 @@ sub load_parameter_names {
close($config);
$standard_parms{'int_pos'} = 'Positive Integer';
$standard_parms{'int_zero_pos'} = 'Positive Integer or Zero';
- %standard_parms=&Apache::lonlocal::texthash(%standard_parms);
}
sub standard_parameter_names {
@@ -4394,15 +4440,18 @@ sub parm_change_log {
} else {
$makenewrow=1;
}
+ my $parmitem = &standard_parameter_names($parmname);
$output .=' '.$realm.' '.$section.' '.
- &standard_parameter_names($parmname).' '.
+ &mt($parmitem).' '.
($part?&mt('Part: [_1]',$part):&mt('All Parts')).' ';
my $stillactive=0;
if ($parmlog{$id}{'delflag'}) {
$output .= &mt('Deleted');
} else {
if ($typeflag) {
- $output .= &mt('Type: [_1]',&standard_parameter_names($value));
+ my $parmitem = &standard_parameter_names($value);
+ $parmitem = &mt($parmitem);
+ $output .= &mt('Type: [_1]',$parmitem);
} else {
my ($level,@all)=&parmval_by_symb($what,$middle,&Apache::lonnet::metadata($middle,$what),
$uname,$udom,$issection,$issection,$courseopt);
@@ -4420,8 +4469,11 @@ sub parm_change_log {
}
$output .= ' ';
if ($stillactive) {
- my $title=&mt('Changed [_1]',&standard_parameter_names($parmname));
- my $description=&mt('Changed [_1] for [_2] to [_3]',&standard_parameter_names($parmname),$realmdescription,
+ 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 .=