Diff for /loncom/interface/Attic/londropadd.pm between versions 1.163 and 1.164

version 1.163, 2007/07/17 21:24:17 version 1.164, 2007/07/26 23:48:53
Line 133  sub domain_form { Line 133  sub domain_form {
 ###############################################################  ###############################################################
 #  Menu Phase One  #  Menu Phase One
 sub print_main_menu {  sub print_main_menu {
     my ($r,$enrl_permission,$view_permission,$grp_manage_permission,      my ($r,$permission)=@_;
         $grp_view_permission)=@_;  
     #      #
     my $cid =$env{'request.course.id'};      my $cid =$env{'request.course.id'};
     my $cdom=$env{'course.'.$cid.'.domain'};      my $cdom=$env{'course.'.$cid.'.domain'};
Line 144  sub print_main_menu { Line 143  sub print_main_menu {
           { text => 'Upload a class list',             { text => 'Upload a class list', 
             help => 'Course_Create_Class_List',              help => 'Course_Create_Class_List',
             action => 'upload',              action => 'upload',
             permission => $enrl_permission,              permission => $permission->{'enrl'},
             },              },
           { text => 'Enroll a single student',             { text => 'Enroll a single student', 
             help => 'Course_Add_Student',              help => 'Course_Add_Student',
             action => 'enrollstudent',              action => 'enrollstudent',
             permission => $enrl_permission,              permission => $permission->{'enrl'},
             },              },
           { text => 'Modify student data',             { text => 'Modify student data', 
             help => 'Course_Modify_Student_Data',              help => 'Course_Modify_Student_Data',
             action => 'modifystudent',              action => 'modifystudent',
             permission => $enrl_permission,              permission => $permission->{'enrl'},
             },              },
           { text => 'View Class List',             { text => 'View Class List', 
             help => 'Course_View_Class_List',              help => 'Course_View_Class_List',
             action => 'classlist',              action => 'classlist',
             permission => $view_permission,              permission => $permission->{'view'},
             },              },
           { text => 'Drop Students',             { text => 'Drop Students', 
             help => 'Course_Drop_Student',              help => 'Course_Drop_Student',
             action => 'drop',              action => 'drop',
             permission => $enrl_permission,              permission => $permission->{'enrl'},
             },              },
           { text => 'Automated Enrollment Manager',             { text => 'Automated Enrollment Manager', 
             permission => &Apache::lonnet::auto_run($cnum,$cdom),              permission => (&Apache::lonnet::auto_run($cnum,$cdom) 
      && $permission->{'enrl'}),
             url  => '/adm/populate',              url  => '/adm/populate',
             },              },
           { text => 'Create a new group',            { text => 'Create a new group',
             help => 'Course_Create_Group',              help => 'Course_Create_Group',
             permission => $grp_manage_permission,              permission => $permission->{'grp_manage'},
             url => '/adm/coursegroups?refpage=enrl&action=create',              url => '/adm/coursegroups?refpage=enrl&action=create',
             },              },
           { text => 'Modify an existing group',            { text => 'Modify an existing group',
             help => 'Course_Modify_Group',              help => 'Course_Modify_Group',
             permission => $grp_manage_permission,              permission => $permission->{'grp_manage'},
             url => '/adm/coursegroups?refpage=enrl&action=modify',              url => '/adm/coursegroups?refpage=enrl&action=modify',
             },              },
           { text => 'Delete an existing group',            { text => 'Delete an existing group',
             help => 'Course_Delete_Group',              help => 'Course_Delete_Group',
             permission => $grp_manage_permission,              permission => $permission->{'grp_manage'},
             url => '/adm/coursegroups?refpage=enrl&action=delete',              url => '/adm/coursegroups?refpage=enrl&action=delete',
             },              },
           { text => 'Re-enable a deleted group',            { text => 'Re-enable a deleted group',
             help => 'Course_Reenable_Group',              help => 'Course_Reenable_Group',
             permission => $grp_manage_permission,              permission => $permission->{'grp_manage'},
             url => '/adm/coursegroups?refpage=enrl&action=reenable',              url => '/adm/coursegroups?refpage=enrl&action=reenable',
             },              },
           { text => 'Enter an existing group',            { text => 'Enter an existing group',
             help => 'Course_Display_Group',              help => 'Course_Display_Group',
             permission => $grp_view_permission,              permission => $permission->{'grp_view'},
             url => '/adm/coursegroups?refpage=enrl&action=view',              url => '/adm/coursegroups?refpage=enrl&action=view',
             },              },
           );            );
Line 1169  sub print_drop_menu { Line 1169  sub print_drop_menu {
   
 # ============================================== view classlist  # ============================================== view classlist
 sub print_html_classlist {  sub print_html_classlist {
     my ($r,$mode) = @_;      my ($r,$mode,$permission) = @_;
     if (! exists($env{'form.sortby'})) {      if (! exists($env{'form.sortby'})) {
         $env{'form.sortby'} = 'username';          $env{'form.sortby'} = 'username';
     }      }
Line 1233  sub print_html_classlist { Line 1233  sub print_html_classlist {
     # Print the classlist      # Print the classlist
     $r->print('<h2>'.&mt('Current Class List').'</h2>');      $r->print('<h2>'.&mt('Current Class List').'</h2>');
     my ($classlist,$keylist)=&Apache::loncoursedata::get_classlist();      my ($classlist,$keylist)=&Apache::loncoursedata::get_classlist();
   
       if (exists($permission->{'view_section'})) {
    my $sec = &Apache::loncoursedata::CL_SECTION();
    foreach my $student (keys(%{$classlist})) {
       if ($classlist->{$student}[$sec] ne $permission->{'view_section'}) {
    delete($classlist->{$student});
       }
    }
       }
   
     if (! defined($classlist)) {      if (! defined($classlist)) {
         $r->print(&mt('There are no students currently enrolled.')."\n");          $r->print(&mt('There are no students currently enrolled.')."\n");
     } else {      } else {
Line 2419  function validate(caller) { Line 2429  function validate(caller) {
 END  END
 }  }
   
   sub get_permission {
       my %permission;
       $permission{'view'} = 
           &Apache::lonnet::allowed('vcl',$env{'request.course.id'});
       &Apache::lonnet::logthis(" vcl 1 ".$permission{'view'});
       if (!$permission{'view'}) {
    my $scope = $env{'request.course.id'}.'/'.$env{'request.course.sec'};
    $permission{'view'} =  &Apache::lonnet::allowed('vcl',$scope);
       &Apache::lonnet::logthis(" vcl 2 ".$permission{'view'});
    if ($permission{'view'}) {
       $permission{'view_section'} = $env{'request.course.sec'};
       &Apache::lonnet::logthis(" vcl 3 ".$permission{'view'});
    }
       }
   
       $permission{'enrl'} = 
           &Apache::lonnet::allowed('cst',$env{'request.course.id'});
   
       $permission{'grp_view'} =
           &Apache::lonnet::allowed('vcg',$env{'request.course.id'});
       $permission{'grp_manage'} =
           &Apache::lonnet::allowed('mdg',$env{'request.course.id'});
       my $allowed = 0;
       foreach my $perm (values(%permission)) {
    if ($perm) { $allowed=1; last; }
       }
       &Apache::lonnet::logthis(" allowed ".$allowed);
       return (\%permission,$allowed);
   }
   
 ###################################################################  ###################################################################
 ###################################################################  ###################################################################
   
Line 2477  sub handler { Line 2517  sub handler {
         return HTTP_NOT_ACCEPTABLE;           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'});  
   
     my $grp_view_permission =  
         &Apache::lonnet::allowed('vcg',$env{'request.course.id'});  
     my $grp_manage_permission =  
         &Apache::lonnet::allowed('mdg',$env{'request.course.id'});  
   
       my ($permission,$allowed) = &get_permission();
   
     if (! $grp_view_permission && ! $grp_manage_permission &&       if (!$allowed) {
                                   ! $view_permission && ! $enrl_permission) {  
         $env{'user.error.msg'}=          $env{'user.error.msg'}=
      "/adm/coursegroups:cst:0:0:Cannot manage or view course groups, ".      "/adm/dropadd:cst:0:0:Cannot manage or view course groups, ".
                                  "or drop or add students";                           "or drop or add students";
         return HTTP_NOT_ACCEPTABLE;          return HTTP_NOT_ACCEPTABLE;
     }      }
   
Line 2507  sub handler { Line 2538  sub handler {
     # Main switch on form.action and form.state, as appropriate      # Main switch on form.action and form.state, as appropriate
     if (! exists($env{'form.action'})) {      if (! exists($env{'form.action'})) {
         $r->print(&Apache::lonhtmlcommon::breadcrumbs('Enrollment Manager'));          $r->print(&Apache::lonhtmlcommon::breadcrumbs('Enrollment Manager'));
         &print_main_menu($r,$enrl_permission,$view_permission,$grp_manage_permission,          my $action = &print_main_menu($r,$permission);
                          $grp_view_permission);      } elsif ($env{'form.action'} eq 'upload' && $permission->{'enrl'}) {
     } elsif ($env{'form.action'} eq 'upload' && $enrl_permission) {  
         &Apache::lonhtmlcommon::add_breadcrumb          &Apache::lonhtmlcommon::add_breadcrumb
             ({href=>'/adm/dropadd?action=upload&state=',              ({href=>'/adm/dropadd?action=upload&state=',
               text=>"Upload Classlist"});                text=>"Upload Classlist"});
Line 2528  sub handler { Line 2558  sub handler {
         } else {          } else {
             &print_first_courselist_upload_form($r);                          &print_first_courselist_upload_form($r);            
         }          }
     } elsif ($env{'form.action'} eq 'drop' && $enrl_permission) {      } elsif ($env{'form.action'} eq 'drop' && $permission->{'enrl'}) {
         &Apache::lonhtmlcommon::add_breadcrumb          &Apache::lonhtmlcommon::add_breadcrumb
             ({href=>'/adm/dropadd?action=drop',              ({href=>'/adm/dropadd?action=drop',
               text=>"Drop Students"});                text=>"Drop Students"});
Line 2541  sub handler { Line 2571  sub handler {
         } else {          } else {
             &print_drop_menu($r);              &print_drop_menu($r);
         }          }
     } elsif ($env{'form.action'} eq 'enrollstudent' && $enrl_permission) {      } elsif ($env{'form.action'} eq 'enrollstudent' && $permission->{'enrl'}) {
         &Apache::lonhtmlcommon::add_breadcrumb          &Apache::lonhtmlcommon::add_breadcrumb
             ({href=>'/adm/dropadd?action=enrollstudent',              ({href=>'/adm/dropadd?action=enrollstudent',
               text=>"Enroll Student"});                text=>"Enroll Student"});
Line 2556  sub handler { Line 2586  sub handler {
         } else {          } else {
             &get_student_username_domain_form($r);              &get_student_username_domain_form($r);
         }          }
     } elsif ($env{'form.action'} eq 'classlist' && $view_permission) {      } elsif ($env{'form.action'} eq 'classlist' && $permission->{'view'}) {
         &Apache::lonhtmlcommon::add_breadcrumb          &Apache::lonhtmlcommon::add_breadcrumb
             ({href=>'/adm/dropadd?action=classlist',              ({href=>'/adm/dropadd?action=classlist',
               text=>"View Classlist"});                text=>"View Classlist"});
         $r->print(&Apache::lonhtmlcommon::breadcrumbs('View Classlist',          $r->print(&Apache::lonhtmlcommon::breadcrumbs('View Classlist',
       'Course_View_Class_List'));        'Course_View_Class_List'));
         if (! exists($env{'form.state'})) {          if (! exists($env{'form.state'})) {
             &print_html_classlist($r,undef);              &print_html_classlist($r,undef,$permission);
         } elsif ($env{'form.state'} eq 'csv') {          } elsif ($env{'form.state'} eq 'csv') {
             &print_html_classlist($r,'csv');              &print_html_classlist($r,'csv',$permission);
         } elsif ($env{'form.state'} eq 'excel') {          } elsif ($env{'form.state'} eq 'excel') {
             &print_html_classlist($r,'excel');              &print_html_classlist($r,'excel',$permission);
         } else {          } else {
             &print_html_classlist($r,undef);              &print_html_classlist($r,undef,$permission);
         }          }
     } elsif ($env{'form.action'} eq 'modifystudent' && $enrl_permission) {      } elsif ($env{'form.action'} eq 'modifystudent' && $permission->{'enrl'}) {
         &Apache::lonhtmlcommon::add_breadcrumb          &Apache::lonhtmlcommon::add_breadcrumb
             ({href=>'/adm/dropadd?action=modifystudent',              ({href=>'/adm/dropadd?action=modifystudent',
               text=>"Modify Student Data"});                text=>"Modify Student Data"});
         $r->print(&Apache::lonhtmlcommon::breadcrumbs('Modify Student Data',          $r->print(&Apache::lonhtmlcommon::breadcrumbs('Modify Student Data',
       'Course_Modify_Student_Data'));        'Course_Modify_Student_Data'));
         if (! exists($env{'form.state'})) {          if (! exists($env{'form.state'})) {
             &print_html_classlist($r);              &print_html_classlist($r,undef,$permission);
         } elsif ($env{'form.state'} eq 'selected') {          } elsif ($env{'form.state'} eq 'selected') {
             &print_modify_student_form($r);              &print_modify_student_form($r);
         } elsif ($env{'form.state'} eq 'done') {          } elsif ($env{'form.state'} eq 'done') {
             &modify_single_student($r);              &modify_single_student($r);
         } else {          } else {
             &print_html_classlist($r);              &print_html_classlist($r,undef,$permission);
         }                  }        
     } else {      } else {
         # We should not end up here, but I guess it is possible          # We should not end up here, but I guess it is possible
Line 2592  sub handler { Line 2622  sub handler {
                                  "form.action = ".$env{'form.action'}.                                   "form.action = ".$env{'form.action'}.
                                  "Someone should fix this.");                                   "Someone should fix this.");
         $r->print(&Apache::lonhtmlcommon::breadcrumbs('Enrollment Manager'));          $r->print(&Apache::lonhtmlcommon::breadcrumbs('Enrollment Manager'));
         &print_main_menu($r,$enrl_permission,$view_permission);          &print_main_menu($r,$permission);
     }      }
     #      #
     # Finish up      # Finish up

Removed from v.1.163  
changed lines
  Added in v.1.164


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>