--- loncom/interface/loncreatecourse.pm 2004/02/02 20:21:25 1.49 +++ 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.49 2004/02/02 20:21:25 www Exp $ +# $Id: loncreatecourse.pm,v 1.56 2004/05/08 00:48:30 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -286,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 (<tt>id@domain</tt>) if other than course', 'cc' => "Course Coordinator", 'user' => "Username", 'ierc' => "Immediately expire own role as Course Coordinator", @@ -301,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(<<ENDDOCUMENT); @@ -390,13 +393,13 @@ $lt{'asov'}. <h2>$lt{'assp'}</h2> <p> <b>$lt{'oaas'}: </b> -<input type="checkbox" name="openall" checked> +<input type="checkbox" name="openall" /> </p> <h2>$lt{'mssg'}</h2> <p> <b>$lt{'scpf'}: </b> <input type="checkbox" name="setpolicy" checked> -</p><p> +<br /> <b>$lt{'scfc'}: </b> <input type="checkbox" name="setcontent" checked> </p> @@ -410,17 +413,16 @@ $lt{'asov'}. <h2>$lt{'acco'}</h2> <p> <b>$lt{'snak'}: </b> -<input type="checkbox" name="setkeys" /> +<input type="checkbox" name="setkeys" /><br /> +<b>$lt{'kaut'}: </b> +<input type="text" size="30" name="keyauth" /> +</p> +<h2>$lt{'rshm'}</h2> +<p> +<b>$lt{'rshm'}: </b> +<input type="text" name="reshome" size="30" value="/res/$defdom/" /> </p> -<h2>$lt{'cc'}</h2> <p> -<b>$lt{'user'}:</b> <input type="text" size="15" name="ccuname" /> -</p><p> -<b>$lt{'dmn'}:</b> $domform -</p><p> -<b>$lt{'ierc'}:</b> -<input type="checkbox" name="expireown" checked> -</p><p> <h2>$lt{'aens'}</h2> $lt{'aesc'} </p> @@ -449,7 +451,18 @@ $lt{'nccl'}<br/> value="0" checked="true" />$lt{'no'} </p><p> <b>$lt{'irsp'}</b> <input type="radio" name="showphotos" value="1" />$lt{'yes'} <input type="radio" name="showphotos" value="0" checked="true" />$lt{'no'} +</p> +<hr /> +<h2>$lt{'cc'}</h2> +<p> +<b>$lt{'user'}:</b> <input type="text" size="15" name="ccuname" /> +</p><p> +<b>$lt{'dmn'}:</b> $domform </p><p> +<b>$lt{'ierc'}:</b> +<input type="checkbox" name="expireown" checked> +</p> +<p> <input type="hidden" name="phase" value="two" /> <input type="button" onClick="verify_message(this.form)" value="$lt{'opco'}"> </p> @@ -483,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.'</body></html>'); + $r->print('<form action="/adm/createuser" method="post" name="crtuser">'); + $r->print(&mt('No such user').' '.$ccuname.' '.&mt('at').' '.$ccdomain.'.<br />'); + $r->print(&mt("Please click Back on your browser and select another user, or ")); + $r->print(' + <input type="hidden" name="phase" value="get_user_info" /> + <input type="hidden" name="ccuname" value="'.$ccuname.'" /> + <input type="hidden" name="ccdomain" value="'.$ccdomain.'" /> + <input name="userrole" type="submit" value="'. + &mt('Create User').'" /> + </form></body></html>'); return; } # Check the proposed home server for the course @@ -537,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'}); } } # @@ -654,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'; } @@ -671,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';