[LON-CAPA-cvs] cvs: loncom /interface loncommon.pm /publisher lonrights.pm
www
lon-capa-cvs@mail.lon-capa.org
Thu, 20 Mar 2003 19:20:31 -0000
www Thu Mar 20 14:20:31 2003 EDT
Modified files:
/loncom/interface loncommon.pm
/loncom/publisher lonrights.pm
Log:
Continued work on custom access rights viewer/editor
Index: loncom/interface/loncommon.pm
diff -u loncom/interface/loncommon.pm:1.88 loncom/interface/loncommon.pm:1.89
--- loncom/interface/loncommon.pm:1.88 Thu Mar 20 11:17:37 2003
+++ loncom/interface/loncommon.pm Thu Mar 20 14:20:31 2003
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.88 2003/03/20 16:17:37 www Exp $
+# $Id: loncommon.pm,v 1.89 2003/03/20 19:20:31 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -613,7 +613,7 @@
sub select_form {
my ($def,$name,%hash) = @_;
my $selectform = "<select name=\"$name\" size=\"1\">\n";
- foreach (keys %hash) {
+ foreach (sort keys %hash) {
$selectform.="<option value=\"$_\" ".
($_ eq $def ? 'selected' : '').
">".$hash{$_}."</option>\n";
Index: loncom/publisher/lonrights.pm
diff -u loncom/publisher/lonrights.pm:1.3 loncom/publisher/lonrights.pm:1.4
--- loncom/publisher/lonrights.pm:1.3 Thu Mar 20 11:17:37 2003
+++ loncom/publisher/lonrights.pm Thu Mar 20 14:20:31 2003
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to show and edit custom distribution rights
#
-# $Id: lonrights.pm,v 1.3 2003/03/20 16:17:37 www Exp $
+# $Id: lonrights.pm,v 1.4 2003/03/20 19:20:31 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -68,8 +68,13 @@
my $parser=HTML::LCParser->new(\$contents);
my $token;
my $rulecounter=0;
+ my $colzero=($constructmode?'Edit action':'Rule');
# ---------------------------------------------------------- Start table output
- $r->print('<table border="2">');
+ $r->print(<<ENDSTARTTABLE);
+<table border="2">
+ <tr><th>$colzero</th><th>Effect</th><th>Domain</th><th>Course</th>
+<th>Section</th><th>Role</th></tr>
+ENDSTARTTABLE
# --------------------------------------------------------------------- Default
# Fast forward to first rule
$token=$parser->get_token;
@@ -84,7 +89,7 @@
} else {
$r->print($token->[2]->{'effect'});
}
- $r->print('</td><td colspan="2">Default');
+ $r->print('</td><td colspan="4">Default');
if (($token->[2]->{'realm'}) || ($token->[2]->{'role'})) {
$r->print(' - <font color="red">Error! No default set.</font>');
}
@@ -94,7 +99,18 @@
if (($token->[0] eq 'S') && ($token->[1] eq 'accessrule')) {
$rulecounter++;
$r->print('<tr><td>');
-# inset, delete, etc
+# insert, delete, etc
+ $r->print($rulecounter.'. ');
+ if ($constructmode) {
+ $r->print(&Apache::loncommon::select_form(
+ '','action_'.$rulecounter,
+ ('' => '',
+ 'delete' => 'Delete this rule',
+ 'insertabove' => 'Insert rule above',
+ 'insertbelow' => 'Insert rule below',
+ 'moveup' => 'Move rule up',
+ 'movedown' => 'Move rule down')));
+ }
$r->print('</td><td>');
# effect
if ($constructmode) {
@@ -107,21 +123,48 @@
$r->print($token->[2]->{'effect'});
}
$r->print('</td><td>');
-# realm
+# ---- realm
my $realm=$token->[2]->{'realm'};
$realm=~s/^\W//;
- my ($rdom,$rcourse,$rsec)=split(/(\/|\_)/,$realm);
+ my ($rdom,$rcourse,$rsec)=split(/[\/\_]/,$realm);
+# realm role
if ($constructmode) {
$r->print(&Apache::loncommon::select_dom_form($rdom,
'domain_'.$rulecounter));
} else {
- $r->print($token->[2]->{'realm'});
+ $r->print($rdom);
+ }
+ $r->print('</td><td>');
+# realm course
+ if ($constructmode) {
+ $r->print('<input input type="text" size="25" name="course_'.
+ $rulecounter.'" value="'.$rcourse.'" />');
+ } else {
+ $r->print($rcourse);
}
+
+ $r->print('</td><td>');
+# realm section
+ if ($constructmode) {
+ $r->print('<input input type="text" size="5" name="section_'.
+ $rulecounter.'" value="'.$rsec.'" />');
+ } else {
+ $r->print($rsec);
+ }
+
$r->print('</td><td>');
# role
if ($constructmode) {
+ my %hash=('' => '');
+ foreach ('au','cc','in','ta','st') {
+ $hash{$_}=&Apache::lonnet::plaintext($_);
+ }
+ my $role=$token->[2]->{'role'};
+ unless ($role) { $role=''; }
+ $r->print(&Apache::loncommon::select_form(
+ $role,'role_'.$rulecounter,%hash));
} else {
- $r->print($token->[2]->{'role'});
+ $r->print(&Apache::lonnet::plaintext($token->[2]->{'role'}));
}
# close row
$r->print('</td></tr>');