--- loncom/interface/loncreatecourse.pm 2007/11/28 17:36:11 1.104.2.1 +++ loncom/interface/loncreatecourse.pm 2008/06/24 15:51:25 1.108 @@ -1,7 +1,7 @@ # The LearningOnline Network # Create a course # -# $Id: loncreatecourse.pm,v 1.104.2.1 2007/11/28 17:36:11 albertel Exp $ +# $Id: loncreatecourse.pm,v 1.108 2008/06/24 15:51:25 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -35,7 +35,7 @@ use Apache::lonnet; use Apache::loncommon; use Apache::londocs; use Apache::lonlocal; -use Apache::londropadd; +use Apache::lonuserutils; use Apache::lonclonecourse; use LONCAPA::batchcreatecourse; use LONCAPA; @@ -44,11 +44,10 @@ use LONCAPA; sub print_course_creation_page { my $r=shift; - my $crstype = 'Course'; -# my $crstype = 'Group'; -# if ($env{'form.phase'} eq 'courseone') { -# $crstype = 'Course'; -# } + my $crstype = 'Group'; + if ($env{'form.phase'} eq 'courseone') { + $crstype = 'Course'; + } my $defdom=$env{'request.role.domain'}; my %host_servers = &Apache::lonnet::get_servers($defdom,'library'); my $course_home = '<select name="course_home" size="1">'."\n"; @@ -71,13 +70,13 @@ sub print_course_creation_page { if ($crstype eq 'Course') { my $starttime = time; my $endtime = time+(6*30*24*60*60); # 6 months from now, approx - $enroll_table = &Apache::londropadd::date_setting_table($starttime, - $endtime,'create_enrolldates'); - $access_table = &Apache::londropadd::date_setting_table($starttime, - $endtime,'create_defaultdates'); + $enroll_table = &Apache::lonuserutils::date_setting_table($starttime, + $endtime,'create_enrolldates'); + $access_table = &Apache::lonuserutils::date_setting_table($starttime, + $endtime,'create_defaultdates'); ($krbdef,$krbdefdom) = &Apache::loncommon::get_kerberos_defaults($defdom); - $javascript_validations=&Apache::londropadd::javascript_validations( + $javascript_validations=&Apache::lonuserutils::javascript_validations( 'createcourse',$krbdefdom); my %param = ( formname => 'document.ccrs', kerb_def_dom => $krbdefdom, @@ -129,6 +128,9 @@ function validate(formname) { 'cid' => "Course ID", 'dmn' => "Domain", 'asov' => "Additional settings, if specified below, will override cloned settings", + 'ncd' => "Do not clone date parameters", + 'prd' => 'Clone date parameters as-is', + 'shd' => 'Shift date parameters by number of days', 'assp' => "Assessment Parameters", 'oaas' => "Open all assessments", 'mssg' => "Messaging", @@ -301,6 +303,10 @@ $lt{'stat'} $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> @@ -487,7 +493,10 @@ ENDDOCUMENT $lt{'dmn'}: $cloneform </label> <br /> - <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> @@ -617,6 +626,8 @@ sub create_course { crsquota => $env{'form.crsquota'}, clonecourse => $env{'form.clonecourse'}, clonedomain => $env{'form.clonedomain'}, + datemode => $env{'form.datemode'}, + dateshift => $env{'form.dateshift'}, crsid => $env{'form.crsid'}, curruser => $env{'user.name'}.':'.$env{'user.domain'}, crssections => $env{'form.crssections'}, @@ -650,23 +661,26 @@ sub create_course { # Check the veracity of the course coordinator if (&Apache::lonnet::homeserver($ccuname,$ccdomain) eq 'no_host') { $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>'.&Apache::loncommon::end_page()); + $r->print('<div class="LC_warning">' + .&mt('No such user [_1] at domain [_2].','<tt>'.$ccuname.'</tt>','<tt>'.$ccdomain.'</tt>') + .'</div>'); + $r->print(&mt('Please click Back on your browser and select another user, or [_1]Create User[_2]' + , '<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="' + , '" />' + ) + .'</form>'.&Apache::loncommon::end_page() + ); return; } # Check the proposed home server for the course my %host_servers = &Apache::lonnet::get_servers($env{'request.role.domain'},'library'); if (! exists($host_servers{$env{'form.course_home'}})) { - $r->print(&mt('Invalid home server for course').': '. - $env{'form.course_home'}.&Apache::loncommon::end_page()); + $r->print(&mt('Invalid home server for course: [_1]' + ,$env{'form.course_home'}.&Apache::loncommon::end_page())); return; } my ($courseid,$crsudom,$crsunum); @@ -684,7 +698,7 @@ sub create_course { $r->print(&mt('Assigning role of [_1] Coordinator to [_2] at [_3]: ', $crstype,$ccuname,$ccdomain). &Apache::lonnet::assignrole($ccdomain,$ccuname,$courseid, - 'cc').'<p>'); + 'cc','','','','','createcourse').'<p>'); } if ($env{'form.setkeys'}) { $r->print( @@ -702,7 +716,7 @@ sub create_course { sub print_intro_page { my $r = shift; my $start_page = - &Apache::loncommon::start_page('Create a New Course'); + &Apache::loncommon::start_page('Create a New Course or Group Space'); my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Creation Options','Create_Course',undef,'Create_Courses'); my $end_page = &Apache::loncommon::end_page(); @@ -713,15 +727,15 @@ sub print_intro_page { short_description => &mt('Create a new course by completing an online form.'), }, -# { internal_name => 'groupone', -# name => &mt('Create a single collaborative group space '), -# short_description => -# &mt('Create a new group space for non-course use by completing an online form .'), -# }, + { internal_name => 'groupone', + name => &mt('Create a single collaborative group space'), + short_description => + &mt('Create a new group space for non-course use by completing an online form.'), + }, { internal_name => 'batchone', name => &mt('Create courses/groups by uploading an attributes file'), short_description => - &mt('Upload an attributes file containing specifications for one or more courses or groups in XML format'), + &mt('Upload an attributes file containing specifications for one or more courses or groups in XML format.'), help => 'Batch_Creation', }, ); @@ -749,11 +763,11 @@ sub upload_batchfile { my $r = shift; my $start_page = &Apache::loncommon::start_page('Create a New Course or Group Space'); - my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Upload Course Attributes File','Create_Course',undef,'Create_Courses'); + my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Upload Course/Group Attributes File','Create_Course',undef,'Create_Courses'); my $end_page = &Apache::loncommon::end_page(); $r->print($start_page.$crumbs); - $r->print('<h3>'.&mt('Upload a courses attributes file').'</h3>'); + $r->print('<h3>'.&mt('Upload a courses or groups attributes file').'</h3>'); $r->print('<form name="batchcreate" method="post" '. 'enctype="multipart/form-data" action="/adm/createcourse">'. '<input type="file" name="coursecreatorxml" />'.