version 1.132, 2009/10/31 18:23:30
|
version 1.134, 2009/11/18 19:15:44
|
Line 111 sub print_course_creation_page {
|
Line 111 sub print_course_creation_page {
|
&Apache::loncommon::selectcourse_link |
&Apache::loncommon::selectcourse_link |
('ccrs','clonecourse','clonedomain',undef,undef,undef,$crstype); |
('ccrs','clonecourse','clonedomain',undef,undef,undef,$crstype); |
my $coursebrowserjs=&Apache::loncommon::coursebrowser_javascript($env{'request.role.domain'}); |
my $coursebrowserjs=&Apache::loncommon::coursebrowser_javascript($env{'request.role.domain'}); |
my ($enroll_table,$access_table,$krbdef,$krbdefdom,$krbform,$intform,$locform, |
my ($enroll_table,$krbdef,$krbdefdom,$krbform,$intform,$locform, |
$javascript_validations); |
$javascript_validations); |
|
my $starttime = time; |
|
my $endtime = time+(6*30*24*60*60); # 6 months from now, approx |
|
my $access_table = &Apache::lonuserutils::date_setting_table($starttime, |
|
$endtime,'create_defaultdates'); |
if ($crstype eq 'Course') { |
if ($crstype eq 'Course') { |
my $starttime = time; |
|
my $endtime = time+(6*30*24*60*60); # 6 months from now, approx |
|
$enroll_table = &Apache::lonuserutils::date_setting_table($starttime, |
$enroll_table = &Apache::lonuserutils::date_setting_table($starttime, |
$endtime,'create_enrolldates'); |
$endtime,'create_enrolldates'); |
$access_table = &Apache::lonuserutils::date_setting_table($starttime, |
|
$endtime,'create_defaultdates'); |
|
($krbdef,$krbdefdom) = |
($krbdef,$krbdefdom) = |
&Apache::loncommon::get_kerberos_defaults($defdom); |
&Apache::loncommon::get_kerberos_defaults($defdom); |
$javascript_validations=&Apache::lonuserutils::javascript_validations( |
$javascript_validations=&Apache::lonuserutils::javascript_validations( |
Line 190 function validate(formname) {
|
Line 190 function validate(formname) {
|
'dsuc' => "Disable student use of chat rooms", |
'dsuc' => "Disable student use of chat rooms", |
'acco' => "Access Control", |
'acco' => "Access Control", |
'snak' => "Students need access key to enter course", |
'snak' => "Students need access key to enter course", |
'kaut' => |
|
'Key authority (<tt>id@domain</tt>) if other than course', |
|
'ow' => "Course Owner", |
'ow' => "Course Owner", |
'cc' => "(will be assigned Course Coordinator role)", |
'cc' => "(will be assigned Course Coordinator role)", |
'user' => "Username", |
'user' => "Username", |
Line 204 function validate(formname) {
|
Line 202 function validate(formname) {
|
'dacu' => "Duration of automated classlist updates", |
'dacu' => "Duration of automated classlist updates", |
'dads' => 'Default Access Dates for Students', |
'dads' => 'Default Access Dates for Students', |
'dacc' => "Default start and end dates for student access", |
'dacc' => "Default start and end dates for student access", |
'psam' => "Please select the Authentication mechanism", |
'psam' => "Authentication mechanism", |
'pcda' => "Please choose the default authentication method to be used by new users added to this LON-CAPA domain by the automated enrollment process", |
'pcda' => "Default authentication method for new users added to this domain by the automated enrollment process", |
'nech' => "Notification of enrollment changes", |
'nech' => "Notification of enrollment changes", |
'nccl' => "Notification to course coordinator via LON-CAPA message when enrollment changes occur during the automated update?", |
'nccl' => "Notification to course coordinator via LON-CAPA message when enrollment changes occur during the automated update?", |
'ndcl' => "Notification to domain coordinator via LON-CAPA message when enrollment changes occur during the automated update?", |
'ndcl' => "Notification to domain coordinator via LON-CAPA message when enrollment changes occur during the automated update?", |
Line 213 function validate(formname) {
|
Line 211 function validate(formname) {
|
'rshm' => 'Resource Space Home', |
'rshm' => 'Resource Space Home', |
'cgrs' => "Course Group Settings", |
'cgrs' => "Course Group Settings", |
'cgrq' => 'Set a quota for the total disk space available for storage of course group portfolio files', |
'cgrq' => 'Set a quota for the total disk space available for storage of course group portfolio files', |
'opco' => "Open Course", |
'opco' => 'Open Course', |
'ginf' => "Community Information", |
'opcm' => 'Open Community', |
'gtit' => "Community Title", |
); |
'ghsr' => "Community Home Server", |
$lt{'kaut'} = &mt('Key authority ([_1]id:domain[_2]) if other than course','<tt>','</tt>'); |
'gidn' => "Community ID/Number", |
|
'grco' => "Community Content", |
if ($crstype eq 'Community') { |
'cngr' => "Completely new community", |
$lt{'cinf'} = &mt('Community Information'); |
'cegr' => "Clone an existing community", |
$lt{'ctit'} = &mt('Community Title'); |
'sagr' => "Do NOT generate as standard community", |
$lt{'chsr'} = &mt('Community Home Server'); |
'stgo' => "standard communities only", |
$lt{'cidn'} = &mt('Community ID/Number'); |
'sgpf' => "Set community policy feedback to Coordinator", |
$lt{'crco'} = &mt('Community Content'); |
'scfg' => "Set content feedback to Coordinator", |
$lt{'cncr'} = &mt('Completely new community'); |
'dmrd' => "Disable member resource discussion", |
$lt{'cecr'} = &mt('Clone an existing community'); |
'dmuc' => "Disable member use of chat rooms", |
$lt{'sacr'} = &mt('Do NOT generate as standard community'); |
'mnak' => "Members need access key to enter community", |
$lt{'stco'} = &mt('standard communities only'); |
'kaug' => |
$lt{'navi'} = &mt('Community Contents'); |
'Key authority (<tt>id@domain</tt>) if other than community', |
$lt{'cid'} = &mt('Community ID'); |
'co' => "Community Owner", |
$lt{'scpf'} = &mt('Set community policy feedback to Coordinator'); |
'gc' => "(will be assigned Coordinator role)", |
$lt{'scfc'} = &mt('Set content feedback to Coordinator'); |
'gid' => "Community ID", |
$lt{'dsrd'} = &mt('Disable member resource discussion'); |
'crgr' => "Create Community", |
$lt{'dsuc'} = &mt('Disable member use of chat rooms'); |
'grts' => "Community Group Settings", |
$lt{'dads'} = &mt('Default Access Dates for Members'); |
'grtq' => "Set a quota for the total disk space available for storage of community group portfolio files.", |
$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; |
my $js = <<END; |
<script type="text/javascript"> |
<script type="text/javascript"> |
var editbrowser = null; |
var editbrowser = null; |
Line 276 END
|
Line 279 END
|
'Create_Courses'); |
'Create_Courses'); |
$r->print($start_page.$crumbs); |
$r->print($start_page.$crumbs); |
|
|
if ($crstype eq 'Course') { |
$r->print('<form action="/adm/createcourse" method="post" name="ccrs"><div class="LC_createcourse">' |
$r->print('<form action="/adm/createcourse" method="post" name="ccrs"><div class="LC_createcourse">' |
.&Apache::lonhtmlcommon::start_pick_box() |
.&Apache::lonhtmlcommon::start_pick_box() |
|
|
|
.&Apache::lonhtmlcommon::row_headline() |
.&Apache::lonhtmlcommon::row_headline() |
.'<h3>'.$lt{'ow'}.' '.$lt{'cc'}.'</h3>' |
.'<h3>'.$lt{'ow'}.' '.$lt{'cc'}.'</h3>' |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
|
|
.&Apache::lonhtmlcommon::row_title($lt{'user'}) |
.&Apache::lonhtmlcommon::row_title($lt{'user'}) |
.'<input type="text" size="15" name="ccuname" />' |
.'<input type="text" size="15" name="ccuname" />' |
.&Apache::loncommon::studentbrowser_javascript() |
.&Apache::loncommon::studentbrowser_javascript() |
.&Apache::loncommon::selectstudent_link('ccrs','ccuname','ccdomain') |
.&Apache::loncommon::selectstudent_link('ccrs','ccuname','ccdomain') |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
|
|
.&Apache::lonhtmlcommon::row_title($lt{'dmn'},"","LC_odd_row_value") |
.&Apache::lonhtmlcommon::row_title($lt{'dmn'},"","LC_odd_row_value") |
.$domform |
.$domform |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
|
|
.&Apache::lonhtmlcommon::row_headline() |
.&Apache::lonhtmlcommon::row_headline() |
.'<h3>'.$lt{'cinf'}.'</h3>' |
.'<h3>'.$lt{'cinf'}.'</h3>' |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
|
|
.&Apache::lonhtmlcommon::row_title($lt{'ctit'}) |
.&Apache::lonhtmlcommon::row_title($lt{'ctit'}) |
.'<input type="text" size="50" name="title" />' |
.'<input type="text" size="50" name="title" />' |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
|
|
.&Apache::lonhtmlcommon::row_title($lt{'chsr'}) |
.&Apache::lonhtmlcommon::row_title($lt{'chsr'}) |
.$course_home |
.$course_home |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
|
|
.&Apache::lonhtmlcommon::row_title($lt{'cidn'}.' ('.$lt{'opt'}.')') |
.&Apache::lonhtmlcommon::row_title($lt{'cidn'}.' ('.$lt{'opt'}.')') |
.'<input type="text" size="30" name="crsid" />' |
.'<input type="text" size="30" name="crsid" />' |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
|
); |
.&Apache::lonhtmlcommon::row_headline() |
if ($crstype eq 'Course') { |
|
$r->print(&Apache::lonhtmlcommon::row_headline() |
.'<h3>'.$lt{'iinf'}.'</h3>' |
.'<h3>'.$lt{'iinf'}.'</h3>' |
.$lt{'stat'} |
.$lt{'stat'} |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
Line 330 END
|
Line 333 END
|
.'<br />('.$lt{'cscs'}.')' |
.'<br />('.$lt{'cscs'}.')' |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
); |
); |
|
} |
|
|
# Table: New Course / Clone Course |
# Table: New Course / Clone Course |
$r->print(&Apache::lonhtmlcommon::row_headline() |
$r->print(&Apache::lonhtmlcommon::row_headline() |
.'<h3>'.$lt{'crco'}.'</h3>' |
.'<h3>'.$lt{'crco'}.'</h3>' |
.&Apache::loncommon::start_data_table() |
.&Apache::loncommon::start_data_table() |
.&Apache::loncommon::start_data_table_header_row() |
.&Apache::loncommon::start_data_table_header_row() |
Line 404 END
|
Line 408 END
|
.&Apache::loncommon::end_data_table_row() |
.&Apache::loncommon::end_data_table_row() |
.&Apache::loncommon::end_data_table() |
.&Apache::loncommon::end_data_table() |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
); |
); |
|
|
$r->print(&Apache::lonhtmlcommon::row_headline() |
$r->print(&Apache::lonhtmlcommon::row_headline() |
.'<h3>'.$lt{'dads'}.'</h3>' |
.'<h3>'.$lt{'dads'}.'</h3>' |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_title($lt{'dacc'}) |
.&Apache::lonhtmlcommon::row_title($lt{'dacc'}) |
.$access_table |
.$access_table |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
); |
); |
|
|
$r->print(&Apache::lonhtmlcommon::row_headline() |
$r->print(&Apache::lonhtmlcommon::row_headline() |
.'<h3>'.$lt{'assp'}.'</h3>' |
.'<h3>'.$lt{'assp'}.'</h3>' |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
|
|
Line 465 END
|
Line 469 END
|
.&Apache::lonhtmlcommon::row_title($lt{'rshm'}) |
.&Apache::lonhtmlcommon::row_title($lt{'rshm'}) |
.'<input type="text" name="reshome" size="30" value="/res/'.$defdom.'/" />' |
.'<input type="text" name="reshome" size="30" value="/res/'.$defdom.'/" />' |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
|
); |
.&Apache::lonhtmlcommon::row_headline() |
if ($crstype eq 'Course') { |
|
$r->print(&Apache::lonhtmlcommon::row_headline() |
.'<h3>'.$lt{'aens'}.'</h3>' |
.'<h3>'.$lt{'aens'}.'</h3>' |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
|
|
Line 509 END
|
Line 514 END
|
.'<input type="radio" name="showphotos" value="0" checked="checked" />'.$lt{'no'} |
.'<input type="radio" name="showphotos" value="0" checked="checked" />'.$lt{'no'} |
.'</label> ' |
.'</label> ' |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
|
); |
.&Apache::lonhtmlcommon::row_headline() |
} |
|
|
|
$r->print(&Apache::lonhtmlcommon::row_headline() |
.'<h3>'.$lt{'cgrs'}.'</h3>' |
.'<h3>'.$lt{'cgrs'}.'</h3>' |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
|
|
Line 519 END
|
Line 526 END
|
.&Apache::lonhtmlcommon::row_closure(1) |
.&Apache::lonhtmlcommon::row_closure(1) |
|
|
.&Apache::lonhtmlcommon::end_pick_box() |
.&Apache::lonhtmlcommon::end_pick_box() |
); |
.'</div>' |
$r->print(<<ENDDOCUMENT); |
); |
</div> |
if ($crstype eq 'Course') { |
|
$r->print(' |
<p> |
<p> |
<input type="hidden" name="prevphase" value="courseone" /> |
<input type="hidden" name="prevphase" value="courseone" /> |
<input type="hidden" name="phase" value="coursetwo" /> |
<input type="hidden" name="phase" value="coursetwo" /> |
<input type="button" onClick="verify_message(this.form)" value="$lt{'opco'}" /> |
<input type="button" onClick="verify_message(this.form)" value="'.$lt{'opco'}.'" />' |
</p> |
); |
</form> |
|
ENDDOCUMENT |
|
|
|
} elsif ($crstype eq 'Community') { |
} elsif ($crstype eq 'Community') { |
$r->print(<<ENDDOCUMENT); |
$r->print(' |
<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 /> |
|
<p> |
<p> |
<input type="hidden" name="prevphase" value="groupone" /> |
<input type="hidden" name="prevphase" value="groupone" /> |
<input type="hidden" name="phase" value="grouptwo" /> |
<input type="hidden" name="phase" value="grouptwo" /> |
<input type="button" onClick="validate(this.form)" value="$lt{'crgr'}" /> |
<input type="submit" value="'.$lt{'opcm'}.'" /> |
</p> |
</p>' |
</form> |
); |
ENDDOCUMENT |
|
} |
} |
$r->print($end_page); |
$r->print('</form>'. |
|
$end_page); |
} |
} |
|
|
# ====================================================== Phase two: make course |
# ====================================================== Phase two: make course |
Line 835 sub print_intro_page {
|
Line 719 sub print_intro_page {
|
help => 'Batch_Creation', |
help => 'Batch_Creation', |
}, |
}, |
{ internal_name => 'requestdisplay', |
{ internal_name => 'requestdisplay', |
name => &mt('Approve or reject course requests'), |
name => &mt('Approve or reject requests'), |
short_description => |
short_description => |
&mt('Display course creation requests submitted by authorized users, held pending approval by a Domain Coordinator.'), |
&mt('Display course and community creation requests submitted by authorized users, held pending approval by a Domain Coordinator.'), |
}, |
}, |
{ internal_name => 'creationlog', |
{ internal_name => 'creationlog', |
name => &mt('View course creation log'), |
name => &mt('View creation log'), |
short_description => |
short_description => |
&mt('Display information about when, how and by whom courses were created in this domain.'), |
&mt('Display information about when, how and by whom courses and communities were created in this domain.'), |
}, |
}, |
); |
); |
my $options; |
my $options; |