--- loncom/interface/lonmodifycourse.pm 2007/09/24 23:29:53 1.32
+++ loncom/interface/lonmodifycourse.pm 2007/12/14 00:24:11 1.36
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# handler for DC-only modifiable course settings
#
-# $Id: lonmodifycourse.pm,v 1.32 2007/09/24 23:29:53 raeburn Exp $
+# $Id: lonmodifycourse.pm,v 1.36 2007/12/14 00:24:11 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';
@@ -368,9 +368,9 @@ 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',
@@ -437,7 +437,7 @@ all settings except course code, course
my $mainheader = &mt('Course settings modifiable by [_1] only.',$dctitle);
my $hidden_elements = &hidden_form_elements();
$r->print(<
+
@@ -561,9 +561,17 @@ sub modify_course {
}
if ($changeowner == 1 || $changecode == 1) {
my $courseid_entry = &escape($cdom.'_'.$cnum).'='.&escape($description).':'.&escape($env{'form.coursecode'}).':'.&escape($env{'form.courseowner'}).':'.&escape($type);
- &Apache::lonnet::courseidput($cdom,$courseid_entry,&Apache::lonnet::homeserver($cnum,$cdom));
+ my %courseid_entry = (
+ $cdom.'_'.$cnum => {
+ description => $description,
+ inst_code => $env{'form.coursecode'},
+ owner => $env{'form.courseowner'},
+ type => $type,
+ },
+ );
+ &Apache::lonnet::courseidput($cdom,\%courseid_entry,
+ &Apache::lonnet::homeserver($cnum,$cdom),'notime');
}
-
foreach my $param (@modifiable_params) {
if ($currattr{$param} eq $newattr{$param}) {
push(@nochanges,$param);
@@ -573,17 +581,16 @@ sub modify_course {
push(@changes,$param);
}
}
-
if (@changes > 0) {
$chgresponse = &mt("The following automated enrollment parameters have been changed:
");
}
if (@nochanges > 0) {
$nochgresponse = &mt("The following automated enrollment parameters remain unchanged:
");
}
- if (@changes > 0) {
+ if (@changes > 0) {
my $putreply = &Apache::lonnet::put('environment',\%cenv,$cdom,$cnum);
if ($putreply !~ /^ok$/) {
- $response = &mt("There was a problem processing your requested changes. The automated enrollment settings for this course have been left unchanged.
");
+ $response = &mt("There was a problem processing your requested changes. The automated enrollment settings for this course have been left unchanged.
").&mt('Error: ').$putreply;
} else {
foreach my $attr (@modifiable_params) {
if (grep/^$attr$/,@changes) {
@@ -800,28 +807,36 @@ sub print_footer {
sub check_course {
my ($r,$dom,$domdesc) = @_;
my ($ok_course,$description,$instcode,$owner);
- if (defined($env{'form.pickedcourse'})) {
- my ($cdom,$cnum) = split(/_/,$env{'form.pickedcourse'});
- if ($cdom eq $dom) {
- my %courseIDs = &Apache::lonnet::courseiddump($cdom,'.',1,'.','.',
- $cnum,undef,undef,'.');
- if (keys(%courseIDs) > 0) {
- $ok_course = 'ok';
+ my %args = (
+ one_time => 1,
+ );
+ my %coursehash =
+ &Apache::lonnet::coursedescription($env{'form.pickedcourse'},\%args);
+ my $cnum = $coursehash{'num'};
+ my $cdom = $coursehash{'domain'};
+ if ($cdom eq $dom) {
+ my $description;
+ my %courseIDs = &Apache::lonnet::courseiddump($cdom,'.',1,'.','.',
+ $cnum,undef,undef,'.');
+ if (keys(%courseIDs) > 0) {
+ $ok_course = 'ok';
+ my ($instcode,$owner);
+ if (ref($courseIDs{$cdom.'_'.$cnum}) eq 'HASH') {
+ $description = $courseIDs{$cdom.'_'.$cnum}{'description'};
+ $instcode = $courseIDs{$cdom.'_'.$cnum}{'inst_code'};
+ $owner = $courseIDs{$cdom.'_'.$cnum}{'owner'};
+ } else {
($description,$instcode,$owner) =
- split(/:/,$courseIDs{$cdom.'_'.$cnum});
- $description = &unescape($description);
- $instcode = &unescape($instcode);
- if ($instcode) {
- $description .= " ($instcode)";
- }
+ split(/:/,$courseIDs{$cdom.'_'.$cnum});
+ }
+ $description = &unescape($description);
+ $instcode = &unescape($instcode);
+ if ($instcode) {
+ $description .= " ($instcode)";
}
+ return ($ok_course,$description);
}
}
-
- if ($ok_course ne 'ok') {
- $r->print('
'.&mt('The LON-CAPA course selected was not a valid course for the [_1] domain',$domdesc));
- }
- return ($ok_course,$description);
}
sub course_settings_descrip {
@@ -926,7 +941,7 @@ sub handler {
}
}
} else {
- $r->print(&mt('The course you selected is not a valid course in this domain')." ($domdesc)");
+ $r->print(''.&mt('The course you selected is not a valid course in this domain')." ($domdesc)".'');
}
}
}