--- loncom/interface/Attic/londropadd.pm 2003/07/25 18:51:18 1.78 +++ loncom/interface/Attic/londropadd.pm 2003/08/25 16:36:58 1.80.2.1 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to drop and add students in courses # -# $Id: londropadd.pm,v 1.78 2003/07/25 18:51:18 matthew Exp $ +# $Id: londropadd.pm,v 1.80.2.1 2003/08/25 16:36:58 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -518,7 +518,7 @@ sub print_upload_manager_form { my $distotal=$total+1; my $today=time; my $halfyear=$today+15552000; - my $defdom=$r->dir_config('lonDefDomain'); + my $defdom=$ENV{'request.role.domain'}; my ($krbdef,$krbdefdom) = &Apache::loncommon::get_kerberos_defaults($defdom); &print_upload_manager_header($r,$datatoken,$distotal,$krbdefdom); @@ -553,8 +553,8 @@ sub print_upload_manager_form { # ======================================================= Enroll single student sub enroll_single_student { my $r=shift; - # Remove whitespace from section - $ENV{'form.csec'}=~s/(\s|:)//g; + # Remove non alphanumeric values from section + $ENV{'form.csec'}=~s/\W//g; # # We do the dates first because the action of making them the defaul # in the course is entirely seperate from the action of enrolling the @@ -622,10 +622,14 @@ sub enroll_single_student { $r->print("unable to enroll: ".$login_result); } } else { - $r->print('

ERROR '. - 'Invalid login mode or password. '. - 'Unable to enroll '.$ENV{'form.cuname'}.'.

'); - } + $r->print('

ERROR '); + if ($amode =~ /^krb/) { + $r->print('Missing Kerberos domain information. '); + } else { + $r->print('Invalid login mode or password. '); + } + $r->print('Unable to enroll '.$ENV{'form.cuname'}.'.

'); + } } else { $r->print('Invalid username or domain'); } @@ -716,7 +720,7 @@ sub make_dates_default { sub get_student_username_domain_form { my $r = shift; my $domform = &Apache::loncommon::select_dom_form - ($r->dir_config('lonDefDomain'),'cudomain',0); + ($ENV{'request.role.domain'},'cudomain',0); $r->print(< @@ -752,7 +756,7 @@ sub print_enroll_single_student_form { my $user_data_html = ''; my $javascript_validations = ''; if ($new_user) { - my $defdom=$r->dir_config('lonDefDomain'); + my $defdom=$ENV{'request.role.domain'}; # Set up authentication forms my ($krbdef,$krbdefdom) = &Apache::loncommon::get_kerberos_defaults($domain); @@ -1197,8 +1201,8 @@ END sub modify_single_student { my $r = shift; # - # Remove whitespace from the section - $ENV{'form.section'} =~ s/(\s|:)//g; + # Remove non alphanumeric values from the section + $ENV{'form.section'} =~ s/\W//g; # # Do the date defaults first my ($starttime,$endtime) = &get_dates_from_form(); @@ -1585,6 +1589,14 @@ sub upfile_drop_add { $genpwd=$ENV{'form.locarg'}; } } + if ($amode =~ /^krb/) { + if (! defined($genpwd) || $genpwd eq '') { + $r->print(''. + 'Unable to enroll students:'.' '. + 'No Kerberos domain was specified.

'); + $amode = ''; # This causes the loop below to be skipped + } + } unless (($domain=~/\W/) || ($amode eq '')) { ####################################### ## Enroll Students ## @@ -1630,8 +1642,8 @@ sub upfile_drop_add { $sec=$entries{$fields{'sec'}}; } } - # remove whitespace from section - $sec =~ s/(\s|:)//g; + # remove non alphanumeric values from section + $sec =~ s/\W//g; # determine student id number my $id=''; if (defined($fields{'id'})) {