--- loncom/interface/lonmodifycourse.pm 2006/12/29 17:30:11 1.29 +++ loncom/interface/lonmodifycourse.pm 2009/05/08 17:22:17 1.44 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # handler for DC-only modifiable course settings # -# $Id: lonmodifycourse.pm,v 1.29 2006/12/29 17:30:11 raeburn Exp $ +# $Id: lonmodifycourse.pm,v 1.44 2009/05/08 17:22:17 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -33,7 +33,7 @@ use Apache::lonnet; use Apache::loncommon; use Apache::lonhtmlcommon; use Apache::lonlocal; -use Apache::londropadd; +use Apache::lonuserutils; use Apache::lonpickcourse; use LONCAPA::Enrollment; use lib '/home/httpd/lib/perl'; @@ -43,6 +43,22 @@ sub get_dc_settable { return ('courseowner','coursecode','authtype','autharg'); } +sub catalog_settable { + my ($confhash) = @_; + my @settable; + if (ref($confhash) eq 'HASH') { + if ($confhash->{'togglecats'} ne 'crs') { + push(@settable,'togglecats'); + } + if ($confhash->{'categorize'} ne 'crs') { + push(@settable,'categorize'); + } + } else { + push(@settable,('togglecats','categorize')); + } + return @settable; +} + sub get_enrollment_settings { my ($cdom,$cnum) = @_; my %settings = &Apache::lonnet::dump('environment',$cdom,$cnum); @@ -67,7 +83,7 @@ sub get_enrollment_settings { } else { $enrollvar{$type} = localtime($settings{$item}); } - } elsif ($type eq "sectionums") { + } elsif ($type eq "sectionnums") { $enrollvar{$type} = $settings{$item}; $enrollvar{$type} =~ s/,/, /g; } elsif ($type eq "authtype" @@ -102,30 +118,21 @@ sub print_course_search_page { &print_header($r); my $filterlist = ['descriptfilter', 'instcodefilter','ownerfilter', - 'ownerdomfilter','coursefilter']; + 'coursefilter']; my $filter = {}; + my $numtitles; my $type = 'Course'; my $action = '/adm/modifycourse'; my $cctitle = &Apache::lonnet::plaintext('cc',$type); my $dctitle = &Apache::lonnet::plaintext('dc'); - my %lt=&Apache::lonlocal::texthash( - 'some' => "Certain settings which control auto-enrollment of students from your institution's student information system.", - 'crqo' => 'The total disk space allocated for storage of portfolio files in all groups in a course.', - 'tmod' => 'To view or modify these settings use the criteria below to select a course from this domain.', - ); - $r->print('
';
$menu_html.='';
@@ -189,6 +221,16 @@ sub print_modification_menu {
return;
}
+sub print_ccrole_selected {
+ my ($r,$cdesc,$domdesc) = @_;
+ &print_header($r);
+ my ($cdom,$cnum) = split(/_/,$env{'form.pickedcourse'});
+ $r->print('');
+}
+
sub print_settings_display {
my ($r,$cdom,$cnum,$cdesc,$type) = @_;
my %enrollvar = &get_enrollment_settings($cdom,$cnum);
@@ -228,7 +270,7 @@ sub print_settings_display {
$disp_table .= &Apache::loncommon::end_data_table()."\n";
&print_header($r,$cdesc);
$r->print('
-
'.$lt{'caes'}.'
+'.$lt{'caes'}.$cdesc.'
'.$lt{'back'}.' '.&mt('Modify [_1]-only settings',$dctitle).''."\n". -&hidden_form_elements(). +&hidden_form_elements(). ''); } @@ -249,10 +291,10 @@ sub print_setquota { my $cctitle = &Apache::lonnet::plaintext('cc',$type); my $subdiv = &mt('Although a [_1] will assign the disk quota for each individual group, the size of the quota is constrained by the total disk space allocated by the [_2] for portfolio files in a course.',$cctitle,$dctitle); my %lt = &Apache::lonlocal::texthash( - 'cquo' => 'Disk space for storage of group portfolio files', + 'cquo' => 'Disk space for storage of group portfolio', 'gpqu' => 'Course portfolio files disk space', 'each' => 'Each course group can be assigned a quota for portfolio files uploaded to the group.', - 'modi' => 'Modify quota', + 'modi' => 'Save', 'back' => "Back to options page", ); my %settings = &Apache::lonnet::get('environment',['internal.coursequota'],$cdom,$cnum); @@ -279,6 +321,59 @@ ENDDOCUMENT return; } +sub print_catsettings { + my ($r,$cdom,$cnum,$cdesc) = @_; + &print_header($r,$cdesc); + my %lt = &Apache::lonlocal::texthash( + 'back' => 'Back to options page', + ); + $r->print('
'."\n"); + return; +} + sub print_course_modification_page { my ($r,$cdom,$cnum,$cdesc,$domdesc) = @_; my %longtype = &course_settings_descrip(); @@ -293,7 +388,7 @@ sub print_course_modification_page { 'name' => "Name", 'unme' => "Username:Domain", 'stus' => "Status", - 'cquo' => "Disk space for storage of group portfolio files", + 'cquo' => "Disk space for storage of group portfolio", 'gpqu' => "Course portfolio files disk space", 'each' => "Each course group can be assigned a quota for portfolio files uploaded to the group.", 'cose' => "Course settings for LON-CAPA courses that control automated student enrollment based on classlist data available from your institution's student information system fall into two groups: (a) settings that can be modified by a Course Coordinator using the ", @@ -313,7 +408,7 @@ all settings except course code, course 'usrd' => 'Use the radio buttons to select a different course owner.', 'deam' => "Default Authentication method", 'deus' => "The default authentication method, and default authentication parameter (domain, initial password or argument) are used when automatic enrollment of students in a course requires addition of new user accounts in your domain, and the class list file contains empty entries for the <authtype> and <autharg> properties for the new student. If you choose 'internally authenticated', and leave the initial password field empty, the automated enrollment process will create a randomized password for each new student account that it adds to your LON-CAPA domain.", - 'gobt' => "Modify settings", + 'gobt' => "Save", ); my @bgcolors = ('#eeeeee','#cccccc'); @@ -368,19 +463,24 @@ all settings except course code, course } unless ($curr_authtype eq '') { $curr_authfield = $curr_authtype.'arg'; - } - my $javascript_validations=&Apache::londropadd::javascript_validations('modifycourse',$krbdefdom,$curr_authtype,$curr_authfield); - my %param = ( formname => 'document.cmod', + } + my $javascript_validations=&Apache::lonuserutils::javascript_validations('modifycourse',$krbdefdom,$curr_authtype,$curr_authfield); + my %param = ( formname => 'document.'.$env{'form.phase'}, kerb_def_dom => $krbdefdom, kerb_def_auth => $krbdef, mode => 'modifycourse', curr_authtype => $curr_authtype, curr_autharg => $enrollvar{'autharg'} ); - my $krbform = &Apache::loncommon::authform_kerberos(%param); - my $intform = &Apache::loncommon::authform_internal(%param); - my $locform = &Apache::loncommon::authform_local(%param); - + my (%authform,$authenitems); + $authform{'krb'} = &Apache::loncommon::authform_kerberos(%param); + $authform{'int'} = &Apache::loncommon::authform_internal(%param); + $authform{'loc'} = &Apache::loncommon::authform_local(%param); + foreach my $item ('krb','int','loc') { + if ($authform{$item} ne '') { + $authenitems .= $authform{$item}.'