version 1.135, 2010/03/15 17:27:40
|
version 1.145, 2010/09/23 21:25:43
|
Line 61 described at http://www.lon-capa.org.
|
Line 61 described at http://www.lon-capa.org.
|
|
|
=item creation_display_filter() |
=item creation_display_filter() |
|
|
=item course_types() |
|
|
|
=item context_names() |
=item context_names() |
|
|
=item instcode_srchstr() |
=item instcode_srchstr() |
Line 301 END
|
Line 299 END
|
.&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="80" name="title" />' |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
|
|
.&Apache::lonhtmlcommon::row_title($lt{'chsr'}) |
.&Apache::lonhtmlcommon::row_title($lt{'chsr'}) |
Line 361 END
|
Line 359 END
|
.'<label>' |
.'<label>' |
.'<input type="radio" name="firstres" value="blank" />'.$lt{'blnk'} |
.'<input type="radio" name="firstres" value="blank" />'.$lt{'blnk'} |
.'</label>' |
.'</label>' |
.' ' |
.' '); |
.'<label>' |
if ($crstype eq 'Community') { |
|
$r->print('<label>' |
|
.'<input type="radio" name="firstres" value="nav" checked="checked" />'.$lt{'navi'} |
|
.'</label>'); |
|
} else { |
|
$r->print('<label>' |
.'<input type="radio" name="firstres" value="syl" checked="checked" />'.$lt{'sllb'} |
.'<input type="radio" name="firstres" value="syl" checked="checked" />'.$lt{'sllb'} |
.'</label>' |
.'</label>' |
.' ' |
.' ' |
.'<label>' |
.'<label>' |
.'<input type="radio" name="firstres" value="nav" />'.$lt{'navi'} |
.'<input type="radio" name="firstres" value="nav" />'.$lt{'navi'} |
.'</label>' |
.'</label>'); |
.'<br />('.$lt{'stco'}.')' |
} |
|
$r->print('<br />('.$lt{'stco'}.')' |
.&Apache::lonhtmlcommon::row_closure(1) |
.&Apache::lonhtmlcommon::row_closure(1) |
.&Apache::lonhtmlcommon::end_pick_box() |
.&Apache::lonhtmlcommon::end_pick_box() |
|
|
Line 685 sub create_course {
|
Line 689 sub create_course {
|
'<p><a href="/adm/managekeys?cid='.$crsudom.'_'.$crsunum.'">'.&mt('Manage Access Keys').'</a></p>'); |
'<p><a href="/adm/managekeys?cid='.$crsudom.'_'.$crsunum.'">'.&mt('Manage Access Keys').'</a></p>'); |
} |
} |
# Flush the course logs so reverse user roles immediately updated |
# Flush the course logs so reverse user roles immediately updated |
&Apache::lonnet::flushcourselogs(); |
$r->register_cleanup(\&Apache::lonnet::flushcourselogs); |
$r->print('<p>'.&mt('Roles will be active at next login').'.</p>'); |
$r->print('<p>'.&mt('Roles will be active at next login').'.</p>'); |
} |
} |
$r->print('<p><a href="/adm/createcourse?phase='.lc($crstype).'one">'. |
$r->print('<p><a href="/adm/createcourse?phase='.lc($crstype).'one">'. |
Line 694 sub create_course {
|
Line 698 sub create_course {
|
} |
} |
|
|
sub print_intro_page { |
sub print_intro_page { |
my $r = shift; |
my ($r,$show_all_choices) = @_; |
my $start_page = |
my $start_page = |
&Apache::loncommon::start_page('Create a New Course or Community'); |
&Apache::loncommon::start_page('Create a New Course or Community'); |
my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Creation Options','Create_Course',undef,'Create_Courses'); |
my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Creation Options','Create_Course',undef,'Create_Courses'); |
Line 702 sub print_intro_page {
|
Line 706 sub print_intro_page {
|
&Apache::loncommon::end_page(); |
&Apache::loncommon::end_page(); |
my $helplink=&Apache::loncommon::help_open_topic('Create_Course_Community',&mt('Help on Creating Courses and Communities')); |
my $helplink=&Apache::loncommon::help_open_topic('Create_Course_Community',&mt('Help on Creating Courses and Communities')); |
|
|
my @choices = ({ internal_name => 'courseone', |
# Create menu |
name => &mt('Create a single course'), |
my @menu; |
short_description => |
@menu = |
&mt('Create a new course by completing an online form.'), |
({ categorytitle => 'Course/Community Creation', |
}, |
items => [ |
{ internal_name => 'groupone', |
{ |
name => &mt('Create a single community'), |
linktext => 'Create a single course', |
short_description => |
url => '/adm/createcourse?phase=courseone', |
&mt('Create a new collaborative community by completing an online form.'), |
permission => 1, |
}, |
#help => '', |
{ internal_name => 'batchone', |
icon => 'crsnew.png', |
name => &mt('Create courses/communities by uploading an attributes file'), |
linktitle => 'Create a new course by completing an online form.' |
short_description => |
}, |
&mt('Upload an attributes file containing specifications for one or more courses or communities in XML format.'), |
{ |
help => 'Batch_Creation', |
linktext => 'Create a single community', |
}, |
url => '/adm/createcourse?phase=groupone', |
{ internal_name => 'requestdisplay', |
permission => $show_all_choices, |
name => &mt('Approve or reject requests'), |
#help => '', |
short_description => |
icon => 'crsnew.png', |
&mt('Display course and community creation requests submitted by authorized users, held pending approval by a Domain Coordinator.'), |
linktitle => 'Create a new collaborative community by completing an online form.' |
}, |
}, |
{ internal_name => 'creationlog', |
{ |
name => &mt('View creation log'), |
linktext => 'Create courses/communities by uploading an attributes file', |
short_description => |
url => '/adm/createcourse?phase=batchone', |
&mt('Display information about when, how and by whom courses and communities were created in this domain.'), |
permission => 1, |
}, |
help => 'Batch_Creation', |
|
icon => 'uplcrs.png', |
|
linktitle => 'Upload an attributes file containing specifications for one or more courses or communities in XML format.' |
|
}, |
|
] |
|
}, |
|
{ categorytitle => 'Course/Community Requests', |
|
items => [ |
|
{ |
|
linktext => 'Approve or reject requests', |
|
url => '/adm/createcourse?phase=requestdisplay', |
|
permission => $show_all_choices, |
|
#help => '', |
|
icon => 'rcrs.png', |
|
linktitle => 'Display course and community creation requests submitted by authorized users, held pending approval by a Domain Coordinator.' |
|
}, |
|
{ |
|
linktext => 'View pending official course requests', |
|
url => '/adm/createcourse?phase=pendingdisplay', |
|
permission => $show_all_choices, |
|
#help => '', |
|
icon => 'edit-find.png', |
|
alttext => '', |
|
linktitle => 'Display official course requests submitted by authorized users, held pending validation of instructor status.' |
|
}, |
|
] |
|
}, |
|
{ categorytitle => 'Administration', |
|
items => [ |
|
{ |
|
linktext => 'View creation log', |
|
url => '/adm/createcourse?phase=creationlog', |
|
permission => $show_all_choices, |
|
#help => '', |
|
icon => 'document-properties.png', |
|
linktitle => 'Display information about when, how and by whom courses and communities were created in this domain.' |
|
}, |
|
] |
|
}, |
|
); |
|
|
|
$r->print( |
|
$start_page |
|
.$crumbs |
|
.&Apache::lonhtmlcommon::generate_menu(@menu) |
|
.$end_page |
); |
); |
my $options; |
|
foreach my $choice (@choices) { |
|
$options .=' <h3><a href="/adm/createcourse?phase='. |
|
$choice->{'internal_name'}.'" >'. |
|
$choice->{'name'}.'</a>'; |
|
if (exists($choice->{'help'})) { |
|
$options .= &Apache::loncommon::help_open_topic($choice->{'help'}); |
|
} |
|
$options .= "</h3>\n".' '.(' 'x8).$choice->{'short_description'}. |
|
"\n"; |
|
} |
|
|
|
$r->print(<<ENDDOCUMENT); |
|
$start_page |
|
$crumbs |
|
$options |
|
$end_page |
|
ENDDOCUMENT |
|
} |
} |
|
|
sub upload_batchfile { |
sub upload_batchfile { |
Line 763 sub upload_batchfile {
|
Line 794 sub upload_batchfile {
|
'<input type="file" name="coursecreatorxml" />'. |
'<input type="file" name="coursecreatorxml" />'. |
'<input type="hidden" name="phase" value="batchtwo" /><br /><br />'. |
'<input type="hidden" name="phase" value="batchtwo" /><br /><br />'. |
'<input type="submit" name="batchsubmit" '. |
'<input type="submit" name="batchsubmit" '. |
'value="Create Courses/Communities" /></form>'); |
'value="'.&mt('Create Courses/Communities').'" /></form>'); |
$r->print($end_page); |
$r->print($end_page); |
return; |
return; |
} |
} |
Line 814 sub courserequestbrowser_javascript {
|
Line 845 sub courserequestbrowser_javascript {
|
<script type="text/javascript"> |
<script type="text/javascript"> |
// <![CDATA[ |
// <![CDATA[ |
var steditbrowser; |
var steditbrowser; |
function opencoursereqdisplay(cdom,cnum) { |
function opencoursereqdisplay(cdom,cnum,queue) { |
var url = '/adm/requestcourse?action=display'; |
var url = '/adm/requestcourse?action=display'; |
url += '&showdom='+cdom+'&cnum='+cnum; |
url += '&showdom='+cdom+'&cnum='+cnum+'&queue='+queue; |
var title = 'Course_Request_Browser'; |
var title = 'Course_Request_Browser'; |
var options = 'scrollbars=1,resizable=1,menubar=0'; |
var options = 'scrollbars=1,resizable=1,menubar=0'; |
options += ',width=700,height=600'; |
options += ',width=700,height=600'; |
var stdeditbrowser = open(url,title,options,'1'); |
var stdeditbrowser = open(url,title,options,'1'); |
stdeditbrowser.focus(); |
stdeditbrowser.focus(); |
} |
} |
|
|
// ]]> |
// ]]> |
</script> |
</script> |
ENDREQBRW |
ENDREQBRW |
Line 850 sub print_creation_logs {
|
Line 882 sub print_creation_logs {
|
foreach my $item ('show','page','type','context') { |
foreach my $item ('show','page','type','context') { |
$curr{$item} = $env{'form.'.$item}; |
$curr{$item} = $env{'form.'.$item}; |
} |
} |
my $createdafter = &Apache::lonhtmlcommon::get_date_from_form('created_after_date'); |
|
my $createdbefore = &Apache::lonhtmlcommon::get_date_from_form('created_before_date'); |
|
$curr{'created_after_date'} = &Apache::lonhtmlcommon::get_date_from_form('created_after_date'); |
$curr{'created_after_date'} = &Apache::lonhtmlcommon::get_date_from_form('created_after_date'); |
$curr{'created_before_date'} = &Apache::lonhtmlcommon::get_date_from_form('created_before_date'); |
$curr{'created_before_date'} = &Apache::lonhtmlcommon::get_date_from_form('created_before_date'); |
foreach my $key (keys(%defaults)) { |
foreach my $key (keys(%defaults)) { |
Line 902 sub print_creation_logs {
|
Line 932 sub print_creation_logs {
|
if ($numtitles) { |
if ($numtitles) { |
if (($curr{'type'} eq 'official') || ($curr{'type'} eq 'unofficial')) { |
if (($curr{'type'} eq 'official') || ($curr{'type'} eq 'unofficial')) { |
$instcodefilter = &instcode_srchstr($dom,$numtitles); |
$instcodefilter = &instcode_srchstr($dom,$numtitles); |
&Apache::courseclassifier::instcode_search_str($dom,$numtitles); |
&Apache::courseclassifier::instcode_search_str($dom,$numtitles,\@codetitles); |
if ($curr{'type'} eq 'official') { |
if ($curr{'type'} eq 'official') { |
$regexpok = 1; |
$regexpok = 1; |
} else { |
} else { |
Line 925 sub print_creation_logs {
|
Line 955 sub print_creation_logs {
|
undef,undef,undef,$curr{'created_before_date'}, |
undef,undef,undef,$curr{'created_before_date'}, |
$curr{'created_after_date'},$creationcontext); |
$curr{'created_after_date'},$creationcontext); |
foreach my $cid (sort { $courses{$b}{'created'}<=>$courses{$a}{'created'} } (keys(%courses))) { |
foreach my $cid (sort { $courses{$b}{'created'}<=>$courses{$a}{'created'} } (keys(%courses))) { |
|
if ($curr{'show'} ne &mt('all')) { |
|
if ($count >= $curr{'page'} * $curr{'show'}) { |
|
$more_records = 1; |
|
last; |
|
} |
|
} |
$count ++; |
$count ++; |
next if ($count < $minshown); |
next if ($count < $minshown); |
if (!$showntablehdr) { |
if (!$showntablehdr) { |
Line 1060 sub creation_display_filter {
|
Line 1096 sub creation_display_filter {
|
&Apache::lonhtmlcommon::date_setter($formname,'created_before_date', |
&Apache::lonhtmlcommon::date_setter($formname,'created_before_date', |
$curr->{'created_before_date'},undef, |
$curr->{'created_before_date'},undef, |
undef,undef,undef,undef,undef,undef,$nolink); |
undef,undef,undef,undef,undef,undef,$nolink); |
$output .= '<td valign="top"><b>'.&mt('Window during which course was created:').'</b><br />'. |
$output .= '<td valign="top"><b>'.&mt('Window during which course/community was created:').'</b><br />'. |
'<table><tr><td>'.&mt('After:'). |
'<table><tr><td>'.&mt('After:'). |
'</td><td>'.$startform.'</td></tr>'. |
'</td><td>'.$startform.'</td></tr>'. |
'<tr><td>'.&mt('Before:').'</td>'. |
'<tr><td>'.&mt('Before:').'</td>'. |
'<td>'.$endform.'</td></tr></table>'. |
'<td>'.$endform.'</td></tr></table>'. |
'</td>'. |
'</td>'. |
'<td> </td>'; |
'<td> </td>'; |
my ($types,$typenames) = &course_types(); |
my ($types,$typenames) = &Apache::loncommon::course_types(); |
if (ref($types) eq 'ARRAY') { |
if (ref($types) eq 'ARRAY') { |
if (@{$types} > 1) { |
if (@{$types} > 1) { |
$output .= '<td valign="top"><b>'. |
$output .= '<td valign="top"><b>'. |
Line 1119 sub creation_display_filter {
|
Line 1155 sub creation_display_filter {
|
return $output; |
return $output; |
} |
} |
|
|
sub course_types { |
|
my @types = qw(official unofficial community); |
|
my %typename = ( |
|
official => 'Official course', |
|
unofficial => 'Unofficial course', |
|
community => 'Community', |
|
); |
|
return (\@types,\%typename); |
|
} |
|
|
|
sub context_names { |
sub context_names { |
my @contexts = qw(auto web dc_create requestcourses); |
my @contexts = qw(auto web dc_create requestcourses); |
my %contextnames = |
my %contextnames = |
Line 1195 sub handler {
|
Line 1221 sub handler {
|
return OK; |
return OK; |
} |
} |
|
|
|
my $show_all_choices = 0; |
|
my $primary_rev = &Apache::lonnet::get_server_loncaparev($env{'request.role.domain'}); |
|
if (($primary_rev ne 'refused') && ($primary_rev ne 'error') && |
|
($primary_rev ne 'unknown_cmd') && ($primary_rev ne 'no_such_host')) { |
|
$show_all_choices = 1; |
|
} |
|
|
if (&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) { |
if (&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) { |
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
$r->send_http_header; |
$r->send_http_header; |
Line 1207 sub handler {
|
Line 1240 sub handler {
|
text=>"Creation Options", |
text=>"Creation Options", |
faq=>79,bug=>'Dom Coord Interface',}); |
faq=>79,bug=>'Dom Coord Interface',}); |
if (($env{'form.phase'} eq 'coursetwo') || |
if (($env{'form.phase'} eq 'coursetwo') || |
($env{'form.phase'} eq 'grouptwo')) { |
(($env{'form.phase'} eq 'grouptwo') && |
|
($show_all_choices))) { |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"/adm/createcourse?phase=$env{'form.prevphase'}", |
({href=>"/adm/createcourse?phase=$env{'form.prevphase'}", |
text=>&mt('[_1] Creation Settings',), |
text=>&mt('[_1] Creation Settings',), |
Line 1218 sub handler {
|
Line 1252 sub handler {
|
faq=>9,bug=>'Dom Coord Interface',}); |
faq=>9,bug=>'Dom Coord Interface',}); |
&create_course($r); |
&create_course($r); |
} elsif (($env{'form.phase'} eq 'courseone') || |
} elsif (($env{'form.phase'} eq 'courseone') || |
($env{'form.phase'} eq 'groupone')) { |
(($env{'form.phase'} eq 'groupone') && |
|
($show_all_choices))) { |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"/adm/createcourse?phase=$env{'form.phase'}", |
({href=>"/adm/createcourse?phase=$env{'form.phase'}", |
text=>&mt('[_1] Creation Settings',), |
text=>&mt('[_1] Creation Settings',), |
Line 1240 sub handler {
|
Line 1275 sub handler {
|
text=>"Creation Outcome", |
text=>"Creation Outcome", |
faq=>9,bug=>'Dom Coord Interface',}); |
faq=>9,bug=>'Dom Coord Interface',}); |
&process_batchfile($r); |
&process_batchfile($r); |
} elsif ($env{'form.phase'} eq 'requestdisplay') { |
} elsif (($env{'form.phase'} eq 'requestdisplay') && ($show_all_choices)) { |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"/adm/createcourse?phase=$env{'form.phase'}", |
({href=>"/adm/createcourse?phase=$env{'form.phase'}", |
text=>&mt('[_1] Display Request Queue',), |
text=>&mt('[_1] Display Request Queue',), |
Line 1252 sub handler {
|
Line 1287 sub handler {
|
&Apache::loncoursequeueadmin::display_queued_requests( |
&Apache::loncoursequeueadmin::display_queued_requests( |
'domain',$env{'request.role.domain'}).'</div>'. |
'domain',$env{'request.role.domain'}).'</div>'. |
&Apache::loncommon::end_page()); |
&Apache::loncommon::end_page()); |
} elsif ($env{'form.phase'} eq 'requestchange') { |
} elsif (($env{'form.phase'} eq 'requestchange') && ($show_all_choices)) { |
|
if ($env{'form.queue'} eq 'pending') { |
|
&Apache::lonhtmlcommon::add_breadcrumb |
|
({href=>"/adm/createcourse?phase=pendingdisplay", |
|
text=>&mt('Display Pending Queue',), |
|
faq=>9,bug=>'Dom Coord Interface',}); |
|
} else { |
|
&Apache::lonhtmlcommon::add_breadcrumb |
|
({href=>"/adm/createcourse?phase=requestdisplay", |
|
text=>&mt('[_1] Display Request Queue',), |
|
faq=>9,bug=>'Dom Coord Interface',}); |
|
} |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"/adm/createcourse?phase=requestdisplay", |
({href=>"/adm/createcourse?phase=requestchange", |
text=>&mt('[_1] Display Request Queue',), |
text=>&mt('[_1] Requests Updated',), |
faq=>9,bug=>'Dom Coord Interface',}, |
faq=>9,bug=>'Dom Coord Interface',},); |
{href=>"/adm/createcourse?phase=requestchange", |
|
text=>&mt('[_1] Requests Updated',), |
|
faq=>9,bug=>'Dom Coord Interface',},); |
|
my $start_page=&Apache::loncommon::start_page('Update Requests Result'); |
my $start_page=&Apache::loncommon::start_page('Update Requests Result'); |
my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Requests Updated','Course_Request',undef,'Course_Request'); |
my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Requests Updated','Course_Request',undef,'Course_Request'); |
$r->print($start_page.$crumbs."\n".'<div>'. |
$r->print($start_page.$crumbs."\n".'<div>'. |
&Apache::loncoursequeueadmin::update_request_queue( |
&Apache::loncoursequeueadmin::update_request_queue( |
'domain',$env{'request.role.domain'}).'</div>'. |
'domain',$env{'request.role.domain'}).'</div>'. |
&Apache::loncommon::end_page()); |
&Apache::loncommon::end_page()); |
} elsif ($env{'form.phase'} eq 'creationlog') { |
} elsif (($env{'form.phase'} eq 'pendingdisplay') && ($show_all_choices)) { |
|
&Apache::lonhtmlcommon::add_breadcrumb |
|
({href=>"/adm/createcourse?phase=$env{'form.phase'}", |
|
text=>&mt('Display Pending Queue',), |
|
faq=>9,bug=>'Dom Coord Interface',}); |
|
my $js = &courserequestbrowser_javascript(); |
|
my $start_page=&Apache::loncommon::start_page('Display Pending Queue',$js); |
|
my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Display Pending Queue','Course_Request',undef,'Course_Request'); |
|
$r->print($start_page.$crumbs."\n".'<div>'. |
|
&Apache::loncoursequeueadmin::display_queued_requests( |
|
'pending',$env{'request.role.domain'}).'</div>'. |
|
&Apache::loncommon::end_page()); |
|
} elsif (($env{'form.phase'} eq 'requestvalidation') && ($show_all_choices)) { |
|
my $js = &courserequestbrowser_javascript(); |
|
&Apache::lonhtmlcommon::add_breadcrumb |
|
({href=>"/adm/createcourse?phase=pendingdisplay", |
|
text=>&mt('Display Pending Queue'),}, |
|
{href=>"/adm/createcourse?phase=requestvalidation", |
|
text=>&mt('Validation Attempted'),},); |
|
my $start_page=&Apache::loncommon::start_page('Requests Validation Result',$js); |
|
my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Validation Attempted','Course_Request',undef,'Course_Request'); |
|
$r->print($start_page.$crumbs."\n".'<div>'. |
|
&Apache::loncoursequeueadmin::process_official_reqs('domain',$env{'request.role.domain'}).'</div>'. |
|
&Apache::loncommon::end_page()); |
|
} elsif (($env{'form.phase'} eq 'creationlog') && ($show_all_choices)) { |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"/adm/createcourse?phase=creationlog", |
({href=>"/adm/createcourse?phase=creationlog", |
text=>&mt('[_1] Display Creation History',),}); |
text=>&mt('[_1] Display Creation History',),}); |
Line 1281 sub handler {
|
Line 1348 sub handler {
|
&print_creation_logs($r); |
&print_creation_logs($r); |
$r->print('</div>'.&Apache::loncommon::end_page()); |
$r->print('</div>'.&Apache::loncommon::end_page()); |
} else { |
} else { |
&print_intro_page($r); |
&print_intro_page($r,$show_all_choices); |
} |
} |
} else { |
} else { |
$env{'user.error.msg'}= |
$env{'user.error.msg'}= |