--- loncom/interface/Attic/londropadd.pm 2004/07/19 17:58:10 1.116
+++ loncom/interface/Attic/londropadd.pm 2004/11/12 16:34:15 1.121
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to drop and add students in courses
#
-# $Id: londropadd.pm,v 1.116 2004/07/19 17:58:10 albertel Exp $
+# $Id: londropadd.pm,v 1.121 2004/11/12 16:34:15 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -136,52 +136,61 @@ sub domain_form {
###############################################################
# Menu Phase One
sub print_main_menu {
- my $r=shift;
- my %Text = &Apache::lonlocal::texthash
- ('upload' => 'Upload a class list',
- 'enrollone' => 'Enroll a single student',
- 'modify' => 'Modify student data',
- 'view' => 'View Class List',
- 'drop' => 'Drop Students',
- 'populate' => 'Automated Enrollment Manager');
- my %help=();
- foreach ('Course_Drop_Student','Course_Add_Student',
- 'Course_Modify_Student_Data','Course_View_Class_List',
- 'Course_Create_Class_List') {
- $help{$_}=&Apache::loncommon::help_open_topic($_);
- }
-
- $r->print(<
- - $Text{'enrollone'} - $help{'Course_Add_Student'} -
- - $Text{'modify'} - $help{'Course_Modify_Student_Data'} -
- - $Text{'view'} - $help{'Course_View_Class_List'} -
- - $Text{'drop'} - $help{'Course_Drop_Student'} -
-END
+ my ($r,$enrl_permission,$view_permission)=@_;
+ #
my ($cdom,$cnum) = split/_/,$ENV{'request.course.id'};
- if (&Apache::lonnet::auto_run($cnum,$cdom) ) {
- $r->print(< ';
+ $menu_html.='';
+ if (exists($menu_item->{'url'})) {
+ $menu_html.=qq{};
+ } else {
+ $menu_html.=
+ qq{};
+ }
+ $menu_html.= &mt($menu_item->{'text'}).'';
+ if (exists($menu_item->{'help'})) {
+ $menu_html.=
+ &Apache::loncommon::help_open_topic($menu_item->{'help'});
+ }
+ $menu_html.='
';
}
$r->print("'.&mt('manual').' Change ';
+ $cellentry = '
';
+ $cellentry .= ''.&mt('manual').' $cellentry \n ");
} else {
@@ -2264,14 +2277,23 @@ sub handler {
text=>"Enrollment Manager",
faq=>9,bug=>'Instructor Interface',});
# Needs to be in a course
- if (! (($ENV{'request.course.fn'}) &&
- (&Apache::lonnet::allowed('cst',$ENV{'request.course.id'})))) {
- # Not in a course, or not allowed to modify parms
+ if (! ($ENV{'request.course.fn'})) {
+ # Not in a course
$ENV{'user.error.msg'}=
"/adm/dropadd:cst:0:0:Cannot drop or add students";
return HTTP_NOT_ACCEPTABLE;
}
#
+ my $view_permission =
+ &Apache::lonnet::allowed('vcl',$ENV{'request.course.id'});
+ my $enrl_permission =
+ &Apache::lonnet::allowed('cst',$ENV{'request.course.id'});
+ if (! $view_permission && ! $enrl_permission) {
+ $ENV{'user.error.msg'}=
+ "/adm/dropadd:cst:0:0:Cannot drop or add students";
+ return HTTP_NOT_ACCEPTABLE;
+ }
+ #
# Only output the header information if they did not request csv format
#
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
@@ -2285,13 +2307,13 @@ sub handler {
if (! exists($ENV{'form.action'})) {
$r->print(&Apache::lonhtmlcommon::breadcrumbs
(undef,'Enrollment Manager'));
- &print_main_menu($r);
- } elsif ($ENV{'form.action'} eq 'upload') {
+ &print_main_menu($r,$enrl_permission,$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'));
+ (undef,'Upload Classlist','Course_Create_Class_List'));
if (! exists($ENV{'form.state'})) {
&print_first_courselist_upload_form($r);
} elsif ($ENV{'form.state'} eq 'got_file') {
@@ -2305,12 +2327,12 @@ sub handler {
} else {
&print_first_courselist_upload_form($r);
}
- } elsif ($ENV{'form.action'} eq 'drop') {
+ } elsif ($ENV{'form.action'} eq 'drop' && $enrl_permission) {
&Apache::lonhtmlcommon::add_breadcrumb
({href=>'/adm/dropadd?action=drop',
text=>"Drop Students"});
$r->print(&Apache::lonhtmlcommon::breadcrumbs
- (undef,'Drop Students'));
+ (undef,'Drop Students','Course_Drop_Student'));
if (! exists($ENV{'form.state'})) {
&print_drop_menu($r);
} elsif ($ENV{'form.state'} eq 'done') {
@@ -2318,12 +2340,12 @@ sub handler {
} else {
&print_drop_menu($r);
}
- } elsif ($ENV{'form.action'} eq 'enrollstudent') {
+ } elsif ($ENV{'form.action'} eq 'enrollstudent' && $enrl_permission) {
&Apache::lonhtmlcommon::add_breadcrumb
({href=>'/adm/dropadd?action=enrollstudent',
text=>"Enroll Student"});
$r->print(&Apache::lonhtmlcommon::breadcrumbs
- (undef,'Enroll Student'));
+ (undef,'Enroll Student','Course_Add_Student'));
if (! exists($ENV{'form.state'})) {
&get_student_username_domain_form($r);
} elsif ($ENV{'form.state'} eq 'gotusername') {
@@ -2333,12 +2355,12 @@ sub handler {
} else {
&get_student_username_domain_form($r);
}
- } elsif ($ENV{'form.action'} eq 'classlist') {
+ } elsif ($ENV{'form.action'} eq 'classlist' && $view_permission) {
&Apache::lonhtmlcommon::add_breadcrumb
({href=>'/adm/dropadd?action=classlist',
text=>"View Classlist"});
$r->print(&Apache::lonhtmlcommon::breadcrumbs
- (undef,'View Classlist'));
+ (undef,'View Classlist','Course_View_Class_List'));
if (! exists($ENV{'form.state'})) {
&print_html_classlist($r,undef);
} elsif ($ENV{'form.state'} eq 'csv') {
@@ -2348,12 +2370,12 @@ sub handler {
} else {
&print_html_classlist($r,undef);
}
- } elsif ($ENV{'form.action'} eq 'modifystudent') {
+ } elsif ($ENV{'form.action'} eq 'modifystudent' && $enrl_permission) {
&Apache::lonhtmlcommon::add_breadcrumb
({href=>'/adm/dropadd?action=modifystudent',
text=>"Modify Student Data"});
$r->print(&Apache::lonhtmlcommon::breadcrumbs
- (undef,'Modify Student Data'));
+ (undef,'Modify Student Data','Course_Modify_Student_Data'));
if (! exists($ENV{'form.state'})) {
&print_html_classlist($r);
} elsif ($ENV{'form.state'} eq 'selected') {
@@ -2370,7 +2392,7 @@ sub handler {
"Someone should fix this.");
$r->print(&Apache::lonhtmlcommon::breadcrumbs
(undef,'Enrollment Manager'));
- &print_main_menu($r);
+ &print_main_menu($r,$enrl_permission,$view_permission);
}
#
# Finish up