--- loncom/interface/lonparmset.pm 2009/05/20 18:03:04 1.413.4.1 +++ loncom/interface/lonparmset.pm 2010/04/13 22:22:43 1.413.4.8 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.413.4.1 2009/05/20 18:03:04 raeburn Exp $ +# $Id: lonparmset.pm,v 1.413.4.8 2010/04/13 22:22:43 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -247,37 +247,6 @@ Variables used (guessed by Jeremy): =item parse_key() -=item check_cloners() : - -Checks if new users included in list of allowed cloners -are valid users. Replaces supplied list with -cleaned list containing only users with valid usernames -and domains. - -Inputs: $clonelist, $oldcloner -where $clonelist is ref to array of requested cloners, -and $oldcloner is ref to array of currently allowed -cloners. - -Returns: string - comma separated list of requested -cloners (username:domain) who do not exist in system. - -=item change_clone() : - -Modifies the list of courses a user can clone (stored -in the user's environment.db file), called when a -change is made to the list of users allowed to clone -a course. - -Inputs: $action,$cloner -where $action is add or drop, and $cloner is identity of -user for whom cloning ability is to be changed in course. - - -=item check_cloners() - -=item change_clone() - =item header() Output html header for page @@ -1165,7 +1134,7 @@ sub extractResourceInformation { $parmdis = $display; $parmdis =~ s/\s*\[Part.*$//g; } else { - $parmdis = $display; + $parmdis = &mt($display); } $$allparms{$name}=$parmdis; if (ref($defkeytype)) { @@ -2040,7 +2009,7 @@ ENDTABLEHEADFOUR \%type,\%display,$defbgone,$defbgtwo, $defbgthree,$parmlev,$uname,$udom,$csec, $cgroup,\@usersgroups); - $print(''."\n"); + $r->print(''."\n"); } } } @@ -2540,9 +2509,11 @@ 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++; @@ -2929,9 +2900,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')); @@ -3048,121 +3020,6 @@ sub parse_key { return %data; } -sub extract_cloners { - my ($clonelist,$allowclone) = @_; - if ($clonelist =~ /,/) { - @{$allowclone} = split(/,/,$clonelist); - } else { - $$allowclone[0] = $clonelist; - } -} - -sub check_cloners { - my ($clonelist,$oldcloner) = @_; - my ($clean_clonelist,%disallowed); - my @allowclone = (); - &extract_cloners($$clonelist,\@allowclone); - foreach my $currclone (@allowclone) { - if (!grep(/^\Q$currclone\E$/,@$oldcloner)) { - if ($currclone eq '*') { - $clean_clonelist .= $currclone.','; - } else { - my ($uname,$udom) = split(/:/,$currclone); - if ($uname eq '*') { - if ($udom =~ /^$match_domain$/) { - if (!&Apache::lonnet::domain($udom)) { - $disallowed{'domain'} .= $currclone.','; - } else { - $clean_clonelist .= $currclone.','; - } - } else { - $disallowed{'format'} .= $currclone.','; - } - } elsif ($currclone !~/^($match_username)\:($match_domain)$/) { - $disallowed{'format'} .= $currclone.','; - } else { - if (&Apache::lonnet::homeserver($uname,$udom) eq 'no_host') { - $disallowed{'newuser'} .= $currclone.','; - } else { - $clean_clonelist .= $currclone.','; - } - } - } - } else { - $clean_clonelist .= $currclone.','; - } - } - foreach my $key (keys(%disallowed)) { - $disallowed{$key} =~ s/,$//; - } - if ($clean_clonelist) { - $clean_clonelist =~ s/,$//; - } - $$clonelist = $clean_clonelist; - return %disallowed; -} - -sub change_clone { - my ($clonelist,$oldcloner) = @_; - my ($uname,$udom); - my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; - my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; - my $clone_crs = $cnum.':'.$cdom; - - if ($cnum && $cdom) { - my @allowclone; - &extract_cloners($clonelist,\@allowclone); - foreach my $currclone (@allowclone) { - if (!grep(/^$currclone$/,@$oldcloner)) { - if ($currclone ne '*') { - ($uname,$udom) = split(/:/,$currclone); - if ($uname && $udom && $uname ne '*') { - if (&Apache::lonnet::homeserver($uname,$udom) ne 'no_host') { - my %currclonecrs = &Apache::lonnet::dump('environment',$udom,$uname,'cloneable'); - if ($currclonecrs{'cloneable'} !~ /\Q$clone_crs\E/) { - if ($currclonecrs{'cloneable'} eq '') { - $currclonecrs{'cloneable'} = $clone_crs; - } else { - $currclonecrs{'cloneable'} .= ','.$clone_crs; - } - &Apache::lonnet::put('environment',\%currclonecrs,$udom,$uname); - } - } - } - } - } - } - foreach my $oldclone (@$oldcloner) { - if (!grep(/^\Q$oldclone\E$/,@allowclone)) { - if ($oldclone ne '*') { - ($uname,$udom) = split(/:/,$oldclone); - if ($uname && $udom && $uname ne '*' ) { - if (&Apache::lonnet::homeserver($uname,$udom) ne 'no_host') { - my %currclonecrs = &Apache::lonnet::dump('environment',$udom,$uname,'cloneable'); - my %newclonecrs = (); - if ($currclonecrs{'cloneable'} =~ /\Q$clone_crs\E/) { - if ($currclonecrs{'cloneable'} =~ /,/) { - my @currclonecrs = split/,/,$currclonecrs{'cloneable'}; - foreach my $crs (@currclonecrs) { - if ($crs ne $clone_crs) { - $newclonecrs{'cloneable'} .= $crs.','; - } - } - $newclonecrs{'cloneable'} =~ s/,$//; - } else { - $newclonecrs{'cloneable'} = ''; - } - &Apache::lonnet::put('environment',\%newclonecrs,$udom,$uname); - } - } - } - } - } - } - } -} - - sub header { return &Apache::loncommon::start_page('Parameter Manager'); } @@ -3180,22 +3037,16 @@ ENDMAINFORMHEAD my $vgr = &Apache::lonnet::allowed('vgr',$env{'request.course.id'}); my $mgr = &Apache::lonnet::allowed('mgr',$env{'request.course.id'}); + my $crstype = &Apache::loncommon::course_type(); + my $lc_crstype = lc($crstype); + my @menu = - ( { divider=>'Settings for Your Course', + ( { divider=>"Settings for Your $crstype", }, - { text => 'Edit course configuration', - url => '/adm/courseprefs?origin=params', - permission => $parm_permission, - help => 'Course_Environment', - }, { text => 'Set Portfolio Metadata', action => 'setrestrictmeta', permission => $parm_permission, }, - { text => 'Manage Course Slots', - url => '/adm/slotrequest?command=showslots', - permission => $vgr, - }, { text => 'Reset Student Access Times', url => '/adm/helper/resettimes.helper', permission => $mgr, @@ -3229,7 +3080,7 @@ ENDMAINFORMHEAD permission => $parm_permission, help => 'Parameter_Overview', }, - { text => 'Parameter Change Log and Course Blog Posting/User Notification', + { text => "Parameter Change Log and $crstype Blog Posting/User Notification", action => 'parameterchangelog', permission => $parm_permission, }, @@ -3713,8 +3564,8 @@ ENDYESNO $r->print(''.&Apache::loncommon::end_data_table_row()); } $r->print(&Apache::loncommon::end_data_table(). - "\n".''."\n". + "\n".''."\n". &Apache::loncommon::end_page()); return; } @@ -3772,7 +3623,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 { @@ -3886,15 +3736,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); @@ -3912,8 +3765,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 .= @@ -4142,8 +3998,6 @@ sub handler { &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=dateshift1&timebase='.$env{'form.timebase'}, text=>"Shifting Dates"}); &date_shift_two($r); - } elsif ($env{'form.action'} eq 'categorizecourse' && $parm_permission) { - &assign_course_categories($r); } } else { # ----------------------------- Not in a course, or not allowed to modify parms