[Rt-commit] rt branch, admin_ui, updated. adf43eb6987b9f25894de9dc1b13486a57a01857
sunnavy at bestpractical.com
sunnavy at bestpractical.com
Wed Dec 23 04:04:31 EST 2009
The branch, admin_ui has been updated
via adf43eb6987b9f25894de9dc1b13486a57a01857 (commit)
from 657eaa3abd0d0abad68f07be7108820ee00e665e (commit)
Summary of changes:
lib/RT/View/Admin/Users.pm | 85 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 85 insertions(+), 0 deletions(-)
- Log -----------------------------------------------------------------
commit adf43eb6987b9f25894de9dc1b13486a57a01857
Author: sunnavy <sunnavy at bestpractical.com>
Date: Wed Dec 23 17:04:17 2009 +0800
/admin/users/gnupg view
diff --git a/lib/RT/View/Admin/Users.pm b/lib/RT/View/Admin/Users.pm
index a9e9db9..68c0f73 100644
--- a/lib/RT/View/Admin/Users.pm
+++ b/lib/RT/View/Admin/Users.pm
@@ -144,6 +144,91 @@ template 'memberships' => page { title => _('User Memberships') } content {
template 'gnupg' => page { title => _('User GnuPG') } content {
my $self = shift;
+ # TODO move the following line to Dispatcher
+ return unless RT->config->get('gnupg')->{'enable'};
+
+ require RT::Crypt::GnuPG;
+
+ my $user = RT::Model::User->new;
+ $user->load(get('id'));
+
+ unless ( $user->email ) {
+ h2 { _("User has empty email address") };
+ return;
+ }
+
+ my %res = RT::Crypt::GnuPG::get_key_info( $user->email, 'public' );
+
+ if ( $res{'exit_code'} || !keys %{ $res{'info'} } ) {
+ outs( _('No keys for this address') );
+ }
+ else {
+ h3 { _('GnuPG public key for %1', $user->email) };
+ table {
+ row {
+ th { _( 'Trust' . ':' ) };
+ cell {
+ _( $res{'info'}{'trust'} );
+ };
+ };
+ row {
+ th { _( 'Created' . ':' ) };
+ cell {
+ $res{'info'}{'created'}
+ ? $res{'info'}{'created'}->date
+ : _('never');
+ };
+ };
+
+ row {
+ th { _('Expire') . ':' };
+ cell {
+ $res{'info'}{'expire'}
+ ? $res{'info'}{'expire'}->date
+ : _('never');
+ };
+ };
+
+ for my $uinfo ( @{ $res{'info'}{'user'} } ) {
+ row {
+ th { _('User (Created - expire)') . ':' };
+ cell {
+ $uinfo->{'string'}
+ . '(' . (
+ $uinfo->{'created'} ? $uinfo->{'created'}->date
+ : _('never') . ' - '
+ )
+ . (
+ $uinfo->{'expire'} ? $uinfo->{'expire'}->date
+ : _('never')
+ ) . ')';
+ };
+ };
+ }
+ };
+ }
+
+ my %keys_meta =
+ RT::Crypt::GnuPG::get_keys_for_signing( $user->email, 'force' );
+
+ my $moniker = 'select_private_key';
+ my $action = new_action(
+ class => 'SelectPrivateKey',
+ moniker => $moniker,
+ );
+
+ $action->object($user);
+
+ with( name => $moniker ), form {
+ input {
+ type is 'hidden';
+ name is 'id';
+ value is get('id');
+ };
+ render_action($action);
+ form_submit( label => _('Save') );
+ };
+
};
template 'history' => page { title => _('User History') } content {
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list