[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'}.' '.$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'}.' '.$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'} $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>
-
-<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{'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 /> <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--