--- loncom/interface/courseprefs.pm 2012/08/01 17:31:37 1.49.2.3 +++ loncom/interface/courseprefs.pm 2013/04/08 23:57:21 1.55 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set configuration settings for a course # -# $Id: courseprefs.pm,v 1.49.2.3 2012/08/01 17:31:37 raeburn Exp $ +# $Id: courseprefs.pm,v 1.55 2013/04/08 23:57:21 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -300,6 +300,7 @@ sub handler { gens => 'General course settings', idnu => 'Course ID or number', desc => 'Course Description', + cred => 'Student credits', ownr => 'Course Owner', cown => 'Course Co-owners', catg => 'Categorize course', @@ -422,6 +423,7 @@ sub handler { col2 => $lt{'stuv'}}], ordered => ['default_enrollment_start_date', 'default_enrollment_end_date', + 'defaultcredits', 'nothideprivileged','student_classlist_view', 'student_classlist_opt_in','student_classlist_portfiles'], itemtext => { @@ -431,6 +433,7 @@ sub handler { student_classlist_view => $lt{'stuv'}, student_classlist_opt_in => $lt{'stul'}, student_classlist_portfiles => 'Include link to accessible portfolio files', + defaultcredits => $lt{'cred'}, }, }, 'appearance' => @@ -465,13 +468,13 @@ sub handler { help => 'Course_Prefs_Printouts', ordered => ['problem_stream_switch','suppress_tries', 'default_paper_size','print_header_format', - 'disableexampointprint'], + 'disableexampointprint','canuse_pdfforms'], itemtext => { problem_stream_switch => 'Allow problems to be split over pages', suppress_tries => 'Suppress number of tries in printing', default_paper_size => 'Default paper type', print_header_format => 'Print header format', - disableexampointprint => 'Disable automatically printing point values on exams', + disableexampointprint => 'Disable automatically printing point values on bubblesheet exams', canuse_pdfforms => 'Users can print problems as PDF forms and upload later for grading', }, }, @@ -549,9 +552,13 @@ sub print_config_box { ''."\n". - ''; + &mt($item->{text}); + if ($item->{'help'}) { + $output .= ' '. + &Apache::loncommon::help_open_topic($item->{'help'}); + } + $output .= ''."\n". + ''; if (($action eq 'feedback') || ($action eq 'classlists')) { $output .= ' @@ -624,7 +631,7 @@ sub print_config_box { $output .= &print_feedback('bottom',$cdom,$settings,$ordered,$itemtext,\$rowtotal); } elsif ($action eq 'discussion') { $output .= &print_discussion($cdom,$settings,$ordered,$itemtext,\$rowtotal); - } elsif ($action eq 'classlists') { + } elsif (($action eq 'classlists') || ($action eq 'viewableroster')) { $output .= &print_classlists('bottom',$cdom,$settings,$itemtext,\$rowtotal,$crstype); } elsif ($action eq 'appearance') { $output .= &print_appearance($cdom,$settings,$ordered,$itemtext,\$rowtotal,$crstype); @@ -679,6 +686,11 @@ sub process_changes { ($entry eq 'owner')); push(@ordered,$entry); } + } elsif ($action eq 'classlists') { + foreach my $entry (@{$item->{'ordered'}}) { + next if ($entry eq 'defaultcredits'); + push(@ordered,$entry); + } } else { @ordered = @{$item->{'ordered'}}; } @@ -993,14 +1005,14 @@ sub process_changes { my ($classorder,$classtitles) = &discussion_vote_classes(); my $fontchange = 0; foreach my $class (@{$classorder}) { - my $ext_entry = $entry.'_'.$class; + my $ext_entry = $entry.'_'.$class; my $size = $env{'form.'.$ext_entry.'_size'}; my $unit = $env{'form.'.$ext_entry.'_unit'}; my $weight = $env{'form.'.$ext_entry.'_weight'}; my $style = $env{'form.'.$ext_entry.'_style'}; my $other = $env{'form.'.$ext_entry.'_other'}; $size =~ s/,//g; - $unit =~ s/,//g; + $unit =~ s/,//g; $weight =~ s/,//g; $style =~ s/,//g; $other =~ s/[^\w;:\s\-\%.]//g; @@ -1008,7 +1020,7 @@ sub process_changes { $newvalues{$ext_entry} = join(',',($size.$unit,$weight,$style,$other)); my $current = $values->{$ext_entry}; if ($values->{$ext_entry} eq '') { - $current = ',,,'; + $current = ',,,'; } if ($newvalues{$ext_entry} ne $current) { $changes->{$ext_entry} = $newvalues{$ext_entry}; @@ -1017,7 +1029,7 @@ sub process_changes { } if ($fontchange) { $changes->{$entry} = 1; - } + } } elsif ($entry eq 'nothideprivileged') { my @curr_nothide; my @new_nothide; @@ -1777,13 +1789,13 @@ sub print_courseinfo { &mt('Modification may make assessment data inaccessible!'). '', input => 'textbox', - size => '40', + size => '55', advanced => 1 }, 'description' => { text => ''.&mt($itemtext->{'description'}).'', input => 'textbox', - size => '25', + size => '55', }, 'owner' => { text => ''.&mt($itemtext->{'owner'}).'', @@ -1830,6 +1842,9 @@ sub print_courseinfo { 'loncaparev' => { text => ''.&mt($itemtext->{'loncaparev'}).'', }, + 'defaultcredits' => { + text => ''.&mt($itemtext->{'defaultcredits'}).'', + }, ); my $datatable; my $count = 0; @@ -3084,7 +3099,7 @@ sub print_discussion { ''. ''. ''. - ''. + ''. &Apache::loncommon::end_data_table_row(). &set_discussion_fonts($cdom,$cnum,$item,$settings). &Apache::loncommon::end_data_table(); @@ -3256,7 +3271,7 @@ sub set_discussion_fonts { sub discussion_vote_classes { my $classorder = ['twoplus','oneplus','zero','oneminus','twominus']; - my %classtitles = &Apache::lonlocal::texthash( + my %classtitles = &Apache::lonlocal::texthash( 'twoplus' => 'Two sigma above mean', 'oneplus' => 'One sigma above mean', 'zero' => 'Within one sigma of mean', @@ -3284,6 +3299,9 @@ sub print_classlists { if ($position eq 'top') { @ordered = ('default_enrollment_start_date', 'default_enrollment_end_date'); + if ($crstype eq 'Course') { + push(@ordered,'defaultcredits'); + } } elsif ($position eq 'middle') { @ordered = ('nothideprivileged'); } else { @@ -3316,7 +3334,10 @@ sub print_classlists { text => ''.&mt($itemtext->{'default_enrollment_end_date'}).'', input => 'dates', }, - + 'defaultcredits' => { + text => ''.&mt($itemtext->{'defaultcredits'}).'', + }, + 'nothideprivileged' => { text => ''.&mt($itemtext->{'nothideprivileged'}).'', input => 'checkbox', @@ -3406,11 +3427,12 @@ sub print_grading { input => 'selectbox', options => { standard => &mt('Standard: shows points'), + categories => &mt('Categories: shows points according to categories'), external => &mt('External: shows number of completed parts and totals'), externalnototals => &mt('External: shows only number of completed parts'), spreadsheet => &mt('Spreadsheet: (with link to detailed scores)'), }, - order => ['standard','external','externalnototals','spreadsheet'], + order => ['standard','categories','external','externalnototals','spreadsheet'], }, 'rndseed' => { text => ''.&mt($itemtext->{'rndseed'}).''. @@ -3478,7 +3500,7 @@ sub print_printouts { A6 => &mt('A6').' [105x148 mm]', }, order => ['Letter','Legal','Tabloid','Executive','A2','A3','A4','A5','A6'], - nullval => 'None specified', + nullval => &mt('None specified'), }, print_header_format => { text => ''.&mt($itemtext->{'print_header_format'}).'', @@ -3496,7 +3518,7 @@ sub print_printouts { 0 => &mt('No'), }, order => ['1','0'], - nullval => 'None specified - use domain default', + nullval => &mt('None specified - use domain default'), } ); return &make_item_rows($cdom,\%items,$ordered,$settings,$rowtotal,$crstype); @@ -3717,7 +3739,16 @@ sub make_item_rows { } else { $datatable .= &item_table_row_start($items->{$item}{text},$count); } - if ($item eq 'nothideprivileged') { + if ($item eq 'defaultcredits') { + my $defaultcredits = $env{'course.'.$env{'request.course.id'}.'.internal.defaultcredits'}; + my $showcredits; + if ($defaultcredits ne '') { + $showcredits = &mt('Default is [quant,_1,credit]',$defaultcredits); + } else { + $showcredits = &mt('No default set'); + } + $datatable .= $showcredits; + } elsif ($item eq 'nothideprivileged') { $datatable .= ¬hidepriv_row($cdom,$item,$settings,$crstype); } elsif ($item eq 'print_header_format') { $datatable .= &print_hdrfmt_row($item,$settings);
'. - &mt($item->{text}).' '. - &Apache::loncommon::help_open_topic($item->{'help'}).'
'.&mt('font-size').''.&mt('font-weight').''.&mt('font-style').''.&mt('Other css').''.&mt('Other css').'