"section",
'start' => "start date",
'end' => "end date",
+ 'groups' => "active groups",
);
if ($nosort) {
$r->print(&Apache::loncommon::start_data_table());
@@ -1937,6 +1982,7 @@ my %lt=&Apache::lonlocal::texthash('usrn
$lt{'sec'} |
$lt{'start'} |
$lt{'end'} |
+ $lt{'groups'} |
END
@@ -1958,6 +2004,8 @@ END
$lt{'start'}
$lt{'end'}
+ |
+ $lt{'groups'}
|
END
@@ -1969,6 +2017,7 @@ END
foreach (@$keylist) {
$index{$_} = $i++;
}
+ $index{'groups'} = scalar(@$keylist);
my $index = $index{$sortby};
my $second = $index{'username'};
my $third = $index{'domain'};
@@ -1989,6 +2038,11 @@ END
my $id = $sdata->[$index{'id'}];
my $start = $sdata->[$index{'start'}];
my $end = $sdata->[$index{'end'}];
+ my $groups = $classgroups->{$student};
+ my $active_groups;
+ if (ref($groups->{active}) eq 'HASH') {
+ $active_groups = join(', ',keys(%{$groups->{'active'}}));
+ }
if (! defined($start) || $start == 0) {
$start = &mt('none');
} else {
@@ -2012,6 +2066,7 @@ END
$section |
$start |
$end |
+ $active_groups |
END
$r->print(&Apache::loncommon::end_data_table_row());
}
@@ -2146,6 +2201,8 @@ sub upfile_drop_add {
my $count=0;
my $flushc=0;
my %student=();
+ # Get information about course groups
+ my %curr_groups = &Apache::longroup::coursegroups();
# Get new classlist
foreach (@studentdata) {
my %entries=&Apache::loncommon::record_sep($_);
@@ -2186,6 +2243,17 @@ sub upfile_drop_add {
}
# remove non alphanumeric values from section
$sec =~ s/\W//g;
+ if ($sec eq "none" || $sec eq 'all') {
+ $r->print('
'.
+ &mt('[_1]: Unable to enroll: section name "[_2]" for user [_3] [_4] [_5] [_6] is a reserved word.',
+ $username,$sec,$fname,$mname,$lname,$gen));
+ next;
+ } elsif (($sec ne '') && (exists($curr_groups{$sec}))) {
+ $r->print('
'.
+ &mt('[_1]: Unable to enroll: section name "[_2]" for user [_3] [_4] [_5] [_6] is a course group. Section names and group names must be distinct.',
+ $username,$sec,$fname,$mname,$lname,$gen));
+ next;
+ }
# determine student id number
my $id='';
if (defined($fields{'id'})) {
@@ -2301,6 +2369,33 @@ sub drop_student_list {
$r->print(''.&mt('Re-enrollment will re-activate data.')) if ($count);
}
+sub section_check_js {
+ my $groupslist;
+ my %curr_groups = &Apache::longroup::coursegroups();
+ if (%curr_groups) {
+ $groupslist = join('","',sort(keys(%curr_groups)));
+ }
+ return <<"END";
+function validate(caller) {
+ var groups = new Array("$groupslist");
+ var secname = caller.value;
+ if ((secname == 'all') || (secname == 'none')) {
+ alert("'"+secname+"' may not be used as the name for a section, as it is a reserved word.\\nPlease choose a different section name.");
+ return 'error';
+ }
+ if (secname != '') {
+ for (var k=0; kprint(&Apache::lonhtmlcommon::breadcrumbs
- (undef,'Enrollment Manager'));
+ $r->print(&Apache::lonhtmlcommon::breadcrumbs('Enrollment Manager'));
&print_main_menu($r,$enrl_permission,$view_permission,$grp_manage_permission,
$grp_view_permission);
} elsif ($env{'form.action'} eq 'upload' && $enrl_permission) {
&Apache::lonhtmlcommon::add_breadcrumb
({href=>'/adm/dropadd?action=upload&state=',
text=>"Upload Classlist"});
- $r->print(&Apache::lonhtmlcommon::breadcrumbs
- (undef,'Upload Classlist','Course_Create_Class_List'));
+ $r->print(&Apache::lonhtmlcommon::breadcrumbs('Upload Classlist',
+ 'Course_Create_Class_List'));
if (! exists($env{'form.state'})) {
&print_first_courselist_upload_form($r);
} elsif ($env{'form.state'} eq 'got_file') {
@@ -2415,8 +2509,8 @@ sub handler {
&Apache::lonhtmlcommon::add_breadcrumb
({href=>'/adm/dropadd?action=drop',
text=>"Drop Students"});
- $r->print(&Apache::lonhtmlcommon::breadcrumbs
- (undef,'Drop Students','Course_Drop_Student'));
+ $r->print(&Apache::lonhtmlcommon::breadcrumbs('Drop Students',
+ 'Course_Drop_Student'));
if (! exists($env{'form.state'})) {
&print_drop_menu($r);
} elsif ($env{'form.state'} eq 'done') {
@@ -2428,8 +2522,8 @@ sub handler {
&Apache::lonhtmlcommon::add_breadcrumb
({href=>'/adm/dropadd?action=enrollstudent',
text=>"Enroll Student"});
- $r->print(&Apache::lonhtmlcommon::breadcrumbs
- (undef,'Enroll Student','Course_Add_Student'));
+ $r->print(&Apache::lonhtmlcommon::breadcrumbs('Enroll Student',
+ 'Course_Add_Student'));
if (! exists($env{'form.state'})) {
&get_student_username_domain_form($r);
} elsif ($env{'form.state'} eq 'gotusername') {
@@ -2443,8 +2537,8 @@ sub handler {
&Apache::lonhtmlcommon::add_breadcrumb
({href=>'/adm/dropadd?action=classlist',
text=>"View Classlist"});
- $r->print(&Apache::lonhtmlcommon::breadcrumbs
- (undef,'View Classlist','Course_View_Class_List'));
+ $r->print(&Apache::lonhtmlcommon::breadcrumbs('View Classlist',
+ 'Course_View_Class_List'));
if (! exists($env{'form.state'})) {
&print_html_classlist($r,undef);
} elsif ($env{'form.state'} eq 'csv') {
@@ -2458,8 +2552,8 @@ sub handler {
&Apache::lonhtmlcommon::add_breadcrumb
({href=>'/adm/dropadd?action=modifystudent',
text=>"Modify Student Data"});
- $r->print(&Apache::lonhtmlcommon::breadcrumbs
- (undef,'Modify Student Data','Course_Modify_Student_Data'));
+ $r->print(&Apache::lonhtmlcommon::breadcrumbs('Modify Student Data',
+ 'Course_Modify_Student_Data'));
if (! exists($env{'form.state'})) {
&print_html_classlist($r);
} elsif ($env{'form.state'} eq 'selected') {
@@ -2474,8 +2568,7 @@ sub handler {
&Apache::lonnet::logthis("Undetermined state in londropadd.pm. ".
"form.action = ".$env{'form.action'}.
"Someone should fix this.");
- $r->print(&Apache::lonhtmlcommon::breadcrumbs
- (undef,'Enrollment Manager'));
+ $r->print(&Apache::lonhtmlcommon::breadcrumbs('Enrollment Manager'));
&print_main_menu($r,$enrl_permission,$view_permission);
}
#