--- loncom/interface/lonuserutils.pm 2012/04/25 21:22:01 1.138 +++ loncom/interface/lonuserutils.pm 2012/08/19 00:18:16 1.139 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Utility functions for managing LON-CAPA user accounts # -# $Id: lonuserutils.pm,v 1.138 2012/04/25 21:22:01 raeburn Exp $ +# $Id: lonuserutils.pm,v 1.139 2012/08/19 00:18:16 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2321,6 +2321,7 @@ END 'type' => "enroll type/action", 'email' => "e-mail address", 'photo' => "photo", + 'lastlogin' => "last login", 'extent' => "extent", 'pr' => "Proceed", 'ca' => "check all", @@ -2369,6 +2370,9 @@ END push(@cols,'groups'); } push(@cols,'email'); + if ($context eq 'course') { + push(@cols,'lastlogin'); + } } my $rolefilter = $env{'form.showrole'}; @@ -2593,6 +2597,11 @@ END Future => 'Future', Expired => 'Expired', ); + # If this is for a single course get last course "log-in". + my %crslogins; + if ($context eq 'course') { + %crslogins=&Apache::lonnet::dump('nohist_crslastlogin',$cdom,$cnum); + } # Get groups, role, permanent e-mail so we can sort on them if # necessary. foreach my $user (keys(%{$userlist})) { @@ -2741,6 +2750,12 @@ END $in{'end'} = &Apache::lonlocal::locallocaltime($in{'end'}); } } + if ($context eq 'course') { + my $lastlogin = $crslogins{$in{'username'}.':'.$in{'domain'}.':'.$in{'section'}.':'.$role}; + if ($lastlogin ne '') { + $in{'lastlogin'} = &Apache::lonlocal::locallocaltime($lastlogin); + } + } if ($mode eq 'view' || $mode eq 'html' || $mode eq 'autoenroll' || $mode eq 'pickauthor') { $r->print(&Apache::loncommon::start_data_table_row()); my $checkval;