--- loncom/automation/batchcreatecourse.pm 2020/05/22 20:55:45 1.40.2.3 +++ loncom/automation/batchcreatecourse.pm 2016/04/02 04:30:47 1.41 @@ -1,5 +1,5 @@ # -# $Id: batchcreatecourse.pm,v 1.40.2.3 2020/05/22 20:55:45 raeburn Exp $ +# $Id: batchcreatecourse.pm,v 1.41 2016/04/02 04:30:47 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -83,13 +83,11 @@ use strict; # # 1 # 1 -# 1 # 0 # keyadmin:msu # 1 # 1 # -# # 1 # 1 # @@ -154,7 +152,7 @@ use strict; # # Many of these are binary options (corresponding to either checkboxes or # radio buttons in the interactive CCRS page). Examples include: -# setpolicy, setcontent, setcomment, setkeys, disableresdis, disablechat, openall, +# setpolicy, setcontent, setkeys, disableresdis, disablechat, openall, # uniquecode # # A value of 1 between opening and closing tags is equivalent to a @@ -165,7 +163,7 @@ use strict; # firstres can be nav, syl, or blank for "Navigate Contents", Syllabus, or # no entry respectively. # -# crstype can be Course or Community +# crstype can be Course, Community or Placement # # crsquota is the total disk space permitted for course group portfolio files # in all course groups. @@ -212,7 +210,7 @@ sub create_courses { $longroles{'Community'}{$1} = $3; } } - my ($logmsg,$keysmsg,$newusermsg,$addresult,%codehash,%instcodes); + my ($logmsg,$keysmsg,$newusermsg,$addresult,%codehash); my %enrollcount = (); my $newcoursedir = LONCAPA::tempdir().'/addcourse/'.$dom.'/'.$context; if ($context eq 'auto') { @@ -240,15 +238,12 @@ sub create_courses { if ($code) { $codehash{$courseid} = $code; } - if ($details{$num}{'coursecode'} ne '') { - push(@{$instcodes{$details{$num}{'coursecode'}}},$courseid); - } } } } } } - return ($output,$logmsg,$keysmsg,\%codehash,\%instcodes); + return ($output,$logmsg,$keysmsg,\%codehash); } ############################################################# @@ -271,9 +266,9 @@ sub parse_coursereqs { my $xlist = 0; my $userkey = ''; my $role = ''; - my @items = ('title','optional_id','coursecode','defaultcredits','coursehome','reshome','nonstandard','adds','drops','topmap','firstres','clonecrs','clonedom','datemode','dateshift','showphotos','setpolicy','setcontent','setcomment','setkeys','keyauth','disresdis','disablechat','openall','notify_owner','notify_dc','crstype','crsquota','uniquecode'); + my @items = ('title','optional_id','coursecode','defaultcredits','coursehome','reshome','nonstandard','adds','drops','topmap','firstres','clonecrs','clonedom','datemode','dateshift','showphotos','setpolicy','setcontent','setkeys','keyauth','disresdis','disablechat','openall','notify_owner','notify_dc','crstype','crsquota','uniquecode'); my @possroles = qw(st ad ep ta in cc co); - my @dateitems = ('enrollstart','enrollend','accessstart','accessend','openallfrom'); + my @dateitems = ('enrollstart','enrollend','accessstart','accessend'); my @useritems = ('autharg','authtype','firstname','generation','lastname','middlename','studentID'); my $p = HTML::Parser->new ( @@ -433,7 +428,11 @@ sub build_course { $rolenames = $longroles->{'Community'}; } } else { - $crstype = 'Course'; + if ($details->{'crstype'} eq 'Placement') { + $crstype = $details->{'crstype'}; + } else { + $crstype = 'Course'; + } $ccrole = 'cc'; if (ref($longroles) eq 'HASH') { $rolenames = $longroles->{'Course'}; @@ -456,6 +455,8 @@ sub build_course { if ($firstres eq '') { if ($crstype eq 'Community') { $firstres = 'nav'; + } elsif ($crstype eq 'Placement') { + $firstres = 'blank'; } else { $firstres = 'syl'; } @@ -539,14 +540,12 @@ sub build_course { endaccess => $details->{'accessend'}, setpolicy => $details->{'setpolicy'}, setcontent => $details->{'setcontent'}, - setcomment => $details->{'setcomment'}, reshome => $reshome, setkeys => $details->{'setkeys'}, keyauth => $details->{'keyauth'}, disresdis => $details->{'disresdis'}, disablechat => $details->{'disablechat'}, openall => $details->{'openall'}, - openallfrom => $details->{'openallfrom'}, firstres => $firstres }; if ($details->{'textbook'}) {