--- loncom/interface/loncreatecourse.pm 2004/07/12 17:55:35 1.64
+++ loncom/interface/loncreatecourse.pm 2005/02/17 08:29:42 1.76
@@ -1,7 +1,7 @@
-#meserver The LearningOnline Network
+# The LearningOnline Network
# Create a course
#
-# $Id: loncreatecourse.pm,v 1.64 2004/07/12 17:55:35 raeburn Exp $
+# $Id: loncreatecourse.pm,v 1.76 2005/02/17 08:29:42 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -38,7 +38,6 @@ use Apache::londocs;
use Apache::lonlocal;
use Apache::londropadd;
use lib '/home/httpd/lib/perl';
-use localenroll;
# ================================================ Get course directory listing
@@ -123,7 +122,9 @@ sub copyfile {
&readfile($origcrsid,$which),
(
'/uploaded/'.$origcrsdata{'domain'}.'/'.$origcrsdata{'num'}.'/'
- => '/uploaded/'. $newcrsdata{'domain'}.'/'. $newcrsdata{'num'}.'/'
+ => '/uploaded/'. $newcrsdata{'domain'}.'/'. $newcrsdata{'num'}.'/',
+ '/public/'.$origcrsdata{'domain'}.'/'.$origcrsdata{'num'}.'/'
+ => '/public/'. $newcrsdata{'domain'}.'/'. $newcrsdata{'num'}.'/'
)));
}
}
@@ -137,6 +138,9 @@ sub copydb {
my %newcrsdata= &Apache::lonnet::coursedescription($newcrsid);
my %data=&Apache::lonnet::dump
($which,$origcrsdata{'domain'},$origcrsdata{'num'});
+ foreach my $key (keys(%data)) {
+ if ($key=~/^internal./) { delete($data{$key}); }
+ }
return &Apache::lonnet::put
($which,\%data,$newcrsdata{'domain'},$newcrsdata{'num'});
}
@@ -189,7 +193,7 @@ sub copyresourcedb {
my $thiskey=$_;
$thiskey=~s/^$origcrsid/$newcrsid/;
$newdata{$thiskey}=$data{$_};
- if ($data{$_.'.type'}=~/^date/) {
+ if ($data{$_.'.type'}=~/^date_(start|end)$/) {
$newdata{$thiskey}=$newdata{$thiskey}+$delta;
}
}
@@ -202,7 +206,9 @@ sub copyresourcedb {
sub copyuserfiles {
my ($origcrsid,$newcrsid)=@_;
foreach (&crsdirlist($origcrsid,'userfiles')) {
- ©file($origcrsid,$newcrsid,$_);
+ if ($_ !~m|^scantron_|) {
+ ©file($origcrsid,$newcrsid,$_);
+ }
}
}
# ========================================================== Copy all userfiles
@@ -250,7 +256,7 @@ sub print_course_creation_page {
($ENV{'request.role.domain'},'clonedomain').
&Apache::loncommon::selectcourse_link
('ccrs','clonecourse','clonedomain');
- my $coursebrowserjs=&Apache::loncommon::coursebrowser_javascript();
+ my $coursebrowserjs=&Apache::loncommon::coursebrowser_javascript($ENV{'request.role.domain'});
my $starttime = time;
my $endtime = time+(6*30*24*60*60); # 6 months from now, approx
my $enroll_table = &Apache::londropadd::date_setting_table($starttime,$endtime,'create_enrolldates');
@@ -278,7 +284,7 @@ sub print_course_creation_page {
'snid' => "Section Numbers and corresponding LON-CAPA section/group IDs",
'csli' => "a comma separated list of institutional section numbers, each separated by a colon from the (optional) corresponding section/group ID to be used in LON-CAPA e.g., 001:1,002:2",
'crcs' => "Crosslisted courses",
- 'cscs' => "a comma separated list of course sections crosslisted with the current course, with each entry including the institutional course section name followed by a colon and then the (optional) groupID to be used in LON-CAPA, e.g., fs03ent231001:ent1,fs03bot231001:bot1,fs03zol231002:bot2",
+ 'cscs' => "a comma separated list of course sections crosslisted with the current course, with each entry including the institutional course section name followed by a colon and then the (optional) groupID to be used in LON-CAPA, e.g., fs03ent231001:ent1,fs03bot231001:bot1,fs03zol231002:zol2",
'crco' => "Course Content",
'cncr' => "Completely new course",
'cecr' => "Clone an existing course",
@@ -325,8 +331,10 @@ sub print_course_creation_page {
'rshm' => 'Resource Space Home',
'opco' => "Open Course"
);
+ my $html=&Apache::lonxml::xmlbegin();
$r->print(<
$lt{'aadd'} -$lt{'yes'} $lt{'no'} + +
$lt{'audr'} -$lt{'yes'} $lt{'no'} + +
$lt{'dacu'} $enroll_table @@ -469,24 +523,40 @@ $locform
$lt{'nech'}
$lt{'nccl'}
-$lt{'yes'} $lt{'no'}
-
-$lt{'irsp'} $lt{'yes'} $lt{'no'} + + +
+$lt{'irsp'} + +
-$lt{'user'}: -
-$lt{'dmn'}: $domform -
-$lt{'ierc'}: - + +
+ +
+
- +
@@ -498,22 +568,83 @@ ENDDOCUMENT sub create_course { my $r=shift; - my $topurl='/res/'.&Apache::lonnet::declutter($ENV{'form.topmap'}); - my $this_server = $Apache::lonnet::perlvar{'lonHostID'}; my $ccuname=$ENV{'form.ccuname'}; my $ccdomain=$ENV{'form.ccdomain'}; $ccuname=~s/\W//g; $ccdomain=~s/\W//g; - my $cdescr=$ENV{'form.title'}; - my $curl=$ENV{'form.topmap'}; + + my $enrollstart = &Apache::lonhtmlcommon::get_date_from_form('startenroll'); + my $enrollend = &Apache::lonhtmlcommon::get_date_from_form('endenroll'); + my $startaccess = &Apache::lonhtmlcommon::get_date_from_form('startaccess'); + my $endaccess = &Apache::lonhtmlcommon::get_date_from_form('endaccess'); + + my $autharg; + my $authtype; + + if ($ENV{'form.login'} eq 'krb') { + $authtype = 'krb'; + $authtype .=$ENV{'form.krbver'}; + $autharg = $ENV{'form.krbarg'}; + } elsif ($ENV{'form.login'} eq 'int') { + $authtype ='internal'; + if ((defined($ENV{'form.intarg'})) && ($ENV{'form.intarg'})) { + $autharg = $ENV{'form.intarg'}; + } + } elsif ($ENV{'form.login'} eq 'loc') { + $authtype = 'localauth'; + if ((defined($ENV{'form.locarg'})) && ($ENV{'form.locarg'})) { + $autharg = $ENV{'form.locarg'}; + } + } + + my $logmsg; + my $html=&Apache::lonxml::xmlbegin(); my $bodytag=&Apache::loncommon::bodytag('Create a New Course'); $r->print(<