--- loncom/interface/loncreatecourse.pm 2003/12/11 17:31:23 1.46 +++ loncom/interface/loncreatecourse.pm 2004/05/08 00:48:30 1.56 @@ -1,7 +1,7 @@ # The LearningOnline Network # Create a course # -# $Id: loncreatecourse.pm,v 1.46 2003/12/11 17:31:23 sakharuk Exp $ +# $Id: loncreatecourse.pm,v 1.56 2004/05/08 00:48:30 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -25,20 +25,8 @@ # # http://www.lon-capa.org/ # -# (My Desk -# -# (Internal Server Error Handler -# -# (Login Screen -# 5/21/99,5/22,5/25,5/26,5/31,6/2,6/10,7/12,7/14, -# 1/14/00,5/29,5/30,6/1,6/29,7/1,11/9 Gerd Kortemeyer) -# -# 3/1/1 Gerd Kortemeyer) -# -# 3/1 Gerd Kortemeyer) -# -# 2/14,2/16,2/17,7/6 Gerd Kortemeyer -# +### + package Apache::loncreatecourse; use strict; @@ -298,6 +286,8 @@ sub print_course_creation_page { 'dsuc' => "Disable student use of chatrooms", 'acco' => "Access Control", 'snak' => "Students need access key to enter course", + 'kaut' => + 'Key authority (id@domain) if other than course', 'cc' => "Course Coordinator", 'user' => "Username", 'ierc' => "Immediately expire own role as Course Coordinator", @@ -313,6 +303,7 @@ sub print_course_creation_page { 'nech' => "Notification of enrollment changes", 'nccl' => "Notification to course coordinator via LON-CAPA message when enrollment changes occur during the automated update?", 'irsp' => "Include retrieval of student photographs?", + 'rshm' => 'Resource Space Home', 'opco' => "Open Course" ); $r->print(<$lt{'assp'}

$lt{'oaas'}: - +

$lt{'mssg'}

$lt{'scpf'}: -

+
$lt{'scfc'}:

@@ -422,17 +413,16 @@ $lt{'asov'}.

$lt{'acco'}

$lt{'snak'}: - +
+$lt{'kaut'}: + +

+

$lt{'rshm'}

+

+$lt{'rshm'}: +

-

$lt{'cc'}

-$lt{'user'}: -

-$lt{'dmn'}: $domform -

-$lt{'ierc'}: - -

$lt{'aens'}

$lt{'aesc'}

@@ -461,7 +451,18 @@ $lt{'nccl'}
value="0" checked="true" />$lt{'no'}

$lt{'irsp'} $lt{'yes'} $lt{'no'} +

+
+

$lt{'cc'}

+

+$lt{'user'}:

+$lt{'dmn'}: $domform +

+$lt{'ierc'}: + +

+

@@ -495,7 +496,16 @@ ENDENHEAD # # Check the veracity of the course coordinator if (&Apache::lonnet::homeserver($ccuname,$ccdomain) eq 'no_host') { - $r->print(&mt('No such user').' '.$ccuname.' '.&mt('at').' '.$ccdomain.''); + $r->print('
'); + $r->print(&mt('No such user').' '.$ccuname.' '.&mt('at').' '.$ccdomain.'.
'); + $r->print(&mt("Please click Back on your browser and select another user, or ")); + $r->print(' + + + + +
'); return; } # Check the proposed home server for the course @@ -549,6 +559,8 @@ ENDENHEAD $cenv{'description'}=$oldcenv{'description'}; # Mark as cloned $cenv{'clonedfrom'}=$cloneid; + delete($cenv{'default_enrollment_start_date'}); + delete($cenv{'default_enrollment_end_date'}); } } # @@ -576,6 +588,9 @@ ENDENHEAD } } } +# do not hide course coordinator from staff listing, +# even if privileged + $cenv{'nothideprivileged'}=$ccuname.':'.$ccdomain; if ($ENV{'form.crsxlist'}) { $cenv{'internal.crosslistings'}=$ENV{'form.crsxlist'}; my @xlists = (); @@ -663,9 +678,25 @@ ENDENHEAD $cenv{'question.email'}=$ccuname.':'.$ccdomain; } } + if ($ENV{'form.reshome'}) { + $cenv{'reshome'}=$ENV{'form.reshome'}.'/'; + $cenv{'reshome'}=~s/\/+$/\//; + } +# +# course has keyed access +# if ($ENV{'form.setkeys'}) { $cenv{'keyaccess'}='yes'; } +# if specified, key authority is not course, but user +# only active if keyaccess is yes + if ($ENV{'form.keyauth'}) { + $ENV{'form.keyauth'}=~s/[^\w\@]//g; + if ($ENV{'form.keyauth'}) { + $cenv{'keyauth'}=$ENV{'form.keyauth'}; + } + } + if ($ENV{'form.disresdis'}) { $cenv{'pch.roles.denied'}='st'; } @@ -680,6 +711,12 @@ ENDENHEAD # Use new Randomseed # $cenv{'rndseed'}=&Apache::lonnet::latest_rnd_algorithm_id();; + $cenv{'receiptalg'}=&Apache::lonnet::latest_receipt_algorithm_id();; + # + # The encryption code and receipt prefix for this course + # + $cenv{'internal.encseed'}=$Apache::lonnet::perlvar{'lonReceipt'}.$$.time.int(rand(9999)); + $cenv{'internal.encpref'}=100+int(9*rand(99)); # # By default, use standard grading $cenv{'grading'} = 'standard'; @@ -700,7 +737,8 @@ ENDENHEAD # # Set first page # - unless (($ENV{'form.nonstandard'}) || ($ENV{'form.firstres'} eq 'blank')) { + unless (($ENV{'form.nonstandard'}) || ($ENV{'form.firstres'} eq 'blank') + || ($cloneid)) { $r->print(&mt('Setting first resource').': '); my ($errtext,$fatal)= &Apache::londocs::mapread($crsunum,$crsudom,'default.sequence'); @@ -739,6 +777,8 @@ ENDENHEAD $r->print( '

'.&mt('Manage Access Keys').'

'); } +# Flush the course logs so reverse user roles immediately updated + &Apache::lonnet::flushcourselogs(); $r->print('

'.&mt('Roles will be active at next login').'.

'); }