');
+ if ($crstype eq 'Community') {
+ $r->print(&mt('You do not have rights to modify member-viewable community roster settings.'));
+ } else {
+ $r->print(&mt('You do not have rights to modify student-viewable course roster settings.'));
+ }
+ $r->print('
');
+ }
} else {
- $r->print('
'.
- &mt("Display of a student-viewable course roster is not currently enabled.").
- '
');
+ if ($crstype eq 'Community') {
+ $r->print(&mt("Display of a member-viewable community roster is not currently enabled."));
+ } else {
+ $r->print(&mt("Display of a student-viewable course roster is not currently enabled."));
+ }
+ $r->print('
');
+ }
}
#
# Finish up
@@ -123,33 +218,80 @@ sub retrieve_view_settings {
return %viewsettings;
}
+sub roster_prefs {
+ my ($crstype) = @_;
+ my %lt;
+ if ($crstype eq 'Community') {
+ %lt = &Apache::lonlocal::texthash (
+ svrs => 'Member-viewable roster settings',
+ stuv => 'Member-viewable membership list options',
+ stul => 'Member agreement needed to be listed',
+ );
+ } else {
+ %lt = &Apache::lonlocal::texthash(
+ svrs => 'Student-viewable roster settings',
+ stuv => 'Student-viewable classlist options',
+ stul => 'Student agreement needed to be listed',
+ );
+ }
+ $lt{'incl'} = &mt('Include link to accessible portfolio files');
+
+ return
+ { text => $lt{'svrs'},
+ header => [ {col1 => 'Setting',
+ col2 => $lt{'stuv'}}],
+ ordered => ['student_classlist_view',
+ 'student_classlist_opt_in',
+ 'student_classlist_portfiles'],
+ itemtext => {
+ student_classlist_view => $lt{'stuv'},
+ student_classlist_opt_in => $lt{'stul'},
+ student_classlist_portfiles => $lt{'incl'},
+ },
+ };
+}
+
sub html_classlist {
- my ($r,$viewsettings) = @_;
+ my ($r,$crstype,$viewsettings) = @_;
my ($Str,$title,$secdisplay,$cid,$cdom,$cnum,$listtype,%publicroster);
my $fullroster = &Apache::loncoursedata::get_classlist();
my $classlist;
+ my $singular = 'student';
+ my $plural = 'students';
+ my $titleplural = 'Students';
+ my $heading = &mt('Student-viewable course roster');
+
+ if ($crstype eq 'Community') {
+ $singular = 'member';
+ $plural = 'members';
+ $titleplural = 'Members';
+ $heading = &mt('Member-viewable community roster');
+ }
+
if ($env{'form.action'} eq 'setenv') {
$Str .= &process_student_prefs();
}
- $Str .= '
'.&mt('Student-viewable course roster').'
';
+
+ $Str .= '
'.$heading.'
';
$cid = $env{'request.course.id'};
$cdom = $env{'course.'.$cid.'.domain'};
$cnum = $env{'course.'.$cid.'.num'};
+ my $title;
if ($viewsettings->{'limit_to_section'}) {
if ($env{'request.course.sec'} eq '') {
- $title = '
'.&mt('Students with no section').'
';
+ $title = &mt($titleplural.' with no section');
$listtype = 'without a section';
} else {
- $title ='
'.&mt('Students in section "[_1]"',
- $env{'request.course.sec'}).'
';
+ $title = &mt($titleplural.' in any section');
$listtype = 'in the course';
}
@@ -160,7 +302,7 @@ sub html_classlist {
%publicroster = &Apache::lonnet::dump('publicroster',$cdom,$cnum);
}
- $Str .= $title;
+ $Str .= '
'.$title.'
';
my $fullcount = 0;
my $publiccount = 0;
@@ -189,34 +331,34 @@ sub html_classlist {
$displaycount = $publiccount;
if ($fullcount > $publiccount) {
if ($publiccount) {
- $Str .= &mt('Only students who have opted to be listed in the roster ([_1] out of [_2] students) are shown.',$publiccount,$fullcount).' ';
+ $Str .= &mt('Only '.$plural.' who have opted to be listed in the roster ([_1] out of [_2] '.$plural.') are shown.',$publiccount,$fullcount).' ';
} else {
if ($fullcount == 1) {
- $Str .= &mt('The single student '.$listtype.'[_1] has opted not to be listed in the roster.',$secdisplay);
+ $Str .= &mt('The single '.$singular.' '.$listtype.'[_1] has opted not to be listed in the roster.',$secdisplay);
} else {
- $Str .= &mt('None of the [_1] students '.$listtype.'[_2] have opted to be listed in the roster.',$fullcount,$secdisplay);
+ $Str .= &mt('None of the [_1] '.$plural.' '.$listtype.'[_2] have opted to be listed in the roster.',$fullcount,$secdisplay);
}
return $Str;
}
} else {
if ($fullcount > 1) {
- $Str .= &mt('All [_1] students '.$listtype.'[_2] have opted to be listed in the roster.',$fullcount,$secdisplay);
+ $Str .= &mt('All [_1] '.$plural.' '.$listtype.'[_2] have opted to be listed in the roster.',$fullcount,$secdisplay);
} elsif ($fullcount == 1) {
- $Str .= &mt('The single student '.$listtype.'[_1] has opted to be listed in the roster.',$secdisplay);
+ $Str .= &mt('The single '.$singular.' '.$listtype.'[_1] has opted to be listed in the roster.',$secdisplay);
}
}
} else {
$displaycount = $fullcount;
if ($fullcount > 1) {
- $Str .= &mt('All [_1] students '.$listtype.'[_2] are listed in the roster.',$fullcount,$secdisplay);
+ $Str .= &mt('All [_1] '.$plural.' '.$listtype.'[_2] are listed in the roster.',$fullcount,$secdisplay);
} elsif ($fullcount == 1) {
- $Str .= &mt('There is only a single student '.$listtype.'[_1]',$secdisplay);
+ $Str .= &mt('There is only a single '.$singular.' '.$listtype.'[_1]',$secdisplay);
}
}
undef($fullroster);
if (!$displaycount) {
- $Str .= &mt('There are currently no students to display.');
+ $Str .= &mt('There are currently no '.$plural.' to display.');
return $Str;
}
@@ -233,7 +375,7 @@ sub html_classlist {
$Str .= ' '.&Apache::loncommon::start_data_table()."\n".
&Apache::loncommon::start_data_table_header_row()."\n".
'
'. # for the count
- '
'.&mt('Student').'
'.
+ '
'.&mt('Name').'
'.
'
'.&mt('Username').'
';
if (! $viewsettings->{'limit_to_section'}) {
$Str .= '
';
return $output;
}
@@ -340,16 +485,25 @@ sub process_student_prefs {
&Apache::lonnet::appenv(\%changeHash);
my $result = &Apache::lonnet::put('publicroster',{$student => $showinroster,},$cdom,$cnum);
if ($result eq 'ok') {
- $output .= &mt('Display of your name in the student-viewable roster set to [_1].',$visibility);
+ $output .=
+ &Apache::lonhtmlcommon::confirm_success(
+ &mt('Display of your name in the student-viewable roster set to [_1].',''.$visibility.''));
} else {
- $output .= ''.&mt('Error occurred saving display setting.').'';
+ $output .=
+ &Apache::lonhtmlcommon::confirm_success(
+ &mt('Error occurred saving display setting.'),1);
}
} else {
- $output .= ''.&mt('Error occurred saving display setting.').'';
+ $output .=
+ &Apache::lonhtmlcommon::confirm_success(
+ &mt('Error occurred saving display setting.'),1);
}
} else {
- $output .= &mt('Display of your name in the student-viewable roster unchanged (set to [_1]).',$visibility);
+ $output .=
+ &Apache::lonhtmlcommon::confirm_success(
+ &mt('Display of your name in the student-viewable roster unchanged (set to [_1]).',''.$visibility.''));
}
+ $output = &Apache::loncommon::confirmwrapper($output);
return $output;
}