version 1.80, 2004/03/05 02:14:34
|
version 1.88, 2004/11/23 18:03:04
|
Line 123 sub print_username_entry_form {
|
Line 123 sub print_username_entry_form {
|
my $defdom=$ENV{'request.role.domain'}; |
my $defdom=$ENV{'request.role.domain'}; |
my @domains = &Apache::loncommon::get_domains(); |
my @domains = &Apache::loncommon::get_domains(); |
my $domform = &Apache::loncommon::select_dom_form($defdom,'ccdomain'); |
my $domform = &Apache::loncommon::select_dom_form($defdom,'ccdomain'); |
my $bodytag =&Apache::loncommon::bodytag( |
my $bodytag =&Apache::loncommon::bodytag('Create Users, Change User Privileges').&Apache::loncommon::help_open_menu('',undef,undef,'',282,'Instructor Interface'); |
'Create Users, Change User Privileges'). |
|
&Apache::loncommon::help_open_faq(282). |
|
&Apache::loncommon::help_open_bug('Instructor Interface'); |
|
my $selscript=&Apache::loncommon::studentbrowser_javascript(); |
my $selscript=&Apache::loncommon::studentbrowser_javascript(); |
my $sellink=&Apache::loncommon::selectstudent_link |
my $sellink=&Apache::loncommon::selectstudent_link |
('crtuser','ccuname','ccdomain'); |
('crtuser','ccuname','ccdomain'); |
Line 177 sub print_user_modification_page {
|
Line 174 sub print_user_modification_page {
|
my $ccuname=$ENV{'form.ccuname'}; |
my $ccuname=$ENV{'form.ccuname'}; |
my $ccdomain=$ENV{'form.ccdomain'}; |
my $ccdomain=$ENV{'form.ccdomain'}; |
|
|
$ccuname=~s/\W//gs; |
$ccuname=~s/[\W|_]//gs; |
$ccdomain=~s/\W//gs; |
$ccdomain=~s/[\W|_]//gs; |
|
|
unless (($ccuname) && ($ccdomain)) { |
unless (($ccuname) && ($ccdomain)) { |
&print_username_entry_form($r); |
&print_username_entry_form($r); |
Line 200 sub print_user_modification_page {
|
Line 197 sub print_user_modification_page {
|
$ccuname=~s/\W//g; |
$ccuname=~s/\W//g; |
$ccdomain=~s/\W//g; |
$ccdomain=~s/\W//g; |
my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition(); |
my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition(); |
|
my $dc_setcourse_code = ''; |
|
my $loaditem; |
|
if ($ENV{'request.role'} =~ m-^dc\./(\w+)/$-) { |
|
my $dcdom = $1; |
|
$loaditem = qq|OnLoad="document.cu.coursedesc.value=''"|; |
|
$dc_setcourse_code = <<"ENDSCRIPT"; |
|
function setCourse() { |
|
var course = document.cu.dccourse.value; |
|
if (course != "") { |
|
if (document.cu.dcdomain.value != document.cu.origdom.value) { |
|
alert("You must select a course in the current domain"); |
|
return; |
|
} |
|
var userrole = document.cu.role.options[document.cu.role.selectedIndex].value |
|
var section; |
|
var numsections = 0; |
|
if (document.cu.role.value != "cc") { |
|
for (var i=0; i<document.cu.currsec.length; i++) { |
|
if (document.cu.currsec.options[i].selected == true ) { |
|
if (document.cu.currsec.options[i].value != "") { |
|
if (numsections == 0) { |
|
if (document.cu.currsec.options[i].value != "") { |
|
section = document.cu.currsec.options[i].value |
|
numsections = 1; |
|
} |
|
} |
|
else { |
|
section = section + "," + document.cu.currsec.options[i].value |
|
numsections ++; |
|
} |
|
} |
|
} |
|
} |
|
if (document.cu.newsec.value != "") { |
|
if (numsections == 0) { |
|
if (document.cu.newsec.value != "") { |
|
section = document.cu.newsec.value |
|
numsections = 1; |
|
} |
|
} |
|
else { |
|
section = section + "," + document.cu.newsec.value |
|
numsections ++; |
|
} |
|
} |
|
} |
|
var numcourse = getIndex(document.cu.dccourse); |
|
if (numcourse == "-1") { |
|
alert("There was a problem with your course selection"); |
|
return |
|
} |
|
else { |
|
var coursename = "_$dcdom"+"_"+course+"_"+userrole |
|
document.cu.elements[numcourse].name = "act"+coursename |
|
document.cu.elements[numcourse+4].name = "sec"+coursename |
|
document.cu.elements[numcourse+4].value = section |
|
document.cu.elements[numcourse+5].name = "start"+coursename |
|
document.cu.elements[numcourse+6].name = "end"+coursename |
|
} |
|
} |
|
document.cu.submit(); |
|
} |
|
|
|
function getIndex(caller) { |
|
for (var i=0;i<document.cu.elements.length;i++) { |
|
if (document.cu.elements[i] == caller) { |
|
return i; |
|
} |
|
} |
|
return -1; |
|
} |
|
ENDSCRIPT |
|
} |
my $dochead =<<"ENDDOCHEAD"; |
my $dochead =<<"ENDDOCHEAD"; |
<html> |
<html> |
<head> |
<head> |
Line 213 sub print_user_modification_page {
|
Line 283 sub print_user_modification_page {
|
} |
} |
|
|
$pjump_def |
$pjump_def |
|
$dc_setcourse_code |
|
|
function dateset() { |
function dateset() { |
eval("document.cu."+document.cu.pres_marker.value+ |
eval("document.cu."+document.cu.pres_marker.value+ |
Line 224 sub print_user_modification_page {
|
Line 295 sub print_user_modification_page {
|
</head> |
</head> |
ENDDOCHEAD |
ENDDOCHEAD |
$r->print(&Apache::loncommon::bodytag( |
$r->print(&Apache::loncommon::bodytag( |
'Create Users, Change User Privileges')); |
'Create Users, Change User Privileges',undef,$loaditem)); |
my $forminfo =<<"ENDFORMINFO"; |
my $forminfo =<<"ENDFORMINFO"; |
<form action="/adm/createuser" method="post" name="cu"> |
<form action="/adm/createuser" method="post" name="cu"> |
<input type="hidden" name="phase" value="update_user_data"> |
<input type="hidden" name="phase" value="update_user_data"> |
Line 345 END
|
Line 416 END
|
'rer' => "Revoke Existing Roles", |
'rer' => "Revoke Existing Roles", |
'rev' => "Revoke", |
'rev' => "Revoke", |
'del' => "Delete", |
'del' => "Delete", |
|
'ren' => "Re-Enable", |
'rol' => "Role", |
'rol' => "Role", |
'ext' => "Extent", |
'ext' => "Extent", |
'sta' => "Start", |
'sta' => "Start", |
Line 354 END
|
Line 426 END
|
<hr /> |
<hr /> |
<h3>$lt{'rer'}</h3> |
<h3>$lt{'rer'}</h3> |
<table> |
<table> |
<tr><th>$lt{'rev'}</th><th>$lt{'del'}</th><th>$lt{'rol'}</th><th>$lt{'ext'}</th><th>$lt{'sta'}</th><th>$lt{'end'}</th> |
<tr><th>$lt{'rev'}</th><th>$lt{'ren'}</th><th>$lt{'del'}</th><th>$lt{'rol'}</th><th>$lt{'ext'}</th><th>$lt{'sta'}</th><th>$lt{'end'}</th> |
END |
END |
my (%roletext,%sortrole,%roleclass); |
my (%roletext,%sortrole,%roleclass); |
foreach my $area (sort { my $a1=join('_',(split('_',$a))[1,0]); |
foreach my $area (sort { my $a1=join('_',(split('_',$a))[1,0]); |
Line 391 END
|
Line 463 END
|
$sortkey.="\0".$coursedata{'description'}; |
$sortkey.="\0".$coursedata{'description'}; |
} else { |
} else { |
$carea=&mt('Unavailable course').': '.$area; |
$carea=&mt('Unavailable course').': '.$area; |
$sortkey.="\0".&mt('Unavailable course'); |
$sortkey.="\0".&mt('Unavailable course').': '.$area; |
} |
} |
$inccourses{$1.'_'.$2}=1; |
$inccourses{$1.'_'.$2}=1; |
if ((&Apache::lonnet::allowed('c'.$role_code,$1.'/'.$2)) || |
if ((&Apache::lonnet::allowed('c'.$role_code,$1.'/'.$2)) || |
Line 415 END
|
Line 487 END
|
$bgcol=substr($bgcol.$bgcol.$bgcol.'ffffff',2,6); |
$bgcol=substr($bgcol.$bgcol.$bgcol.'ffffff',2,6); |
if ($area=~/^\/(\w+)\/(\d\w+)\/(\w+)/) { |
if ($area=~/^\/(\w+)\/(\d\w+)\/(\w+)/) { |
$carea.='<br>Section/Group: '.$3; |
$carea.='<br>Section/Group: '.$3; |
|
$sortkey.="\0$3"; |
} |
} |
$area=$carea; |
$area=$carea; |
} else { |
} else { |
Line 466 END
|
Line 539 END
|
} |
} |
} |
} |
$row.='</td><td>'; |
$row.='</td><td>'; |
|
if ($allowed && !$active) { |
|
$row.= '<input type="checkbox" name="ren:'.$thisrole.'">'; |
|
} else { |
|
$row.=' '; |
|
} |
|
$row.='</td><td>'; |
if ($delallowed) { |
if ($delallowed) { |
$row.= '<input type="checkbox" name="del:'.$thisrole.'">'; |
$row.= '<input type="checkbox" name="del:'.$thisrole.'">'; |
} else { |
} else { |
Line 677 ENDDROW
|
Line 756 ENDDROW
|
# |
# |
# Course level |
# Course level |
# |
# |
$r->print(&course_level_table(%inccourses)); |
|
$r->print("<hr /><input type=submit value=\"".&mt('Modify User')."\">\n"); |
if ($ENV{'request.role'} =~ m-^dc\./(\w+)/$-) { |
|
$r->print(&course_level_dc($1)); |
|
$r->print('<hr /><input type="button" value="'.&mt('Modify User').'" onClick="setCourse()">'."\n"); |
|
} else { |
|
$r->print(&course_level_table(%inccourses)); |
|
$r->print("<hr /><input type=submit value=\"".&mt('Modify User')."\">\n"); |
|
} |
$r->print("</form></body></html>"); |
$r->print("</form></body></html>"); |
} |
} |
|
|
Line 957 END
|
Line 1042 END
|
$ENV{'course.'.$cid.'.home'}).'</b><br>'); |
$ENV{'course.'.$cid.'.home'}).'</b><br>'); |
} |
} |
} |
} |
} elsif ($_=~/^form\.act/) { |
} elsif ($_=~/^form\.ren/) { |
if |
if ($_=~/^form\.ren\:([^\_]+)\_([^\_]+)$/) { |
($_=~/^form\.act\_([^\_]+)\_([^\_]+)\_cr_cr_([^\_]+)_(\w+)_([^\_]+)$/) { |
my $result=&Apache::lonnet::assignrole($ENV{'form.ccdomain'}, |
# Activate a custom role |
$ENV{'form.ccuname'},$1,$2,0,$now); |
my $url='/'.$1.'/'.$2; |
$r->print(&mt('Re-Enabling [_1] in [_2]: [_3]', |
my $full=$1.'_'.$2.'_cr_cr_'.$3.'_'.$4.'_'.$5; |
$2,$1,$result).'<br />'); |
if ($ENV{'form.sec_'.$full}) { |
if ($2 eq 'st') { |
$url.='/'.$ENV{'form.sec_'.$full}; |
$1=~/^\/(\w+)\/(\w+)/; |
} |
|
|
|
my $start = ( $ENV{'form.start_'.$full} ? |
|
$ENV{'form.start_'.$full} : |
|
$now ); |
|
my $end = ( $ENV{'form.end_'.$full} ? |
|
$ENV{'form.end_'.$full} : |
|
0 ); |
|
|
|
$r->print(&mt('Assigning custom role').' "'.$5.'" by '.$4.'@'.$3.' in '.$url. |
|
($start?', '.&mt('starting').' '.localtime($start):''). |
|
($end?', ending '.localtime($end):'').': <b>'. |
|
&Apache::lonnet::assigncustomrole( |
|
$ENV{'form.ccdomain'},$ENV{'form.ccuname'},$url,$3,$4,$5,$end,$start). |
|
'</b><br>'); |
|
} elsif ($_=~/^form\.act\_([^\_]+)\_([^\_]+)\_([^\_]+)$/) { |
|
# Activate roles for sections with 3 id numbers |
|
# set start, end times, and the url for the class |
|
|
|
my $start = ( $ENV{'form.start_'.$1.'_'.$2.'_'.$3} ? |
|
$ENV{'form.start_'.$1.'_'.$2.'_'.$3} : |
|
$now ); |
|
my $end = ( $ENV{'form.end_'.$1.'_'.$2.'_'.$3} ? |
|
$ENV{'form.end_'.$1.'_'.$2.'_'.$3} : |
|
0 ); |
|
my $url='/'.$1.'/'.$2; |
|
if ($ENV{'form.sec_'.$1.'_'.$2.'_'.$3}) { |
|
$url.='/'.$ENV{'form.sec_'.$1.'_'.$2.'_'.$3}; |
|
} |
|
# Assign the role and report it |
|
$r->print(&mt('Assigning').' '.$3.' in '.$url. |
|
($start?', '.&mt('starting').' '.localtime($start):''). |
|
($end?', '.&mt('ending').' '.localtime($end):'').': <b>'. |
|
&Apache::lonnet::assignrole( |
|
$ENV{'form.ccdomain'},$ENV{'form.ccuname'}, |
|
$url,$3,$end,$start). |
|
'</b><br>'); |
|
# Handle students differently |
|
if ($3 eq 'st') { |
|
$url=~/^\/(\w+)\/(\w+)/; |
|
my $cid=$1.'_'.$2; |
my $cid=$1.'_'.$2; |
$r->print(&mt('Add to classlist').': <b>'. |
$r->print(&mt('Add to classlist').': <b>'. |
&Apache::lonnet::critical( |
&Apache::lonnet::critical( |
Line 1013 END
|
Line 1058 END
|
&Apache::lonnet::escape( |
&Apache::lonnet::escape( |
$ENV{'form.ccuname'}.':'. |
$ENV{'form.ccuname'}.':'. |
$ENV{'form.ccdomain'} ).'='. |
$ENV{'form.ccdomain'} ).'='. |
&Apache::lonnet::escape($end.':'.$start), |
&Apache::lonnet::escape(':'.$now), |
$ENV{'course.'.$cid.'.home'}) |
$ENV{'course.'.$cid.'.home'}) |
.'</b><br>'); |
.'</b><br>'); |
} |
} |
|
} |
|
} elsif ($_=~/^form\.act/) { |
|
if ($_=~/^form\.act\_([^\_]+)\_([^\_]+)\_cr_cr_([^\_]+)_(\w+)_([^\_]+)$/) { |
|
# Activate a custom role |
|
my ($one,$two,$three,$four,$five)=($1,$2,$3,$4,$5); |
|
my $url='/'.$one.'/'.$two; |
|
my $full=$one.'_'.$two.'_cr_cr_'.$three.'_'.$four.'_'.$five; |
|
|
|
my $start = ( $ENV{'form.start_'.$full} ? |
|
$ENV{'form.start_'.$full} : |
|
$now ); |
|
my $end = ( $ENV{'form.end_'.$full} ? |
|
$ENV{'form.end_'.$full} : |
|
0 ); |
|
|
|
# split multiple sections |
|
my %sections = (); |
|
my $num_sections = &build_roles($ENV{'form.sec_'.$full},\%sections); |
|
if ($num_sections == 0) { |
|
$r->print(&commit_customrole($url,$three,$four,$five,$start,$end)); |
|
} else { |
|
foreach (sort {$a cmp $b} keys %sections) { |
|
my $securl = $url.'/'.$_; |
|
$r->print(&commit_customrole($securl,$three,$four,$five,$start,$end)); |
|
} |
|
} |
|
} elsif ($_=~/^form\.act\_([^\_]+)\_([^\_]+)\_([^\_]+)$/) { |
|
# Activate roles for sections with 3 id numbers |
|
# set start, end times, and the url for the class |
|
my ($one,$two,$three)=($1,$2,$3); |
|
my $start = ( $ENV{'form.start_'.$one.'_'.$two.'_'.$three} ? |
|
$ENV{'form.start_'.$one.'_'.$two.'_'.$three} : |
|
$now ); |
|
my $end = ( $ENV{'form.end_'.$one.'_'.$two.'_'.$three} ? |
|
$ENV{'form.end_'.$one.'_'.$two.'_'.$three} : |
|
0 ); |
|
my $url='/'.$one.'/'.$two; |
|
my $type = 'three'; |
|
# split multiple sections |
|
my %sections = (); |
|
my $num_sections = &build_roles($ENV{'form.sec_'.$one.'_'.$two.'_'.$three},\%sections); |
|
if ($num_sections == 0) { |
|
$r->print(&commit_standardrole($url,$three,$start,$end,$one,$two)); |
|
} else { |
|
my $emptysec = 0; |
|
foreach my $sec (sort {$a cmp $b} keys %sections) { |
|
$sec =~ s/\W//g; |
|
if ($sec ne '') { |
|
my $securl = $url.'/'.$sec; |
|
$r->print(&commit_standardrole($securl,$three,$start,$end,$one,$two)); |
|
} else { |
|
$emptysec = 1; |
|
} |
|
} |
|
if ($emptysec) { |
|
$r->print(&commit_standardrole($url,$three,$start,$end,$one,$two)); |
|
} |
|
} |
} elsif ($_=~/^form\.act\_([^\_]+)\_([^\_]+)$/) { |
} elsif ($_=~/^form\.act\_([^\_]+)\_([^\_]+)$/) { |
# Activate roles for sections with two id numbers |
# Activate roles for sections with two id numbers |
# set start, end times, and the url for the class |
# set start, end times, and the url for the class |
Line 1027 END
|
Line 1130 END
|
$ENV{'form.end_'.$1.'_'.$2} : |
$ENV{'form.end_'.$1.'_'.$2} : |
0 ); |
0 ); |
my $url='/'.$1.'/'; |
my $url='/'.$1.'/'; |
|
# split multiple sections |
|
my %sections = (); |
|
my $num_sections = &build_roles($ENV{'form.sec_'.$1.'_'.$2},\%sections); |
|
if ($num_sections == 0) { |
|
$r->print(&commit_standardrole($url,$2,$start,$end,$1)); |
|
} else { |
|
my $emptysec = 0; |
|
foreach my $sec (sort {$a cmp $b} keys %sections) { |
|
if ($sec ne '') { |
|
my $securl = $url.'/'.$sec; |
|
$r->print(&commit_standardrole($securl,$2,$start,$end,$1)); |
|
} else { |
|
$emptysec = 1; |
|
} |
|
} |
|
if ($emptysec) { |
|
$r->print(&commit_standardrole($url,$2,$start,$end,$1)); |
|
} |
|
} |
# Assign the role and report it. |
# Assign the role and report it. |
$r->print(&mt('Assigning').' '.$2.' in '.$url.': '. |
$r->print(&mt('Assigning').' '.$2.' in '.$url.': '. |
($start?', '.&mt('starting').' '.localtime($start):''). |
($start?', '.&mt('starting').' '.localtime($start):''). |
Line 1045 END
|
Line 1167 END
|
$r->print('</body></html>'); |
$r->print('</body></html>'); |
} |
} |
|
|
|
sub commit_customrole { |
|
my ($url,$three,$four,$five,$end,$start) = @_; |
|
my $output = &mt('Assigning custom role').' "'.$five.'" by '.$four.'@'.$three.' in '.$url. |
|
($start?', '.&mt('starting').' '.localtime($start):''). |
|
($end?', ending '.localtime($end):'').': <b>'. |
|
&Apache::lonnet::assigncustomrole( |
|
$ENV{'form.ccdomain'},$ENV{'form.ccuname'},$url,$three,$four,$five,$end,$start). |
|
'</b><br>'; |
|
return $output; |
|
} |
|
|
|
sub commit_standardrole { |
|
my ($url,$three,$start,$end,$one,$two) = @_; |
|
my $output = (&mt('Assigning').' '.$three.' in '.$url. |
|
($start?', '.&mt('starting').' '.localtime($start):''). |
|
($end?', '.&mt('ending').' '.localtime($end):'').': <b>'. |
|
&Apache::lonnet::assignrole( |
|
$ENV{'form.ccdomain'},$ENV{'form.ccuname'}, |
|
$url,$three,$end,$start). |
|
'</b><br>'); |
|
|
|
# Handle students differently |
|
if (($three eq 'st') && defined($one) && defined($two)) { |
|
$url=~/^\/(\w+)\/(\w+)/; |
|
my $cid=$one.'_'.$two; |
|
$output .= (&mt('Add to classlist').': <b>'. |
|
&Apache::lonnet::critical( |
|
'put:'.$ENV{'course.'.$cid.'.domain'}.':'. |
|
$ENV{'course.'.$cid.'.num'}.':classlist:'. |
|
&Apache::lonnet::escape( |
|
$ENV{'form.ccuname'}.':'. |
|
$ENV{'form.ccdomain'} ).'='. |
|
&Apache::lonnet::escape($end.':'.$start), |
|
$ENV{'course.'.$cid.'.home'}) |
|
.'</b><br>'); |
|
} |
|
return $output; |
|
} |
|
|
|
|
|
sub build_roles { |
|
my ($sectionstr,$sections) = @_; |
|
my $num_sections = 0; |
|
if ($sectionstr=~ /,/) { |
|
my @secnums = split/,/,$sectionstr; |
|
foreach my $sec (@secnums) { |
|
$sec =~ ~s/\W//g; |
|
unless ($sec eq "") { |
|
if (exists($$sections{$sec})) { |
|
$$sections{$sec} ++; |
|
} else { |
|
$$sections{$sec} = 1; |
|
$num_sections ++; |
|
} |
|
} |
|
} |
|
} else { |
|
$sectionstr=~s/\W//g; |
|
unless ($sectionstr eq '') { |
|
$$sections{$sectionstr} = 1; |
|
$num_sections ++; |
|
} |
|
} |
|
|
|
return $num_sections; |
|
} |
|
|
# ========================================================== Custom Role Editor |
# ========================================================== Custom Role Editor |
|
|
sub custom_role_editor { |
sub custom_role_editor { |
Line 1269 sub course_level_table {
|
Line 1458 sub course_level_table {
|
my $bgcol=$thiscourse; |
my $bgcol=$thiscourse; |
$bgcol=~s/[^7-9a-e]//g; |
$bgcol=~s/[^7-9a-e]//g; |
$bgcol=substr($bgcol.$bgcol.$bgcol.'ffffff',2,6); |
$bgcol=substr($bgcol.$bgcol.$bgcol.'ffffff',2,6); |
|
my ($domain)=split(/\//,$thiscourse); |
foreach ('st','ta','ep','ad','in','cc') { |
foreach ('st','ta','ep','ad','in','cc') { |
if (&Apache::lonnet::allowed('c'.$_,$thiscourse)) { |
if (&Apache::lonnet::allowed('c'.$_,$thiscourse)) { |
my $plrole=&Apache::lonnet::plaintext($_); |
my $plrole=&Apache::lonnet::plaintext($_); |
Line 1276 sub course_level_table {
|
Line 1466 sub course_level_table {
|
<tr bgcolor="#$bgcol"> |
<tr bgcolor="#$bgcol"> |
<td><input type="checkbox" name="act_$protectedcourse\_$_"></td> |
<td><input type="checkbox" name="act_$protectedcourse\_$_"></td> |
<td>$plrole</td> |
<td>$plrole</td> |
<td>$area</td> |
<td>$area<br />Domain: $domain</td> |
ENDEXTENT |
ENDEXTENT |
if ($_ ne 'cc') { |
if ($_ ne 'cc') { |
$table .= <<ENDSECTION; |
$table .= <<ENDSECTION; |
Line 1347 $table
|
Line 1537 $table
|
ENDTABLE |
ENDTABLE |
return $result; |
return $result; |
} |
} |
|
|
|
sub course_level_dc { |
|
my ($dcdom) = @_; |
|
my %customroles=&my_custom_roles(); |
|
my $hiddenitems = '<input type="hidden" name="dcdomain" value="'.$dcdom.'" />'. |
|
'<input type="hidden" name="origdom" value="'.$dcdom.'" />'. |
|
'<input type="hidden" name="dccourse" value="" />'; |
|
my $courseform='<b>'.&Apache::loncommon::selectcourse_link |
|
('cu','dccourse','dcdomain','coursedesc').'</b>'; |
|
|
|
my $cb_jscript = &Apache::loncommon::coursebrowser_javascript($dcdom,$dcdom); |
|
my %lt=&Apache::lonlocal::texthash( |
|
'crl' => "Course Level", |
|
'crt' => "Course Title", |
|
'rol' => "Role", |
|
'grs' => "Group/Section", |
|
'exs' => "Existing sections", |
|
'new' => "Define new section", |
|
'sta' => "Start", |
|
'end' => "End", |
|
'ssd' => "Set Start Date", |
|
'sed' => "Set End Date" |
|
); |
|
my $header = '<h4>'.$lt{'crl'}.'</h4>'. |
|
'<table border="2"><tr><th>'.$courseform.'</th><th>'.$lt{'rol'}.'</th><th>'.$lt{'grs'}.'</th><th>'.$lt{'sta'}.'</th><th>'.$lt{'end'}.'</th></tr>'; |
|
my $otheritems = '<tr><td><input type="text" name="coursedesc" value="" onFocus="this.blur();opencrsbrowser('."'".'cu'."'".','."'".'dccourse'."'".','."'".'dcdomain'."'".','."'".'coursedesc'."'".')" /></td>'. |
|
'<td><select name="role">'."\n"; |
|
foreach ('st','ta','ep','ad','in','cc') { |
|
my $plrole=&Apache::lonnet::plaintext($_); |
|
$otheritems .= ' <option value="'.$_.'">'.$plrole; |
|
} |
|
if ( keys %customroles > 0) { |
|
foreach (sort keys %customroles) { |
|
my $custrole='cr_cr_'.$ENV{'user.domain'}. |
|
'_'.$ENV{'user.name'}.'_'.$_; |
|
$otheritems .= ' <option value="'.$custrole.'">'.$_; |
|
} |
|
} |
|
$otheritems .= '</select></td><td>'. |
|
'<table border="0" cellspacing="0" cellpadding="0">'. |
|
'<tr><td valign="top"><b>'.$lt{'exs'}.'</b><br /><select name="currsec">'. |
|
' <option value=""><--'.&mt('Pick course first').'</select></td>'. |
|
'<td> </td>'. |
|
'<td valign="top"> <b>'.$lt{'new'}.'</b><br />'. |
|
'<input type="text" name="newsec" value="" /></td>'. |
|
'</tr></table></td>'; |
|
$otheritems .= <<ENDTIMEENTRY; |
|
<td><input type=hidden name="start" value=''> |
|
<a href= |
|
"javascript:pjump('date_start','Start Date',document.cu.start.value,'start','cu.pres','dateset')">$lt{'ssd'}</a></td> |
|
<td><input type=hidden name="end" value=''> |
|
<a href= |
|
"javascript:pjump('date_end','End Date',document.cu.end.value,'end','cu.pres','dateset')">$lt{'sed'}</a></td> |
|
ENDTIMEENTRY |
|
$otheritems .= "</tr></table>\n"; |
|
return $cb_jscript.$header.$hiddenitems.$otheritems; |
|
} |
|
|
#---------------------------------------------- end functions for &phase_two |
#---------------------------------------------- end functions for &phase_two |
|
|
#--------------------------------- functions for &phase_two and &phase_three |
#--------------------------------- functions for &phase_two and &phase_three |