--- 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 />
 &nbsp;<br />
 $lt{'asov'}.
 </td></tr>
@@ -487,7 +493,10 @@ ENDDOCUMENT
     $lt{'dmn'}: $cloneform
 </label>
 <br />
-&nbsp;<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 />&nbsp;<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" />'.