--- loncom/interface/Attic/londropadd.pm 2004/01/15 03:18:19 1.98 +++ loncom/interface/Attic/londropadd.pm 2004/01/15 19:27:05 1.99 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to drop and add students in courses # -# $Id: londropadd.pm,v 1.98 2004/01/15 03:18:19 www Exp $ +# $Id: londropadd.pm,v 1.99 2004/01/15 19:27:05 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -190,6 +190,7 @@ sub hidden_input { sub print_upload_manager_header { my ($r,$datatoken,$distotal,$krbdefdom)=@_; my $javascript; + # if (! exists($ENV{'form.upfile_associate'})) { $ENV{'form.upfile_associate'} = 'forward'; } @@ -205,7 +206,20 @@ sub print_upload_manager_header { } else { $javascript=&upload_manager_javascript_forward_associate(); } - my $javascript_validations=&javascript_validations('auth',$krbdefdom); + # + # Deal with restored settings + my $password_choice = ''; + if (exists($ENV{'form.ipwd_choice'}) && + $ENV{'form.ipwd_choice'} ne '') { + # If a column was specified for password, assume it is for an + # internal password. This is a bug waiting to be filed (could be + # local or krb auth instead of internal) but I do not have the + # time to mess around with this now. + $password_choice = 'int'; + } + # + my $javascript_validations=&javascript_validations('auth',$krbdefdom, + $password_choice); my $checked=(($ENV{'form.noFirstLine'})?' checked="1"':''); $r->print('

'.&mt('Uploading Class List')."

\n". "
\n". @@ -239,11 +253,13 @@ sub javascript_validations { my $authheader; if ($mode eq 'auth') { my %param = ( formname => 'studentform', - kerb_def_dom => $krbdefdom ); + kerb_def_dom => $krbdefdom, + curr_authtype => $curr_authtype); $authheader = &Apache::loncommon::authform_header(%param); } elsif ($mode eq 'createcourse') { my %param = ( formname => 'ccrs', - kerb_def_dom => $krbdefdom ); + kerb_def_dom => $krbdefdom, + curr_authtype => $curr_authtype ); $authheader = &Apache::loncommon::authform_header(%param); } elsif ($mode eq 'modifycourse') { my %param = ( formname => 'cmod', @@ -561,6 +577,11 @@ sub print_upload_manager_footer { kerb_def_dom => $krbdefdom, kerb_def_auth => $krbdef ); + if (exists($ENV{'form.ipwd_choice'}) && + defined($ENV{'form.ipwd_choice'}) && + $ENV{'form.ipwd_choice'} ne '') { + $param{'curr_authtype'} = 'int'; + } my $krbform = &Apache::loncommon::authform_kerberos(%param); my $intform = &Apache::loncommon::authform_internal(%param); my $locform = &Apache::loncommon::authform_local(%param); @@ -601,6 +622,7 @@ sub print_upload_manager_footer { ############################################################### sub print_upload_manager_form { my $r=shift; + my $firstLine; my $datatoken; if (!$ENV{'form.datatoken'}) { @@ -617,23 +639,41 @@ sub print_upload_manager_form { my $distotal=$total+1; my $today=time; my $halfyear=$today+15552000; + # + # Restore memorized settings + &Apache::loncommon::restore_course_settings + ('enrollment_upload',{ 'username_choice' => 'scalar', # column settings + 'names_choice' => 'scalar', + 'fname_choice' => 'scalar', + 'mname_choice' => 'scalar', + 'lname_choice' => 'scalar', + 'gen_choice' => 'scalar', + 'id_choice' => 'scalar', + 'sec_choice' => 'scalar', + 'ipwd_choice' => 'scalar', + 'email_choice' => 'scalar', + }); + # + # Determine kerberos parameters as appropriate my $defdom=$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}; my ($krbdef,$krbdefdom) = &Apache::loncommon::get_kerberos_defaults($defdom); + # &print_upload_manager_header($r,$datatoken,$distotal,$krbdefdom); my $i; my $keyfields; if ($total>=0) { - my @field=(['username',&mt('Username')], - ['names',&mt('Last Name, First Names')], - ['fname',&mt('First Name')], - ['mname',&mt('Middle Names/Initials')], - ['lname',&mt('Last Name')], - ['gen',&mt('Generation')], - ['id',&mt('ID/Student Number')], - ['sec',&mt('Group/Section')], - ['ipwd',&mt('Initial Password')], - ['email',&mt('EMail Address')]); + my @field= + (['username',&mt('Username'), $ENV{'form.username_choice'}], + ['names',&mt('Last Name, First Names'),$ENV{'form.names_choice'}], + ['fname',&mt('First Name'), $ENV{'form.fname_choice'}], + ['mname',&mt('Middle Names/Initials'),$ENV{'form.mname_choice'}], + ['lname',&mt('Last Name'), $ENV{'form.lname_choice'}], + ['gen', &mt('Generation'), $ENV{'form.gen_choice'}], + ['id', &mt('ID/Student Number'),$ENV{'form.id_choice'}], + ['sec', &mt('Group/Section'), $ENV{'form.sec_choice'}], + ['ipwd', &mt('Initial Password'),$ENV{'form.ipwd_choice'}], + ['email',&mt('EMail Address'), $ENV{'form.email_choice'}]); if ($ENV{'form.upfile_associate'} eq 'reverse') { &Apache::loncommon::csv_print_samples($r,\@records); $i=&Apache::loncommon::csv_print_select_table($r,\@records, @@ -1753,6 +1793,24 @@ sub upfile_drop_add { } } # + # Store the field choices away + foreach my $field (qw/username names + fname mname lname gen id sec ipwd email/) { + $ENV{'form.'.$field.'_choice'}=$fields{$field}; + } + &Apache::loncommon::store_course_settings('enrollment_upload', + { 'username_choice' => 'scalar', + 'names_choice' => 'scalar', + 'fname_choice' => 'scalar', + 'mname_choice' => 'scalar', + 'lname_choice' => 'scalar', + 'gen_choice' => 'scalar', + 'id_choice' => 'scalar', + 'sec_choice' => 'scalar', + 'ipwd_choice' => 'scalar', + 'email_choice' => 'scalar' }); + + # my ($startdate,$enddate) = &get_dates_from_form(); if ($ENV{'form.makedatesdefault'}) { $r->print(&make_dates_default($startdate,$enddate));