--- loncom/interface/lonmanagekeys.pm 2003/04/23 13:11:45 1.4
+++ loncom/interface/lonmanagekeys.pm 2003/05/01 02:12:43 1.6
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to manage course access keys
#
-# $Id: lonmanagekeys.pm,v 1.4 2003/04/23 13:11:45 www Exp $
+# $Id: lonmanagekeys.pm,v 1.6 2003/05/01 02:12:43 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -54,7 +54,18 @@ ENDHEAD
# =================================================== Show student list to drop
sub show_key_list {
- my ($r,$mode,$linkto,$action,$statusmode,$classlist,$keylist)=@_;
+ my ($r,$comment,%cenv)=@_;
+
+ my %accesskeys=&Apache::lonnet::dump
+ ('accesskeys',$cenv{'domain'},$cenv{'num'});
+ foreach (keys %accesskeys) {
+ $r->print($_.' '.$accesskeys{$_}.'
');
+ }
+ return '';
+#
+# Junk below
+#
+ my ($mode,$linkto,$action,$statusmode,$classlist,$keylist);
#
# Just junk so that this compiles
#
@@ -136,13 +147,17 @@ sub togglekeyaccess {
sub genkeys {
my ($num,$comments,%cenv)=@_;
+ unless ($comments) { $comments=''; }
+ $comments=~s/\#/ /g;
+ $comments=~s/\;/ /g;
unless ($num) { return 'No number of keys given.'; }
unless (($num=~/^\d+$/) && ($num>0)) {
return 'Invalid number of keys given.';
}
+ my $batchnumber='BATCH_'.time().'_'.$$;
return 'Generated '.&Apache::lonnet::generate_access_keys
- ($num,$cenv{'domain'},$cenv{'num'},$comments).' of '.$num.
- ' access keys.';
+ ($num,$cenv{'domain'},$cenv{'num'},$batchnumber.'; '.$comments).' of '.
+ $num.' access keys (Batch Number: '.$batchnumber.')',$batchnumber;
}
###################################################################
@@ -190,23 +205,32 @@ sub handler {
$r->print(&togglekeyaccess(%cenv).'
');
%cenv=&Apache::lonnet::coursedescription($ENV{'form.cid'});
}
+ my $batchnumber='';
if ($ENV{'form.genkeys'}) {
- $r->print(
- &genkeys($ENV{'form.num'},$ENV{'form.comments'},%cenv).'
');
+ (my $msg,$batchnumber)=
+ &genkeys($ENV{'form.num'},$ENV{'form.comments'},%cenv);
+ $r->print($msg.'
');
}
+ if ($ENV{'form.listkeys'}) {
+ &show_key_list($r,$ENV{'form.listcom'},%cenv);
+ }
# --- Menu
$r->print('