[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.'.&nbsp;');
+          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>');