version 1.48, 2006/05/30 20:12:15
|
version 1.51, 2006/07/03 04:00:34
|
Line 100 sub handler {
|
Line 100 sub handler {
|
['-1','86400','604800','2592000','7776000', |
['-1','86400','604800','2592000','7776000', |
'15552000','31104000'])); |
'15552000','31104000'])); |
# if called from loncreateuser, report sections, then close |
# if called from loncreateuser, report sections, then close |
my (%loaditem,$seclist,$groupslist); |
my (%loaditem,$seclist,$groupslist,$roleslist,$rolesnameslist, |
|
$accesslist,$accessnameslist); |
|
my $sec_element = 'currsec'; |
|
my $grplist_element = 'groups'; |
my $num_sections = 0; |
my $num_sections = 0; |
if ($env{'form.form'} eq 'cu' && $env{'form.pickedcourse'}) { |
my $num_groups = 0; |
$loaditem{'onload'} ="setSections()"; |
my $num_roles = 0; |
my ($cdom,$cnum) = split/_/,$env{'form.pickedcourse'}; |
my $num_access = 0; |
|
my ($cdom,$cnum); |
my %sections_count = &Apache::loncommon::get_sections($cdom,$cnum); |
if ($env{'form.pickedcourse'}) { |
my @sections = (sort {$a <=> $b} keys(%sections_count)); |
($cdom,$cnum) = split/_/,$env{'form.pickedcourse'}; |
$seclist = join('","',@sections); |
|
$num_sections = scalar(@sections); |
|
my %curr_groups = &Apache::longroup::coursegroups($cdom,$cnum); |
|
$groupslist = join(',',sort(keys(%curr_groups))); |
|
} |
} |
my $jscript; |
|
my $type = $env{'form.type'}; |
my $type = $env{'form.type'}; |
if (!defined($env{'form.type'})) { |
if (!defined($env{'form.type'})) { |
$type = 'Course'; |
$type = 'Course'; |
} |
} |
my $typeselectform = '<select name="type" size="1"'; |
if ($env{'form.form'} eq 'cu' && $env{'form.pickedcourse'}) { |
if (!$type) { |
$loaditem{'onload'} ="setSections()"; |
$typeselectform .= ' selected="selected"'; |
($seclist,$num_sections,$groupslist,$num_groups) = |
|
&build_selection_lists($cdom,$cnum,$type,undef,undef, |
|
$env{'form.form'}); |
|
} |
|
# if called from portfolio, report roles, sections, groups and close |
|
my ($roles_element,$groups_element,$status_element,$setitems_function); |
|
if ($env{'form.form'} eq 'portform' && $env{'form.pickedcourse'}) { |
|
my ($row_id) = ($env{'form.cnumelement'} =~ /^crsnum_(\d+)$/); |
|
$roles_element = 'role_'.$row_id.'_1'; |
|
$groups_element = 'group_'.$row_id.'_1'; |
|
$sec_element = 'section_'.$row_id.'_1'; |
|
$status_element = 'access_'.$row_id.'_1'; |
|
$grplist_element = 'grplist_'.$row_id.'_1'; |
|
$loaditem{'onload'} ="setItems()"; |
|
($seclist,$num_sections,$groupslist,$num_groups,$roleslist,$num_roles, |
|
$rolesnameslist,$accesslist,$num_access,$accessnameslist) = |
|
&build_selection_lists($cdom,$cnum,$type,1,1,$env{'form.form'}); |
|
$setitems_function = qq| |
|
function setItems() { |
|
opener.document.$env{"form.form"}.activate.checked = true; |
|
setRoles(); |
|
setGroups(); |
|
setStatus(); |
|
setSections(); |
|
} |
|
|
|
function setRoles() { |
|
var numRoles = $num_roles |
|
var rolesArray = new Array("$roleslist"); |
|
var roleNamesArray = new Array("$rolesnameslist"); |
|
opener.document.$env{"form.form"}.$roles_element.length = 0; |
|
if (numRoles == 0) { |
|
opener.document.$env{"form.form"}.$roles_element.multiple=false; |
|
opener.document.$env{"form.form"}.$roles_element.size=1; |
|
opener.document.$env{"form.form"}.$roles_element.options[0] = new Option('No existing roles','',false,false); |
|
} else { |
|
if (numRoles == 1) { |
|
opener.document.$env{"form.form"}.$roles_element.multiple=false; |
|
opener.document.$env{"form.form"}.$roles_element.size=1; |
|
opener.document.$env{"form.form"}.$roles_element.options[0] = new Option('Select','',true,true); |
|
opener.document.$env{"form.form"}.$roles_element.options[1] = new Option(roleNamesArray[0],rolesArray[0],false,false); |
|
} else { |
|
for (var i=0; i<numRoles; i++) { |
|
opener.document.$env{"form.form"}.$roles_element.options[i] = new Option(roleNamesArray[i],rolesArray[i],false,false); |
|
} |
|
opener.document.$env{"form.form"}.$roles_element.multiple=true; |
|
if (numRoles < 3) { |
|
opener.document.$env{"form.form"}.$roles_element.size=numRoles; |
|
} else { |
|
opener.document.$env{"form.form"}.$roles_element.size=3; |
|
} |
|
opener.document.$env{"form.form"}.$roles_element.options[0].selected = false; |
|
} |
|
} |
|
} |
|
|
|
function setStatus() { |
|
var numStatus = $num_access; |
|
var statusArray = new Array("$accesslist"); |
|
var statusNamesArray = new Array("$accessnameslist"); |
|
opener.document.$env{"form.form"}.$status_element.multiple=true; |
|
opener.document.$env{"form.form"}.$status_element.size=3; |
|
for (var i=0; i<numStatus; i++) { |
|
opener.document.$env{"form.form"}.$status_element.options[i] = new Option(statusNamesArray[i],statusArray[i],false,false); |
|
} |
|
} |
|
|
|
function setGroups() { |
|
var numGroups = $num_groups; |
|
var groupsArray = new Array("$groupslist"); |
|
opener.document.$env{"form.form"}.$groups_element.length = 0; |
|
if (numGroups == 0) { |
|
opener.document.$env{"form.form"}.$groups_element.multiple=false; |
|
opener.document.$env{"form.form"}.$groups_element.size=1; |
|
opener.document.$env{"form.form"}.$groups_element.options[0] = new Option('No existing groups','',false,false); |
|
} else { |
|
if (numGroups == 1) { |
|
opener.document.$env{"form.form"}.$groups_element.multiple=false; |
|
opener.document.$env{"form.form"}.$groups_element.size=1; |
|
opener.document.$env{"form.form"}.$groups_element.options[0] = new Option('Select','',true,true); |
|
opener.document.$env{"form.form"}.$groups_element.options[1] = new Option('No group','',false,false); |
|
opener.document.$env{"form.form"}.$groups_element.options[2] = new Option(groupsArray[0],groupsArray[0],false,false); |
|
} else { |
|
for (var i=0; i<numGroups; i++) { |
|
opener.document.$env{"form.form"}.$groups_element.options[i] = new Option(groupsArray[i],groupsArray[i],false,false); |
|
} |
|
opener.document.$env{"form.form"}.$groups_element.multiple=true; |
|
if (numGroups < 3) { |
|
opener.document.$env{"form.form"}.$groups_element.size=numGroups; |
|
} else { |
|
opener.document.$env{"form.form"}.$groups_element.size=3; |
|
} |
|
opener.document.$env{"form.form"}.$groups_element.options[0].selected = false; |
|
} |
|
} |
|
} |
|
|
|
|; |
} |
} |
|
my $jscript; |
|
my $typeselectform = '<select name="type" size="1"'; |
$typeselectform .= ">\n"; |
$typeselectform .= ">\n"; |
foreach my $posstype ('Course','Group') { |
foreach my $posstype ('Course','Group') { |
$typeselectform.='<option value="'.$posstype.'" "'. |
$typeselectform.='<option value="'.$posstype.'" "'. |
Line 163 sub handler {
|
Line 260 sub handler {
|
$lastaction = 'document.courselist.pickedcourse.value = cdom+"_"+cname;'."\n". |
$lastaction = 'document.courselist.pickedcourse.value = cdom+"_"+cname;'."\n". |
'document.courselist.submit();'; |
'document.courselist.submit();'; |
} |
} |
|
if ($env{'form.form'} eq 'portform') { |
|
$lastaction = 'document.courselist.pickedcourse.value = cdom+"_"+cname;'."\n". |
|
'document.courselist.submit();'; |
|
} |
my $roledom = $env{'form.roleelement'}; |
my $roledom = $env{'form.roleelement'}; |
if ($roledom) { |
if ($roledom) { |
$roleelement = '<input type="hidden" name="roleelement" value="'.$roledom.'" />'; |
$roleelement = '<input type="hidden" name="roleelement" value="'.$roledom.'" />'; |
Line 171 sub handler {
|
Line 272 sub handler {
|
} |
} |
my $instcodeform; |
my $instcodeform; |
if ($type eq 'Course') { |
if ($type eq 'Course') { |
$instcodeform = $lt{'cin'}.':<input type="text" name="instcodefilter" |
$instcodeform = $lt{'cin'}.': <input type="text" name="instcodefilter" |
size="10" value="'.$listinstcode.'" /><br />'; |
size="10" value="'.$listinstcode.'" /><br />'; |
} |
} |
|
|
Line 251 function gochoose(cname,cdom,cdesc,multi
|
Line 352 function gochoose(cname,cdom,cdesc,multi
|
function setSections() { |
function setSections() { |
var numSections = $num_sections |
var numSections = $num_sections |
var sectionsArray = new Array("$seclist") |
var sectionsArray = new Array("$seclist") |
opener.document.$env{"form.form"}.currsec.length = 0 |
opener.document.$env{"form.form"}.$sec_element.length = 0 |
if (numSections == 0) { |
if (numSections == 0) { |
opener.document.$env{"form.form"}.currsec.multiple=false |
opener.document.$env{"form.form"}.$sec_element.multiple=false |
opener.document.$env{"form.form"}.currsec.size=1; |
opener.document.$env{"form.form"}.$sec_element.size=1; |
opener.document.$env{"form.form"}.currsec.options[0] = new Option('No existing sections','',false,false) |
opener.document.$env{"form.form"}.$sec_element.options[0] = new Option('No existing sections','',false,false) |
} else { |
} else { |
if (numSections == 1) { |
if (numSections == 1) { |
opener.document.$env{"form.form"}.currsec.multiple=false; |
opener.document.$env{"form.form"}.$sec_element.multiple=false; |
opener.document.$env{"form.form"}.currsec.size=1; |
opener.document.$env{"form.form"}.$sec_element.size=1; |
opener.document.$env{"form.form"}.currsec.options[0] = new Option('Select','',true,true); |
opener.document.$env{"form.form"}.$sec_element.options[0] = new Option('Select','',true,true); |
opener.document.$env{"form.form"}.currsec.options[1] = new Option('No section','',false,false) |
opener.document.$env{"form.form"}.$sec_element.options[1] = new Option('No section','',false,false) |
opener.document.$env{"form.form"}.currsec.options[2] = new Option(sectionsArray[0],sectionsArray[0],false,false); |
opener.document.$env{"form.form"}.$sec_element.options[2] = new Option(sectionsArray[0],sectionsArray[0],false,false); |
} else { |
} else { |
for (var i=0; i<numSections; i++) { |
for (var i=0; i<numSections; i++) { |
opener.document.$env{"form.form"}.currsec.options[i] = new Option(sectionsArray[i],sectionsArray[i],false,false) |
opener.document.$env{"form.form"}.$sec_element.options[i] = new Option(sectionsArray[i],sectionsArray[i],false,false) |
} |
} |
opener.document.$env{"form.form"}.currsec.multiple=true |
opener.document.$env{"form.form"}.$sec_element.multiple=true |
if (numSections < 3) { |
if (numSections < 3) { |
opener.document.$env{"form.form"}.currsec.size=numSections; |
opener.document.$env{"form.form"}.$sec_element.size=numSections; |
} else { |
} else { |
opener.document.$env{"form.form"}.currsec.size=3; |
opener.document.$env{"form.form"}.$sec_element.size=3; |
} |
} |
opener.document.$env{"form.form"}.currsec.options[0].selected = false |
opener.document.$env{"form.form"}.$sec_element.options[0].selected = false |
} |
} |
} |
} |
opener.document.$env{"form.form"}.groups.value='$groupslist'; |
opener.document.$env{"form.form"}.$grplist_element.value='$groupslist'; |
self.close() |
self.close() |
} |
} |
|
|
|
$setitems_function |
|
|
$jscript |
$jscript |
</script> |
</script> |
$submitopener |
$submitopener |
Line 392 sub course_chooser {
|
Line 495 sub course_chooser {
|
"'".$cnum."','".$cdom."','".$cleandesc."')".'" />'."\n"; |
"'".$cnum."','".$cdom."','".$cleandesc."')".'" />'."\n"; |
} |
} |
return $output; |
return $output; |
} |
} |
|
|
|
sub build_selection_lists { |
|
my ($cdom,$cnum,$type,$needroles,$needaccess,$caller) = @_; |
|
my ($sections,$groups,$allroles,$roleshash,$accesshash) = |
|
&Apache::loncommon::get_secgrprole_info($cdom,$cnum,$needroles,$type); |
|
if ($caller eq 'portform') { |
|
if (@{$sections} == 0) { |
|
@{$sections} = ('none'); |
|
} else { |
|
unshift(@{$sections},('all','none')); |
|
} |
|
if (@{$groups} == 0) { |
|
@{$groups} = ('none'); |
|
} else { |
|
unshift(@{$groups},('all','none')); |
|
} |
|
|
|
} |
|
my $num_sections = scalar(@{$sections}); |
|
my $seclist = join('","',@{$sections}); |
|
my $num_groups = scalar(@{$groups}); |
|
my $groupslist = join('","',@{$groups}); |
|
my ($roleslist,$num_roles,$rolesnameslist,$num_access,$accesslist, |
|
$accessnameslist); |
|
if ($needroles) { |
|
$num_roles = @{$allroles}; |
|
$roleslist = join('","',@{$allroles}); |
|
my @allrolesnames; |
|
foreach my $role (@{$allroles}) { |
|
push(@allrolesnames,$$roleshash{$role}); |
|
} |
|
$rolesnameslist = join('","',@allrolesnames); |
|
} |
|
if ($needaccess) { |
|
$num_access = keys(%{$accesshash}); |
|
my (@allaccess,@allaccessnames); |
|
foreach my $key (sort(keys(%{$accesshash}))) { |
|
push(@allaccess,$key); |
|
push(@allaccessnames,$$accesshash{$key}); |
|
} |
|
$accesslist = join('","',@allaccess); |
|
$accessnameslist = join('","',@allaccessnames); |
|
} |
|
return ($seclist,$num_sections,$groupslist,$num_groups,$roleslist, |
|
$num_roles,$rolesnameslist,$accesslist,$num_access,$accessnameslist); |
|
} |
|
|
1; |
1; |
__END__ |
__END__ |