--- loncom/interface/loncreatecourse.pm 2008/09/25 17:44:11 1.109 +++ loncom/interface/loncreatecourse.pm 2009/02/25 16:39:54 1.118 @@ -1,7 +1,7 @@ # The LearningOnline Network # Create a course # -# $Id: loncreatecourse.pm,v 1.109 2008/09/25 17:44:11 bisitz Exp $ +# $Id: loncreatecourse.pm,v 1.118 2009/02/25 16:39:54 hauer Exp $ # # Copyright Michigan State University Board of Trustees # @@ -27,6 +27,38 @@ # ### +=head1 NAME + +Apache::loncreatecourse.pm + +=head1 SYNOPSIS + +Allows domain coordinators to create new +courses and assign course coordinators. + +This is part of the LearningOnline Network with CAPA project +described at http://www.lon-capa.org. + +=head1 SUBROUTINES + +=over + +=item handler() + +=item print_course_creation_page() + +=item create_course() + +=item print_intro_page() + +=item upload_batchfile() + +=item process_batchfile() + +=back + +=cut + package Apache::loncreatecourse; use strict; @@ -124,9 +156,10 @@ function validate(formname) { 'stco' => "standard courses only", 'blnk' => "Blank", 'sllb' => "Syllabus", - 'navi' => "Navigate", + 'navi' => "Navigate Contents", 'cid' => "Course ID", 'dmn' => "Domain", + 'dsh' => "Date Shift", 'asov' => "Additional settings, if specified below, will override cloned settings", 'ncd' => "Do not clone date parameters", 'prd' => 'Clone date parameters as-is', @@ -138,7 +171,7 @@ function validate(formname) { 'scfc' => "Set content feedback to Course Coordinator", 'cmmn' => "Communication", 'dsrd' => "Disable student resource discussion", - 'dsuc' => "Disable student use of chatrooms", + 'dsuc' => "Disable student use of chat rooms", 'acco' => "Access Control", 'snak' => "Students need access key to enter course", 'kaut' => @@ -175,7 +208,7 @@ function validate(formname) { 'sgpf' => "Set group policy feedback to Group Coordinator", 'scfg' => "Set content feedback to Group Coordinator", 'dmrd' => "Disable member resource discussion", - 'dmuc' => "Disable member use of chatrooms", + 'dmuc' => "Disable member use of chat rooms", 'mnak' => "Members need access key to enter group", 'kaug' => 'Key authority (<tt>id@domain</tt>) if other than group', @@ -223,9 +256,9 @@ END 'Create_Course',undef, 'Create_Courses'); $r->print($start_page.$crumbs); - if ($crstype eq 'Course') { - $r->print('<form action="/adm/createcourse" method="post" name="ccrs">' + if ($crstype eq 'Course') { + $r->print('<form action="/adm/createcourse" method="post" name="ccrs"><div class="LC_createcourse">' .&Apache::lonhtmlcommon::start_pick_box() .&Apache::lonhtmlcommon::row_headline() @@ -263,63 +296,84 @@ END .'<input type="text" size="30" name="crsxlist" />' .'<br />('.$lt{'cscs'}.')' .&Apache::lonhtmlcommon::row_closure() + ); - .&Apache::lonhtmlcommon::row_headline() + # Table: New Course / Clone Course + $r->print(&Apache::lonhtmlcommon::row_headline() .'<h3>'.$lt{'crco'}.'</h3>' - ); - $r->print(<<MYEND); -<table border="2"> -<tr><th>$lt{'cncr'}</th><th>$lt{'cecr'}</th></tr> -<tr><td> -<p> -<label> - <b>$lt{'map'}:</b> - <input type="text" size="50" name="topmap" /> -</label> -<a href="javascript:openbrowser('ccrs','topmap')">$lt{'smap'}</a> -</p><p> -<label for="nonstd"><b>$lt{'sacr'}</b></label> -<br /> -($lt{'ocik'}): -<input id="nonstd" type="checkbox" name="nonstandard" /> -</p><p> -<b>$lt{'fres'}</b><br />($lt{'stco'}): -<label> - <input type="radio" name="firstres" value="blank" />$lt{'blnk'} -</label> - -<label> - <input type="radio" name="firstres" value="syl" checked="checked" />$lt{'sllb'} -</label> - -<label> - <input type="radio" name="firstres" value="nav" />$lt{'navi'} -</label> -</p> -</td><td> -<label> - $lt{'cid'}: <input type="text" size="25" name="clonecourse" value="" /> -</label> -<br /> -<label> - $lt{'dmn'}: $cloneform -</label> -<br /> - <label><input type="radio" name="datemode" value="delete" /> $lt{'ncd'}</label><br /> - <label><input type="radio" name="datemode" value="preserve" /> $lt{'prd'}</label><br /> - <label><input type="radio" name="datemode" value="shift" checked="checked" /> $lt{'shd'}</label> - <input type="text" size="5" name="dateshift" value="365" /><br /> - <br /> -$lt{'asov'}. -</td></tr> -</table> -MYEND - + .&Apache::loncommon::start_data_table() + .&Apache::loncommon::start_data_table_header_row() + .'<th>'.$lt{'cncr'}.'</th>' + .'<th> '.&mt('or').' </th>' + .'<th>'.$lt{'cecr'}.'</th>' + .&Apache::loncommon::end_data_table_header_row() + .&Apache::loncommon::start_data_table_row() -$r->print(' ' + # New Course: + .'<td>' + .&Apache::lonhtmlcommon::start_pick_box() + .&Apache::lonhtmlcommon::row_title($lt{'map'}) + .'<input type="text" size="50" name="topmap" />' + .'<a href="javascript:openbrowser(\'ccrs\',\'topmap\')">'.$lt{'smap'}.'</a>' + .&Apache::lonhtmlcommon::row_closure() + .&Apache::lonhtmlcommon::row_title('<label for="nonstd">'.$lt{'sacr'}.'</label>') + .'<input id="nonstd" type="checkbox" name="nonstandard" />' + .'<br />('.$lt{'ocik'}.')' .&Apache::lonhtmlcommon::row_closure() + .&Apache::lonhtmlcommon::row_title($lt{'fres'}) + .'<label>' + .'<input type="radio" name="firstres" value="blank" />'.$lt{'blnk'} + .'</label>' + .' ' + .'<label>' + .'<input type="radio" name="firstres" value="syl" checked="checked" />'.$lt{'sllb'} + .'</label>' + .' ' + .'<label>' + .'<input type="radio" name="firstres" value="nav" />'.$lt{'navi'} + .'</label>' + .'<br />('.$lt{'stco'}.')' + .&Apache::lonhtmlcommon::row_closure(1) + .&Apache::lonhtmlcommon::end_pick_box() + + .'<td> </td>' + # Clone Course: + .'<td>' + .&Apache::lonhtmlcommon::start_pick_box() + .&Apache::lonhtmlcommon::row_title($lt{'cid'}) + .'<label>' + .'<input type="text" size="25" name="clonecourse" value="" />' + .'</label>' + .&Apache::lonhtmlcommon::row_closure(1) + .&Apache::lonhtmlcommon::row_title($lt{'dmn'}) + .'<label>' + .$cloneform + .'</label>' + .&Apache::lonhtmlcommon::row_closure() + .&Apache::lonhtmlcommon::row_title($lt{'dsh'}) + .'<label>' + .'<input type="radio" name="datemode" value="delete" /> '.$lt{'ncd'} + .'</label><br />' + .'<label>' + .'<input type="radio" name="datemode" value="preserve" /> '.$lt{'prd'} + .'</label><br />' + .'<label>' + .'<input type="radio" name="datemode" value="shift" checked="checked" /> '.$lt{'shd'} + .'</label>' + .' <input type="text" size="5" name="dateshift" value="365" />' + .&Apache::lonhtmlcommon::row_closure() .&Apache::lonhtmlcommon::row_headline() + .$lt{'asov'} + .&Apache::lonhtmlcommon::row_closure(1) + .&Apache::lonhtmlcommon::end_pick_box() + .'</td>' + .&Apache::loncommon::end_data_table_row() + .&Apache::loncommon::end_data_table() + .&Apache::lonhtmlcommon::row_closure() + ); + + $r->print(&Apache::lonhtmlcommon::row_headline() .'<h3>'.$lt{'assp'}.'</h3>' .&Apache::lonhtmlcommon::row_closure() @@ -440,9 +494,10 @@ $r->print(' ' .&Apache::lonhtmlcommon::row_closure(1) .&Apache::lonhtmlcommon::end_pick_box() - ); + ); $r->print(<<ENDDOCUMENT); +</div> <p> <input type="hidden" name="prevphase" value="courseone" /> <input type="hidden" name="phase" value="coursetwo" /> @@ -708,9 +763,9 @@ sub create_course { # Make the requested user a course coordinator or group coordinator # if (($ccdomain) && ($ccuname)) { - $r->print(&mt('Assigning role of [_1] Coordinator to [_2] at [_3]: ', - $crstype,$ccuname,$ccdomain). - &Apache::lonnet::assignrole($ccdomain,$ccuname,$courseid, + $r->print(&mt('Assigning role of '.$crstype.' Coordinator to [_1]:', + ,'<i>'.$ccuname.':'.$ccdomain.'</i>') + .&Apache::lonnet::assignrole($ccdomain,$ccuname,$courseid, 'cc','','','','','createcourse').'<p>'); } if ($env{'form.setkeys'}) { @@ -722,7 +777,7 @@ sub create_course { $r->print('<p>'.&mt('Roles will be active at next login').'.</p>'); } $r->print('<p><a href="/adm/createcourse?phase='.lc($crstype).'one">'. - &mt('Create Another [_1]',$crstype).'</a></p>'. + &mt("Create Another $crstype").'</a></p>'. &Apache::loncommon::end_page()); }