[LON-CAPA-cvs] cvs: loncom /interface loncreatecourse.pm lonpickcourse.pm

raeburn raeburn@source.lon-capa.org
Wed, 04 Nov 2009 14:12:19 -0000


This is a MIME encoded message

--raeburn1257343939
Content-Type: text/plain

raeburn		Wed Nov  4 14:12:19 2009 EDT

  Modified files:              
    /loncom/interface	lonpickcourse.pm loncreatecourse.pm 
  Log:
  - Accommodate communities.
     - Additional arg in opencrbrowser() javascription function call.
       - typeelement in opener page set when course or community is selected in coursepick pop-up window (DC selecting course for adding role).
  
  
--raeburn1257343939
Content-Type: text/plain
Content-Disposition: attachment; filename="raeburn-20091104141219.txt"

Index: loncom/interface/lonpickcourse.pm
diff -u loncom/interface/lonpickcourse.pm:1.89 loncom/interface/lonpickcourse.pm:1.90
--- loncom/interface/lonpickcourse.pm:1.89	Tue Nov  3 14:32:44 2009
+++ loncom/interface/lonpickcourse.pm	Wed Nov  4 14:12:19 2009
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Pick a course
 #
-# $Id: lonpickcourse.pm,v 1.89 2009/11/03 14:32:44 raeburn Exp $
+# $Id: lonpickcourse.pm,v 1.90 2009/11/04 14:12:19 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -51,7 +51,7 @@
         ($ENV{'QUERY_STRING'},['domainfilter','form','cnumelement',
 			       'cdomelement','cnameelement','roleelement',
                                'multiple','type','setroles','fixeddom','cloner']);
-    my ($type,$title,$jscript,$multelement,$multiple,$roleelement,
+    my ($type,$title,$jscript,$multelement,$multiple,$roleelement,$typeelement,
         $lastaction,$autosubmit,$submitopener,$cloneruname,$clonerudom);
 
     # Get course type - Course or Community.
@@ -75,6 +75,9 @@
         $submitopener = &processpick();
         $autosubmit = 'process_pick("'.$roledom.'")';
     }
+    if ($env{'form.typeelement'} ne '') {
+        $typeelement = '<input type="hidden" name="typeelement" value="'.$env{'form.typeelement'}.'" />';
+    }
 
     # if called when a DC is creating a course
     if ($env{'form.form'} eq 'ccrs') {
@@ -165,7 +168,7 @@
 
         $r->print(&build_filters($filterlist,$type,$roleelement,$multelement,
                                  $filter,$action,\$numtitles,undef,$cloneruname,
-                                 $clonerudom));
+                                 $clonerudom,$typeelement));
     }
 
 # ---------------------------------------------------------------- Get the data
@@ -481,6 +484,11 @@
                   $env{'form.cnumelement'}.'" />'."\n".  
                   '<input type="hidden" name="cdomelement" value="'.
                   $env{'form.cdomelement'}.'" />'."\n");
+        if ($env{'form.typeelement'} ne '') {
+            $r->print('<input type="hidden" name="typeelement" value="'.
+                      $env{'form.typeelement'}.'" />'."\n");
+
+        }
     }
     if ((exists($env{'form.fixeddom'})) && ($env{'form.form'} eq 'rules')) {
         $r->print('<input type="hidden" name="fixeddom" value="'.
@@ -502,7 +510,7 @@
 
 sub build_filters {
     my ($filterlist,$type,$roleelement,$multelement,$filter,$action,
-        $numtitlesref,$caller,$cloneruname,$clonerudom) = @_;
+        $numtitlesref,$caller,$cloneruname,$clonerudom,$typeelement) = @_;
     my ($list,$formname,$fixeddom,$codedom,$jscript);
     $codedom = $env{'request.role.domain'};
     if (defined($env{'form.form'})) {
@@ -685,6 +693,7 @@
 $name_input
 $roleelement
 $multelement
+$typeelement
 |;
         if ($formname eq 'portform') {
             $output .= '<input type="hidden" name="setroles" value="'.$env{'form.setroles'}.'" />'."\n";
@@ -981,13 +990,19 @@
     }
 ENDSCRIPT
     } else {
-        my $name_code;
+        my ($name_code,$type_code);
         if ($env{'form.cnameelement'} ne '') {
             $name_code = 'opener.document.'.$env{'form.form'}.'.'.
                           $env{'form.cnameelement'}.'.value=cdesc;';
         }
+        if ($env{'form.typeelement'} ne '') {
+            $type_code = 'opener.document.'.$env{'form.form'}.'.'.
+                          $env{'form.typeelement'}.'.value=document.courselist.type;';
+        }
+
         $output .= qq|
         $name_code
+        $type_code
         opener.document.$env{'form.form'}.$env{'form.cnumelement'}.value=cname;
         var slct=opener.document.$env{'form.form'}.$env{'form.cdomelement'};
         if (slct.options == undefined) {
@@ -1129,10 +1144,10 @@
 
 =item *
 X<build_filters()>
-B<build_filters($filterlist,$type,$roleelement,$multelement,$filter,$action,$numfiltersref,$caller,$cloneruname,$clonerudom)>:
+B<build_filters($filterlist,$type,$roleelement,$multelement,$filter,$action,$numfiltersref,$caller,$cloneruname,$clonerudom,$typeelem)>:
 
 
-Input: 7 - anonymous array of search criteria; course type; $roleelement ; $multelement ; anonymous hash of criteria and their values; form action; ref to scalar (count of number of elements in institutional codes -- e.g., 4 for year, semester, department, and number); caller context (e.g., set to 'modifycourse' when routine is called from lonmodifycourse.pm).
+Input: 11 - anonymous array of search criteria; course type; $roleelement ; $multelement ; anonymous hash of criteria and their values; form action; ref to scalar (count of number of elements in institutional codes -- e.g., 4 for year, semester, department, and number); caller context (e.g., set to 'modifycourse' when routine is called from lonmodifycourse.pm), username and domain of new course owner who wants to clone, $tyepelem 
 
 Output: 1 - $output - HTML for display of search criteria, and hidden form elements. 
 
Index: loncom/interface/loncreatecourse.pm
diff -u loncom/interface/loncreatecourse.pm:1.132 loncom/interface/loncreatecourse.pm:1.133
--- loncom/interface/loncreatecourse.pm:1.132	Sat Oct 31 18:23:30 2009
+++ loncom/interface/loncreatecourse.pm	Wed Nov  4 14:12:19 2009
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Create a course
 #
-# $Id: loncreatecourse.pm,v 1.132 2009/10/31 18:23:30 raeburn Exp $
+# $Id: loncreatecourse.pm,v 1.133 2009/11/04 14:12:19 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -190,8 +190,6 @@
                     '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 @@
 		    '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 @@
 					    '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 @@
                  .'<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 @@
                  .&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 @@
                  .&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 @@
                  .'<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 @@
                  .&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

--raeburn1257343939--