version 1.1, 2006/05/11 21:10:21
|
version 1.6, 2006/05/17 15:22:32
|
Line 71 sub get_people_in_class {
|
Line 71 sub get_people_in_class {
|
# Enumerate the course_personnel. |
# Enumerate the course_personnel. |
# |
# |
my @course_personnel; |
my @course_personnel; |
for (sort keys %coursepersonnel) { |
for my $role (sort(keys(%coursepersonnel))) { |
for my $role (split /,/, $coursepersonnel{$_}) { |
# extract the names so we can sort them |
# extract the names so we can sort them |
my @people; |
my @people; |
for my $person (split(/,/, $coursepersonnel{$role})) { |
|
my ($uname,$domain) = split(/:/, $person); |
for (split /,/, $role) { |
push(@people, [&Apache::loncommon::plainname($uname,$domain), |
push @people, [split /:/, $role]; |
$uname,$domain]); |
} |
} |
|
@people = sort { $a->[0] cmp $b->[0] } (@people); |
@people = sort { $a->[0] cmp $b->[0] } @people; |
|
|
|
for my $person (@people) { |
for my $person (@people) { |
push @course_personnel, [join(':', @$person), $person->[0], '', $_]; |
push(@course_personnel, [join(':', $person->[1],$person->[2]), |
} |
$person->[0], '', '', $role]); |
} |
} |
} |
} |
# Students must be split into the three categories: |
# Students must be split into the three categories: |
Line 102 sub get_people_in_class {
|
Line 101 sub get_people_in_class {
|
|
|
|
|
my $classlist = &Apache::loncoursedata::get_classlist(); |
my $classlist = &Apache::loncoursedata::get_classlist(); |
my @keys = keys %{$classlist}; |
my @keys = keys(%{$classlist}); |
# Sort by: Section, name |
# Sort by: Section, name |
@keys = sort { |
@keys = sort { |
if ($classlist->{$a}->[$section] ne $classlist->{$b}->[$section]) { |
if ($classlist->{$a}->[$section] ne $classlist->{$b}->[$section]) { |
return $classlist->{$a}->[$section] cmp $classlist->{$b}->[$section]; |
return $classlist->{$a}->[$section] cmp $classlist->{$b}->[$section]; |
} |
} |
return $classlist->{$a}->[$fullname] cmp $classlist->{$b}->[$fullname]; |
return $classlist->{$a}->[$fullname] cmp $classlist->{$b}->[$fullname]; |
} @keys; |
} (@keys); |
|
|
|
|
|
|
|
|
for (@keys) { |
for my $user (@keys) { |
|
|
if ( $classlist->{$_}->[$status] eq |
if ( $classlist->{$user}->[$status] eq |
'Active') { |
'Active') { |
push @current_members, [$_, $classlist->{$_}->[$fullname], |
push(@current_members, [$user, $classlist->{$user}->[$fullname], |
$classlist->{$_}->[$section], |
$classlist->{$user}->[$section], |
$classlist->{$_}->[$status], 'Student']; |
$classlist->{$user}->[$status], 'Student']); |
} else { |
} else { |
# Need to figure out if this user is future or |
# Need to figure out if this user is future or |
# Expired... If the start date is in the future |
# Expired... If the start date is in the future |
# the user is future...else expired. |
# the user is future...else expired. |
|
|
my $now = time; |
my $now = time; |
if ($classlist->{$_}->[$start_date] > $now) { |
if ($classlist->{$user}->[$start_date] > $now) { |
push @future_members, [$_, $classlist->{$_}->[$fullname], |
push(@future_members, [$user, $classlist->{$user}->[$fullname], |
$classlist->{$_}->[$section], |
$classlist->{$user}->[$section], |
"Future", "Student"]; |
"Future", "Student"]); |
} else { |
} else { |
push @expired_members, [$_, $classlist->{$_}->[$fullname], |
push(@expired_members, [$user, |
$classlist->{$_}->[$section], |
$classlist->{$user}->[$fullname], |
"Expired", "Student"]; |
$classlist->{$user}->[$section], |
|
"Expired", "Student"]); |
} |
} |
|
|
} |
} |
Line 155 sub get_people_in_class {
|
Line 155 sub get_people_in_class {
|
# Parameters: |
# Parameters: |
# $students - Students in the section. (ref to array of references |
# $students - Students in the section. (ref to array of references |
# to arrays). |
# to arrays). |
|
# $formname - Name of the form in which this stuff gets rendered. |
# $formprefix - form path prefix for form element names |
# $formprefix - form path prefix for form element names |
# This is used to make each form element |
# This is used to make each form element |
# so that the segments having to do with each |
# so that the segments having to do with each |
Line 171 sub get_people_in_class {
|
Line 172 sub get_people_in_class {
|
# HTML text to add to the rendering of the helper. |
# HTML text to add to the rendering of the helper. |
# |
# |
sub render_student_list { |
sub render_student_list { |
my ($students, $formprefix, $defaultusers, |
my ($students, $formname, $formprefix, $defaultusers, |
$multiselect, $resultname, $javascript) = @_; |
$multiselect, $resultname, $javascript) = @_; |
|
|
my $result = ""; |
my $result = ""; |
Line 184 sub render_student_list {
|
Line 185 sub render_student_list {
|
function findElement(name) { |
function findElement(name) { |
var i; |
var i; |
var ele; |
var ele; |
for(i =0; i < document.forms.helpform.elements.length; i++) { |
for(i =0; i < document.forms.$formname.elements.length; i++) { |
ele = document.forms.helpform.elements[i]; |
ele = document.forms.$formname.elements[i]; |
if(ele.name == name) { |
if(ele.name == name) { |
return ele; |
return ele; |
} |
} |
Line 219 sub render_student_list {
|
Line 220 sub render_student_list {
|
function setAllStudents(value, which) { |
function setAllStudents(value, which) { |
var i; |
var i; |
var ele; |
var ele; |
for (i =0; i < document.forms.helpform.elements.length; i++) { |
for (i =0; i < document.forms.$formname.elements.length; i++) { |
ele = document.forms.helpform.elements[i]; |
ele = document.forms.$formname.elements[i]; |
if(isStudent(ele) && rightSubForm(ele, which)) { |
if(isStudent(ele) && rightSubForm(ele, which)) { |
ele.checked=value; |
ele.checked=value; |
} |
} |
Line 229 sub render_student_list {
|
Line 230 sub render_student_list {
|
function setAllCoursePersonnel(value, which) { |
function setAllCoursePersonnel(value, which) { |
var i; |
var i; |
var ele; |
var ele; |
for (i =0; i < document.forms.helpform.elements.length; i++) { |
for (i =0; i < document.forms.$formname.elements.length; i++) { |
ele = document.forms.helpform.elements[i]; |
ele = document.forms.$formname.elements[i]; |
if(!isStudent(ele) && rightSubForm(ele, which)) { |
if(!isStudent(ele) && rightSubForm(ele, which)) { |
ele.checked = value; |
ele.checked = value; |
} |
} |
Line 239 sub render_student_list {
|
Line 240 sub render_student_list {
|
function setSection(which, value, subform) { |
function setSection(which, value, subform) { |
var i; |
var i; |
var ele; |
var ele; |
for (i =0; i < document.forms.helpform.elements.length; i++) { |
for (i =0; i < document.forms.$formname.elements.length; i++) { |
ele = document.forms.helpform.elements[i]; |
ele = document.forms.$formname.elements[i]; |
if (ele.value.indexOf(':') != -1) { |
if (ele.value.indexOf(':') != -1) { |
if ((section(ele) == which) && rightSubForm(ele, subform)) { |
if ((section(ele) == which) && rightSubForm(ele, subform)) { |
ele.checked = value; |
ele.checked = value; |
Line 329 SCRIPT
|
Line 330 SCRIPT
|
# True -> checkboxes. |
# True -> checkboxes. |
# False -> radiobuttons. |
# False -> radiobuttons. |
|
|
$result .= "<table border=\"2\">\n"; |
$result .= &Apache::loncommon::start_data_table(); |
$result .= '<tr><th></th><th align="center">Name</th>'."\n"; |
$result .= &Apache::loncommon::start_data_table_header_row(); |
$result .= ' <th align="center">Section</th>'."\n"; |
$result .= '<th></th><th>Name</th>'."\n"; |
$result .= ' <th align="center">Status</th>'."\n"; |
$result .= ' <th>Section</th>'."\n"; |
$result .= ' <th align="center">Role</th>'."\n"; |
$result .= ' <th>Status</th>'."\n"; |
$result .= ' <th align="center">Username : Domain</th></tr>'."\n"; |
$result .= ' <th>Role</th>'."\n"; |
|
$result .= ' <th>Username : Domain</th>'."\n"; |
|
$result .= &Apache::loncommon::end_data_table_header_row(); |
|
|
my $input_type; |
my $input_type; |
if ($multiselect) { |
if ($multiselect) { |
Line 345 SCRIPT
|
Line 348 SCRIPT
|
|
|
my $checked = 0; |
my $checked = 0; |
for my $student (@$students) { |
for my $student (@$students) { |
$result .= '<tr><td><input type="'.$input_type.'" name="'. |
$result .= &Apache::loncommon::start_data_table_row(). |
|
'<td><input type="'.$input_type.'" name="'. |
$resultname.".forminput".'"'; |
$resultname.".forminput".'"'; |
my $user = $student->[0]; |
my $user = $student->[0]; |
|
|
# Figure out which students are checked by default... |
# Figure out which students are checked by default... |
|
|
if(%$defaultusers) { |
if (%$defaultusers) { |
if (exists ($defaultusers->{$user})) { |
if (exists ($defaultusers->{$user})) { |
$result .= ' checked ="checked" '; |
$result .= ' checked ="checked" '; |
$checked = 1; |
$checked = 1; |
Line 360 SCRIPT
|
Line 364 SCRIPT
|
$result .= ' checked="checked" '; |
$result .= ' checked="checked" '; |
$checked = 1; # First one for radio if no default specified. |
$checked = 1; # First one for radio if no default specified. |
} |
} |
$result .= ' value="'. HTML::Entities::encode($user . ':' |
$result .= ' value="'.&HTML::Entities::encode($user . ':' |
.$student->[2] . ':' |
.$student->[2] . ':' |
.$student->[1] . ':' |
.$student->[1] . ':' |
.$student->[3] . ':' |
.$student->[3] . ':' |
.$student->[4] . ":" |
.$student->[4] . ":" |
.$formprefix, "<>&\"'") |
.$formprefix, "<>&\"'") |
."\" /></td><td>\n"; |
."\" /></td><td>\n"; |
$result .= HTML::Entities::encode($student->[1], '<>&"') |
$result .= &HTML::Entities::encode($student->[1], '<>&"') |
. '</td><td align="center" >'."\n"; |
. '</td><td align="center" >'."\n"; |
$result .= HTML::Entities::encode($student->[2], '<>&"') |
$result .= &HTML::Entities::encode($student->[2], '<>&"') |
. '</td><td align="center">'."\n"; |
. '</td><td align="center">'."\n"; |
$result .= HTML::Entities::encode($student->[3], '<>&"') |
$result .= &HTML::Entities::encode($student->[3], '<>&"') |
. '</td><td align="center">'."\n"; |
. '</td><td align="center">'."\n"; |
$result .= HTML::Entities::encode($student->[4], '<>&"') |
$result .= &HTML::Entities::encode($student->[4], '<>&"') |
. '</td><td align="center">'."\n"; |
. '</td><td align="center">'."\n"; |
$result .= HTML::Entities::encode($student->[0], '<>&"') |
$result .= &HTML::Entities::encode($student->[0], '<>&"') |
. '</td></tr>'."\n"; |
. '</td>'.&Apache::loncommon::end_data_table_row(). |
|
"\n"; |
} |
} |
$result .=" </table> <br /> <hr />\n"; |
$result .= &Apache::loncommon::end_data_table(). |
|
" <br /> <hr />\n"; |
|
|
return $result; |
return $result; |
} |
} |