--- loncom/interface/loncreatecourse.pm	2009/10/02 18:31:36	1.128
+++ loncom/interface/loncreatecourse.pm	2009/11/04 14:12:19	1.133
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Create a course
 #
-# $Id: loncreatecourse.pm,v 1.128 2009/10/02 18:31:36 raeburn Exp $
+# $Id: loncreatecourse.pm,v 1.133 2009/11/04 14:12:19 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -172,7 +172,7 @@ function validate(formname) {
                     'stco' => "standard courses only",
                     'blnk' => "Blank",
                     'sllb' => "Syllabus",
-                    'navi' => "Navigate Contents",
+                    'navi' => "Course Contents",
                     'cid'  => "Course ID",
                     'dmn'  => "Domain",
                     'dsh'  => "Date Shift",
@@ -190,8 +190,6 @@ function validate(formname) {
                     'dsuc' => "Disable student use of chat rooms",
                     'acco' => "Access Control",
                     'snak' => "Students need access key to enter course",
-		    'kaut' => 
-		    'Key authority (<tt>id@domain</tt>) if other than course',
                     'ow'   => "Course Owner",
                     'cc'   => "(will be assigned Course Coordinator role)",
                     'user' => "Username",
@@ -213,31 +211,36 @@ function validate(formname) {
 		    'rshm' => 'Resource Space Home',
                     'cgrs' => "Course Group Settings",
                     'cgrq' => 'Set a quota for the total disk space available for storage of course group portfolio files',
-                    'opco' => "Open Course",
-                    'ginf' => "Community Information",
-                    'gtit' => "Community Title",
-                    'ghsr' => "Community Home Server",
-                    'gidn' => "Community ID/Number",
-                    'grco' => "Community Content",
-                    'cngr' => "Completely new community",
-                    'cegr' => "Clone an existing community",
-                    'sagr' => "Do NOT generate as standard community",
-                    'stgo' => "standard communities only",
-                    'sgpf' => "Set community policy feedback to Coordinator",
-                    'scfg' => "Set content feedback to Coordinator",
-                    'dmrd' => "Disable member resource discussion",
-                    'dmuc' => "Disable member use of chat rooms",
-                    'mnak' => "Members need access key to enter community",
-                    'kaug' =>
-                    'Key authority (<tt>id@domain</tt>) if other than community',
-                    'co'   => "Community Owner", 
-                    'gc'   => "(will be assigned Coordinator role)",
-                    'gid'  => "Community ID",
-                    'crgr' => "Create Community",
-                    'grts' => "Community Group Settings",
-                    'grtq' => "Set a quota for the total disk space available for storage of community group portfolio files.",
-
-				       );
+                    'opco' => 'Open Course',
+                    'opcm' => 'Open Community',
+	       );
+    $lt{'kaut'} = &mt('Key authority ([_1]id:domain[_2]) if other than course','<tt>','</tt>');
+
+    if ($crstype eq 'Community') {
+        $lt{'cinf'} = &mt('Community Information');
+        $lt{'ctit'} = &mt('Community Title');
+        $lt{'chsr'} = &mt('Community Home Server');
+        $lt{'cidn'} = &mt('Community ID/Number');
+        $lt{'crco'} = &mt('Community Content');
+        $lt{'cncr'} = &mt('Completely new community');
+        $lt{'cecr'} = &mt('Clone an existing community');
+        $lt{'sacr'} = &mt('Do NOT generate as standard community');
+        $lt{'stco'} = &mt('standard communities only');
+        $lt{'navi'} = &mt('Community Contents');
+        $lt{'cid'}  = &mt('Community ID');
+        $lt{'scpf'} = &mt('Set community policy feedback to Coordinator');
+        $lt{'scfc'} = &mt('Set content feedback to Coordinator');
+        $lt{'dsrd'} = &mt('Disable member resource discussion');
+        $lt{'dsuc'} = &mt('Disable member use of chat rooms');
+        $lt{'dads'} = &mt('Default Access Dates for Members');
+        $lt{'dacc'} = &mt('Default start and end dates for member access');
+        $lt{'snak'} = &mt('Members need access key to enter course');
+        $lt{'kaut'} = &mt('Key authority ([_1]id:domain[_2]) if other than community','<tt>','</tt>');
+        $lt{'ow'}  = &mt('Community Owner');
+        $lt{'cc'}  = &mt('(will be assigned Coordinator role)');
+        $lt{'cgrs'} = &mt('Community Group Settings');
+        $lt{'cgrq'} = &mt('Set a quota for the total disk space available for storage of community group portfolio files');
+    }
     my $js = <<END;
 <script type="text/javascript">
 var editbrowser = null;
@@ -276,41 +279,41 @@ END
 					    'Create_Courses');
     $r->print($start_page.$crumbs);
 
-    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()
-                 .'<h3>'.$lt{'ow'}.'&nbsp;'.$lt{'cc'}.'</h3>'
-                 .&Apache::lonhtmlcommon::row_closure()
-
-                 .&Apache::lonhtmlcommon::row_title($lt{'user'})
-                 .'<input type="text" size="15" name="ccuname" />'
-                 .&Apache::loncommon::studentbrowser_javascript()
-                 .&Apache::loncommon::selectstudent_link('ccrs','ccuname','ccdomain')
-                 .&Apache::lonhtmlcommon::row_closure()
-
-                 .&Apache::lonhtmlcommon::row_title($lt{'dmn'},"","LC_odd_row_value")
-                 .$domform
-                 .&Apache::lonhtmlcommon::row_closure()
-
-                 .&Apache::lonhtmlcommon::row_headline()
-                 .'<h3>'.$lt{'cinf'}.'</h3>'
-                 .&Apache::lonhtmlcommon::row_closure()
-
-                 .&Apache::lonhtmlcommon::row_title($lt{'ctit'})
-                 .'<input type="text" size="50" name="title" />'
-                 .&Apache::lonhtmlcommon::row_closure()
-
-                 .&Apache::lonhtmlcommon::row_title($lt{'chsr'})
-                 .$course_home
-                 .&Apache::lonhtmlcommon::row_closure()
-
-                 .&Apache::lonhtmlcommon::row_title($lt{'cidn'}.' ('.$lt{'opt'}.')')
-                 .'<input type="text" size="30" name="crsid" />'
-                 .&Apache::lonhtmlcommon::row_closure()
+    $r->print('<form action="/adm/createcourse" method="post" name="ccrs"><div class="LC_createcourse">'
+             .&Apache::lonhtmlcommon::start_pick_box()
 
-                 .&Apache::lonhtmlcommon::row_headline()
+             .&Apache::lonhtmlcommon::row_headline()
+             .'<h3>'.$lt{'ow'}.'&nbsp;'.$lt{'cc'}.'</h3>'
+             .&Apache::lonhtmlcommon::row_closure()
+
+             .&Apache::lonhtmlcommon::row_title($lt{'user'})
+             .'<input type="text" size="15" name="ccuname" />'
+             .&Apache::loncommon::studentbrowser_javascript()
+             .&Apache::loncommon::selectstudent_link('ccrs','ccuname','ccdomain')
+             .&Apache::lonhtmlcommon::row_closure()
+
+             .&Apache::lonhtmlcommon::row_title($lt{'dmn'},"","LC_odd_row_value")
+             .$domform
+             .&Apache::lonhtmlcommon::row_closure()
+
+             .&Apache::lonhtmlcommon::row_headline()
+             .'<h3>'.$lt{'cinf'}.'</h3>'
+             .&Apache::lonhtmlcommon::row_closure()
+
+             .&Apache::lonhtmlcommon::row_title($lt{'ctit'})
+             .'<input type="text" size="50" name="title" />'
+             .&Apache::lonhtmlcommon::row_closure()
+
+             .&Apache::lonhtmlcommon::row_title($lt{'chsr'})
+             .$course_home
+             .&Apache::lonhtmlcommon::row_closure()
+
+             .&Apache::lonhtmlcommon::row_title($lt{'cidn'}.' ('.$lt{'opt'}.')')
+             .'<input type="text" size="30" name="crsid" />'
+             .&Apache::lonhtmlcommon::row_closure()
+    );
+    if ($crstype eq 'Course') {
+        $r->print(&Apache::lonhtmlcommon::row_headline()
                  .'<h3>'.$lt{'iinf'}.'</h3>'
                  .$lt{'stat'}
                  .&Apache::lonhtmlcommon::row_closure()
@@ -330,9 +333,10 @@ END
                  .'<br />('.$lt{'cscs'}.')'
                  .&Apache::lonhtmlcommon::row_closure()
         );
+    }
 
-        # Table: New Course / Clone Course
-        $r->print(&Apache::lonhtmlcommon::row_headline()
+    # Table: New Course / Clone Course
+    $r->print(&Apache::lonhtmlcommon::row_headline()
                  .'<h3>'.$lt{'crco'}.'</h3>'
                  .&Apache::loncommon::start_data_table()
                  .&Apache::loncommon::start_data_table_header_row()
@@ -404,17 +408,17 @@ END
                  .&Apache::loncommon::end_data_table_row()
                  .&Apache::loncommon::end_data_table()
                  .&Apache::lonhtmlcommon::row_closure()
-        );
+    );
 
-        $r->print(&Apache::lonhtmlcommon::row_headline()
+    $r->print(&Apache::lonhtmlcommon::row_headline()
                  .'<h3>'.$lt{'dads'}.'</h3>'
                  .&Apache::lonhtmlcommon::row_closure()
                  .&Apache::lonhtmlcommon::row_title($lt{'dacc'})
                  .$access_table
                  .&Apache::lonhtmlcommon::row_closure()
-        );
+    );
 
-        $r->print(&Apache::lonhtmlcommon::row_headline()
+    $r->print(&Apache::lonhtmlcommon::row_headline()
                  .'<h3>'.$lt{'assp'}.'</h3>'
                  .&Apache::lonhtmlcommon::row_closure()
 
@@ -465,8 +469,9 @@ END
                  .&Apache::lonhtmlcommon::row_title($lt{'rshm'})
                  .'<input type="text" name="reshome" size="30" value="/res/'.$defdom.'/" />'
                  .&Apache::lonhtmlcommon::row_closure()
-
-                 .&Apache::lonhtmlcommon::row_headline()
+    );
+    if ($crstype eq 'Course') {
+        $r->print(&Apache::lonhtmlcommon::row_headline()
                  .'<h3>'.$lt{'aens'}.'</h3>'
                  .&Apache::lonhtmlcommon::row_closure()
 
@@ -509,8 +514,10 @@ END
                  .'<input type="radio" name="showphotos" value="0" checked="checked" />'.$lt{'no'}
                  .'</label> '
                  .&Apache::lonhtmlcommon::row_closure()
-
-                 .&Apache::lonhtmlcommon::row_headline()
+        );
+    }
+ 
+    $r->print(&Apache::lonhtmlcommon::row_headline()
                  .'<h3>'.$lt{'cgrs'}.'</h3>'
                  .&Apache::lonhtmlcommon::row_closure()
 
@@ -519,149 +526,26 @@ END
                  .&Apache::lonhtmlcommon::row_closure(1)
 
                  .&Apache::lonhtmlcommon::end_pick_box()
-        );
-        $r->print(<<ENDDOCUMENT);
-</div>
+                 .'</div>'
+    );
+    if ($crstype eq 'Course') {
+        $r->print('
 <p>
 <input type="hidden" name="prevphase" value="courseone" />
 <input type="hidden" name="phase" value="coursetwo" />
-<input type="button" onClick="verify_message(this.form)" value="$lt{'opco'}" />
-</p>
-</form>
-ENDDOCUMENT
-
+<input type="button" onClick="verify_message(this.form)" value="'.$lt{'opco'}.'" />'
+        );
     } elsif ($crstype eq 'Community') {
-        $r->print(<<ENDDOCUMENT);
-<form action="/adm/createcourse" method="post" name="ccrs">
-<h2>$lt{'co'}&nbsp;$lt{'gc'}</h2>
-<p>
-<label>
-    <b>$lt{'user'}:</b> <input type="text" size="15" name="ccuname" />
-</label>
-</p><p>
-<label>
-    <b>$lt{'dmn'}:</b> $domform
-</label>
-</p>
-<h2>$lt{'ginf'}</h2>
-<p>
-<label><b>$lt{'gtit'}:</b>
-<input type="text" size="50" name="title" /></label>
-</p><p>
-<label>
-    <b>$lt{'ghsr'}:</b>$course_home
-</label>
-</p><p>
-<label>
-    <b>$lt{'gidn'} ($lt{'opt'})</b>
-    <input type="text" size="30" name="crsid" />
-</label>
-</p>
-<h2>$lt{'grco'}</h2>
-<table border="2">
-<tr><th>$lt{'cngr'}</th><th>$lt{'cegr'}</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{'sagr'}</b></label>
-<br />
-($lt{'ocik'}):
-<input id="nonstd" type="checkbox" name="nonstandard" />
-</p><p>
-<b>$lt{'fres'}</b><br />($lt{'stgo'}):
-<label>
-    <input type="radio" name="firstres" value="blank" />$lt{'blnk'}
-</label>
-&nbsp;
-<label>
-    <input type="radio" name="firstres" value="syl" checked="checked" />$lt{'sllb'}
-</label>
-&nbsp;
-<label>
-    <input type="radio" name="firstres" value="nav" />$lt{'navi'}
-</label>
-</p>
-</td><td>
-<label>
-    $lt{'gid'}: <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 />&nbsp;<br />
-$lt{'asov'}.
-</td></tr>
-</table>
-</p>
-<p>
-<h2>$lt{'mssg'}</h2>
-<p>
-<label>
-    <b>$lt{'sgpf'}: </b>
-    <input type="checkbox" name="setpolicy" checked="checked" />
-</label>
-<br />
-<label>
-    <b>$lt{'scfg'}: </b>
-    <input type="checkbox" name="setcontent" checked="checked" />
-</label>
-</p>
-<h2>$lt{'cmmn'}</h2>
-<p>
-<label>
-    <b>$lt{'dmrd'}: </b>
-    <input type="checkbox" name="disresdis" />
-</label>
-<br />
-<label>
-    <b>$lt{'dmuc'}: </b>
-    <input type="checkbox" name="disablechat" />
-</label>
-</p>
-<h2>$lt{'acco'}</h2>
-<p>
-<label>
-    <b>$lt{'mnak'}: </b>
-    <input type="checkbox" name="setkeys" />
-</label>
-<br />
-<label>
-    <b>$lt{'kaug'}: </b>
-    <input type="text" size="30" name="keyauth" />
-</label>
-</p>
-<h2>$lt{'rshm'}</h2>
-<p>
-<label>
-    <b>$lt{'rshm'}: </b>
-    <input type="text" name="reshome" size="30" value="/res/$defdom/" />
-</label>
-</p>
-<h2>$lt{'grts'}</h2>
-<p>
-$lt{'grtq'}
-<input type="text" name="crsquota" value="20" />Mb
-</p>
-<hr />
+        $r->print('
 <p>
 <input type="hidden" name="prevphase" value="groupone" />
 <input type="hidden" name="phase" value="grouptwo" />
-<input type="button" onClick="validate(this.form)" value="$lt{'crgr'}" />
-</p>
-</form>
-ENDDOCUMENT
+<input type="submit" value="'.$lt{'opcm'}.'" />
+</p>'
+        );
     }
-    $r->print($end_page);
+    $r->print('</form>'.
+              $end_page);
 }
 
 # ====================================================== Phase two: make course
@@ -787,10 +671,14 @@ sub create_course {
 	# Make the requested user a course coordinator or group coordinator
         #
 	if (($ccdomain) && ($ccuname)) {
+            my $ccrole = 'cc';
+            if ($crstype eq 'Community') {
+                $ccrole = 'co';
+            }    
 	    $r->print(&mt('Assigning role of '.$crstype.' Coordinator to [_1]:',
 			 ,'<i>'.$ccuname.':'.$ccdomain.'</i>')
 		      .&Apache::lonnet::assignrole($ccdomain,$ccuname,$courseid,
-						  'cc','','','','','createcourse').'<p>');
+						  $ccrole,'','','','','createcourse').'<p>');
 	}
 	if ($env{'form.setkeys'}) {
 	    $r->print(
@@ -979,14 +867,14 @@ sub print_creation_logs {
                    &Apache::loncommon::start_data_table_header_row().
                    '<th>&nbsp;</th><th>'.&mt('Creation Date').'</th>'.
                    '<th>'.&mt('Creator').'</th><th>'.&mt('Description').'</th>'.
-                   '<th>'.&mt('Course Owner(s)').'</th>';
+                   '<th>'.&mt('Owner(s)').'</th>';
     if (($curr{'type'} eq 'official') || ($curr{'type'} eq 'any')) {
        $tablehdr .= '<th>'.&mt('Institutional Code').'</th>';
     }
     if ($curr{'type'} eq 'any') { 
         $tablehdr .= '<th>'.&mt('Course Type').'</th>';
     }
-    if ($curr{'context'} eq 'any')
+    if ($curr{'context'} eq 'any') {
         $tablehdr .= '<th>'.&mt('Creation Context').'</th>';
     }
     $tablehdr .= &Apache::loncommon::end_data_table_header_row();
@@ -1232,7 +1120,7 @@ sub creation_display_filter {
 
     # Server version info
     $output .= '<p class="LC_info">'.
-               &mt('Only courses created from servers running LON-CAPA [_1] or later are displayed.','2.9.0');
+               &mt('Only courses and communities created from servers running LON-CAPA [_1] or later are displayed.','2.9.0');
     if ($version) {
         $output .= ' '.&mt('This LON-CAPA server is version [_1]',$version);
     }
@@ -1256,7 +1144,7 @@ sub context_names {
         &Apache::lonlocal::texthash (
                         auto           => 'Automated creation from batch file',
                         web            => 'Batch creation from uploaded file',
-                        dc_create      => 'Single course created by Domain Coordinator', 
+                        dc_create      => 'Course or community created by Dom. Coord.', 
                         requestcourses => 'Processing of submitted course request',
         );
     return (\@contexts,\%contextnames);
@@ -1396,8 +1284,8 @@ sub handler {
                     &syllabuslink_javascript()."\n".
                     '// ]]>'."\n".
                     '</script>';
-           my $start_page=&Apache::loncommon::start_page('Course Creation Logs',$js);
-           my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Created Courses','Creation_Log',undef,'Creation_Log');
+           my $start_page=&Apache::loncommon::start_page('Course/Community Creation Logs',$js);
+           my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Created Courses/Communities','Creation_Log',undef,'Creation_Log');
            $r->print($start_page.$crumbs."\n".'<div>');
            &print_creation_logs($r);
            $r->print('</div>'.&Apache::loncommon::end_page());