projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'patch-1' of https://github.com/gjones2/Freeside
[freeside.git]
/
rt
/
share
/
html
/
Elements
/
GnuPG
/
SignEncryptWidget
diff --git
a/rt/share/html/Elements/GnuPG/SignEncryptWidget
b/rt/share/html/Elements/GnuPG/SignEncryptWidget
index
0ae0f84
..
2f3f103
100644
(file)
--- a/
rt/share/html/Elements/GnuPG/SignEncryptWidget
+++ b/
rt/share/html/Elements/GnuPG/SignEncryptWidget
@@
-129,12
+129,16
@@
if ( $self->{'Sign'} ) {
$QueueObj ||= $TicketObj->QueueObj
if $TicketObj;
$QueueObj ||= $TicketObj->QueueObj
if $TicketObj;
- my $
address = $self->{'SignUsing'}
;
-
$address ||
= ($self->{'UpdateType'} && $self->{'UpdateType'} eq "private")
+ my $
private = $session{'CurrentUser'}->UserObj->PrivateKey || ''
;
+
my $queue
= ($self->{'UpdateType'} && $self->{'UpdateType'} eq "private")
? ( $QueueObj->CommentAddress || RT->Config->Get('CommentAddress') )
: ( $QueueObj->CorrespondAddress || RT->Config->Get('CorrespondAddress') );
? ( $QueueObj->CommentAddress || RT->Config->Get('CommentAddress') )
: ( $QueueObj->CorrespondAddress || RT->Config->Get('CorrespondAddress') );
- unless ( RT::Crypt::GnuPG::DrySign( $address ) ) {
+ my $address = $self->{'SignUsing'} || $queue;
+ if ($address ne $private and $address ne $queue) {
+ push @{ $self->{'GnuPGCanNotSignAs'} ||= [] }, $address;
+ $checks_failure = 1;
+ } elsif ( not RT::Crypt::GnuPG::DrySign( $address ) ) {
push @{ $self->{'GnuPGCanNotSignAs'} ||= [] }, $address;
$checks_failure = 1;
} else {
push @{ $self->{'GnuPGCanNotSignAs'} ||= [] }, $address;
$checks_failure = 1;
} else {