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; |