[Rt-commit] r8963 - in rt/branches/3.7-EXPERIMENTAL: . lib/RT/Crypt

sartak at bestpractical.com sartak at bestpractical.com
Fri Sep 7 14:17:39 EDT 2007


Author: sartak
Date: Fri Sep  7 14:17:38 2007
New Revision: 8963

Modified:
   rt/branches/3.7-EXPERIMENTAL/   (props changed)
   rt/branches/3.7-EXPERIMENTAL/html/Elements/SelectKey
   rt/branches/3.7-EXPERIMENTAL/lib/RT/Crypt/GnuPG.pm

Log:
 r42427 at onn:  sartak | 2007-09-07 14:17:21 -0400
 Add terse option to _ConvertTrustChar
 Include trust level in preferred-key selection box


Modified: rt/branches/3.7-EXPERIMENTAL/html/Elements/SelectKey
==============================================================================
--- rt/branches/3.7-EXPERIMENTAL/html/Elements/SelectKey	(original)
+++ rt/branches/3.7-EXPERIMENTAL/html/Elements/SelectKey	Fri Sep  7 14:17:38 2007
@@ -50,7 +50,7 @@
 % } else {
 <select name="PreferredKey">
 %     foreach my $key (@keys) {
-<option value="<% $key->{'Key'} %>"><% $key->{'Key'} %></option>
+<option value="<% $key->{'Key'} %>"><% $key->{'Key'} %> (trust: <% $key->{'TrustTerse'}%>)</option>
 %     }
 </select>
 % }
@@ -67,6 +67,9 @@
                    : $_
            }
            @{ $res{'info'} };
+
+ at keys = sort { $b->{'TrustLevel'} <=> $a->{'TrustLevel'} } @keys;
+
 unshift @keys, $d if defined $d;
 
 </%INIT>

Modified: rt/branches/3.7-EXPERIMENTAL/lib/RT/Crypt/GnuPG.pm
==============================================================================
--- rt/branches/3.7-EXPERIMENTAL/lib/RT/Crypt/GnuPG.pm	(original)
+++ rt/branches/3.7-EXPERIMENTAL/lib/RT/Crypt/GnuPG.pm	Fri Sep  7 14:17:38 2007
@@ -1641,6 +1641,8 @@
             ) } = split /:/, $line, 12;
             $info{'Trust'} = _ConvertTrustChar( $info{'TrustChar'} );
             $info{'OwnerTrust'} = _ConvertTrustChar( $info{'OwnerTrustChar'} );
+            $info{'TrustTerse'} = _ConvertTrustChar( $info{'TrustChar'}, 1 );
+            $info{'OwnerTrustTerse'} = _ConvertTrustChar( $info{'OwnerTrustChar'}, 1 );
             $info{'TrustLevel'} = _ConvertTrustLevel( $info{'TrustChar'} );
             $info{'OwnerTrustLevel'} = _ConvertTrustLevel( $info{'OwnerTrustChar'} );
             $info{ $_ } = _ParseDate( $info{ $_ } )
@@ -1655,6 +1657,7 @@
                 Empty Empty KeyCapabilities Other
             ) } = split /:/, $line, 12;
             $info{'OwnerTrust'} = _ConvertTrustChar( $info{'OwnerTrustChar'} );
+            $info{'OwnerTrustTerse'} = _ConvertTrustChar( $info{'OwnerTrustChar'}, 1 );
             $info{'OwnerTrustLevel'} = _ConvertTrustLevel( $info{'OwnerTrustChar'} );
             $info{ $_ } = _ParseDate( $info{ $_ } )
                 foreach qw(Created Expire);
@@ -1676,8 +1679,8 @@
 }
 
 {
-    my %mapping = (
-        o => 'Unknown (this value is new to the system)', #loc
+    my %verbose = (
+        o   => 'Unknown (this value is new to the system)', #loc
         # deprecated
         d   => "The key has been disabled", #loc
         r   => "The key has been revoked", #loc
@@ -1691,6 +1694,21 @@
         u   => "The key is ultimately trusted", #loc
     );
 
+    my %terse = (
+        o   => 'unknown', #loc
+        # deprecated
+        d   => "key disabled", #loc
+        r   => "key revoked", #loc
+        e   => "key expired", #loc
+        '-' => 'unknown', #loc
+        #gpupg docs says that '-' and 'q' may safely be treated as the same value
+        q   => 'unknown', #loc
+        n   => "none", #loc
+        m   => "marginal", #loc
+        f   => "full", #loc
+        u   => "ultimate", #loc
+    );
+
     my %level = (
         d   => 0,
         r   => 0,
@@ -1709,10 +1727,14 @@
 
     sub _ConvertTrustChar {
         my $value = shift;
-        return $mapping{'-'} unless $value;
+        my $terse = shift;
+
+        my $lookup = $terse ? \%terse : \%verbose;
+
+        return $lookup->{'-'} unless $value;
 
         $value = substr $value, 0, 1;
-        return $mapping{ $value } || $mapping{'o'};
+        return $lookup->{ $value } || $lookup->{'o'};
     }
 
     sub _ConvertTrustLevel {


More information about the Rt-commit mailing list