Diff for /loncom/interface/lonmodifycourse.pm between versions 1.2 and 1.3

version 1.2, 2003/12/28 01:37:02 version 1.3, 2003/12/28 18:27:49
Line 1 Line 1
   # Copyright Michigan State University Board of Trustees
   #
   # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
   #
   # LON-CAPA is free software; you can redistribute it and/or modify
   # it under the terms of the GNU General Public License as published by
   # the Free Software Foundation; either version 2 of the License, or
   # (at your option) any later version.
   #
   # LON-CAPA is distributed in the hope that it will be useful,
   # but WITHOUT ANY WARRANTY; without even the implied warranty of
   # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   # GNU General Public License for more details.
   #
   # You should have received a copy of the GNU General Public License
   # along with LON-CAPA; if not, write to the Free Software
   # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   #
   # /home/httpd/html/adm/gpl.txt
   #
   # http://www.lon-capa.org/
   #
 package Apache::lonmodifycourse;  package Apache::lonmodifycourse;
   
 use strict;  use strict;
Line 28  sub print_course_selection_page { Line 50  sub print_course_selection_page {
     &print_header($r,$tasklongref);      &print_header($r,$tasklongref);
     $r->print(<<ENDBLOCK);      $r->print(<<ENDBLOCK);
 <form action="/adm/modifycourse" method="post" name="cmod">  <form action="/adm/modifycourse" method="post" name="cmod">
 <h2>$lt{'csae'}</h2>  <h3>$lt{'csae'}</h3>
 <p>$lt{'unst'}  <p>$lt{'unst'}
 </p><p>$lt{'chcs'}  </p><p>$lt{'chcs'}
 <br/>$lt{'eaen'}  <br/>$lt{'eaen'}
Line 102  ENDBLOCK Line 124  ENDBLOCK
 sub print_course_modification_page {  sub print_course_modification_page {
     my ($r,$tasklongref,$typeref) = @_;      my ($r,$tasklongref,$typeref) = @_;
     my %enrollvar = ();      my %enrollvar = ();
     my @bgcolors=("#eeeeee","#cccccc");      my $javascript_validations;
     my $course = $ENV{'form.course'};      my $course = '';
     my $dom = $ENV{'user.domain'};      my $dom = $ENV{'user.domain'};
       if ( defined($ENV{'form.course'}) ) {
           $course = $ENV{'form.course'};
       }
       my $ok_course = 'ok';
       if ( ($course == -1) || ($course == '-2') || ($course eq '') ) {
           $ok_course = 'invalid';
       } else {
           $ok_course = &check_course($dom,$course);
       }
   
       unless ($ok_course eq 'ok') {
           &print_header($r,$tasklongref,'',\$javascript_validations);
           my $reply = "<br/>".&mt("The LON-CAPA course selected was not a valid course for this domain");
           $r->print($reply);
           &print_footer($r);
           return;
       }
   
       my @bgcolors=("#eeeeee","#cccccc");
     my $ownertable;      my $ownertable;
     my %lt=&Apache::lonlocal::texthash(      my %lt=&Apache::lonlocal::texthash(
             'actv' => "Active",              'actv' => "Active",
Line 207  all settings except course code, course Line 248  all settings except course code, course
     unless ($curr_authtype eq '') {      unless ($curr_authtype eq '') {
         $curr_authfield = $curr_authtype.'arg';          $curr_authfield = $curr_authtype.'arg';
     }       } 
     my $javascript_validations=&Apache::londropadd::javascript_validations('modifycourse',$krbdefdom,$curr_authtype,$curr_authfield);      $javascript_validations=&Apache::londropadd::javascript_validations('modifycourse',$krbdefdom,$curr_authtype,$curr_authfield);
     my %param = ( formname => 'document.cmod',      my %param = ( formname => 'document.cmod',
    kerb_def_dom => $krbdefdom,     kerb_def_dom => $krbdefdom,
    kerb_def_auth => $krbdef,     kerb_def_auth => $krbdef,
Line 305  all settings except course code, course Line 346  all settings except course code, course
     &print_header($r,$tasklongref,$settings{'description'},\$javascript_validations);      &print_header($r,$tasklongref,$settings{'description'},\$javascript_validations);
     $r->print(<<ENDDOCUMENT);      $r->print(<<ENDDOCUMENT);
 <form action="/adm/modifycourse" method="post" name="cmod">  <form action="/adm/modifycourse" method="post" name="cmod">
 <h2>$lt{'aecs'}</h2>  <h3>$lt{'aecs'}</h3>
 $lt{'cose'}<a href="/adm/populate">$lt{'aenm'}</a>$lt{'andb'}  $lt{'cose'}<a href="/adm/populate">$lt{'aenm'}</a>$lt{'andb'}
 <p>  <p>
 <table width="100%" cellspacing="0" cellpadding="0">  <table width="100%" cellspacing="0" cellpadding="0">
Line 383  sub modify_course { Line 424  sub modify_course {
     my ($r,$tasklongref,$typeref) = @_;      my ($r,$tasklongref,$typeref) = @_;
     my $dom = $ENV{'user.domain'};      my $dom = $ENV{'user.domain'};
     my $crs = $ENV{'form.course'};      my $crs = $ENV{'form.course'};
   
       unless ( &check_course($dom,$crs) eq 'ok' ) {
           &print_header($r,$tasklongref);
           my $reply = "<br/>".&mt("The LON-CAPA course selected was not a valid course for this domain");
           $r->print($reply);
           &print_footer($r);
           return;
       }
   
     my %settings = &Apache::lonnet::get('environment',['internal.courseowner','internal.coursecode','internal.authtype','internal.autharg','internal.sectionnums','internal.crosslistings','description'],$dom,$crs);      my %settings = &Apache::lonnet::get('environment',['internal.courseowner','internal.coursecode','internal.authtype','internal.autharg','internal.sectionnums','internal.crosslistings','description'],$dom,$crs);
     my %currattr = ();      my %currattr = ();
     my %newattr = ();      my %newattr = ();
Line 499  sub modify_course { Line 549  sub modify_course {
                     foreach my $sec (@sections) {                      foreach my $sec (@sections) {
                 if ($sec =~ m/^(.+):/) {                  if ($sec =~ m/^(.+):/) {
                     my $course_id = $newattr{'coursecode'}.$1;                      my $course_id = $newattr{'coursecode'}.$1;
 #            my $course_check = &localenroll::validate_courseID($course_id);              my $course_check = &localenroll::validate_courseID($course_id);
                                     my $course_check = 'ok';  
             if ($course_check eq 'ok') {                if ($course_check eq 'ok') {  
 #                                        my $outcome = &localenroll::new_course($course_id,$newattr{'courseowner'});                                          my $outcome = &localenroll::new_course($course_id,$newattr{'courseowner'});
                 my $outcome = 'ok';                  my $outcome = 'ok';
                 unless ($outcome eq 'ok') {                   unless ($outcome eq 'ok') { 
             $warning .= &mt("If automatic enrollment is enabled for LON-CAPA course: ").$description.&mt(", automated enrollment may fail for ").$newattr{'coursecode'}.&mt(" - section $1 for the following reason: $outcome.<br/>");              $warning .= &mt("If automatic enrollment is enabled for LON-CAPA course: ").$description.&mt(", automated enrollment may fail for ").$newattr{'coursecode'}.&mt(" - section $1 for the following reason: $outcome.<br/>");
Line 521  sub modify_course { Line 570  sub modify_course {
             if ( (@xlists > 0) && ($changeowner) ) {              if ( (@xlists > 0) && ($changeowner) ) {
                 foreach my $xlist (@xlists) {                  foreach my $xlist (@xlists) {
             if ($xlist =~ m/^(.+):/) {              if ($xlist =~ m/^(.+):/) {
 #                                my $outcome = &localenroll::new_course($1,$newattr{'courseowner'});                                  my $outcome = &localenroll::new_course($1,$newattr{'courseowner'});
                 my $outcome = 'ok';  
                 unless ($outcome eq 'ok') {                  unless ($outcome eq 'ok') {
             $warning .= &mt("If automatic enrollment is enabled for LON-CAPA course: ").$description.&mt(", automated enrollment may fail for crosslisted class: ").$1.&mt(" for the following reason: $outcome.<br/>");              $warning .= &mt("If automatic enrollment is enabled for LON-CAPA course: ").$description.&mt(", automated enrollment may fail for crosslisted class: ").$1.&mt(" for the following reason: $outcome.<br/>");
                 }                  }
Line 554  sub modify_course { Line 602  sub modify_course {
         $reply = $response;          $reply = $response;
     }      }
     &print_header($r,$tasklongref,$description);      &print_header($r,$tasklongref,$description);
     $r->print("<table><tr><td>$reply</td></tr></table");      $reply = "<h3>".&mt("Automated Enrollment Course Settings")."</h3><table><tr><td>".$reply."</td></tr></table>";
       $r->print($reply);
     &print_footer($r);      &print_footer($r);
     return;       return; 
 }  }
Line 622  sub print_footer { Line 671  sub print_footer {
 ENDBASE  ENDBASE
 }  }
   
   sub check_course {
       my ($dom,$course) = @_;
       my %courseIDs = &Apache::lonnet::courseiddump($dom,'.',1);
       my @courses = ();
       foreach my $key (sort keys %courseIDs) {
           if ($key =~ m/^($dom)_(\w+)$/) {
               push @courses, $2;
           }
       }
       if (grep/^$course$/,@courses) {
           return 'ok';
       }
       else {
           return 'invalid course';
       }
   }
   
   
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;

Removed from v.1.2  
changed lines
  Added in v.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>