projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of https://github.com/jgoodman/Freeside
[freeside.git]
/
rt
/
lib
/
RT
/
Interface
/
Email
/
Auth
/
MailFrom.pm
diff --git
a/rt/lib/RT/Interface/Email/Auth/MailFrom.pm
b/rt/lib/RT/Interface/Email/Auth/MailFrom.pm
index
be2f517
..
b353907
100644
(file)
--- a/
rt/lib/RT/Interface/Email/Auth/MailFrom.pm
+++ b/
rt/lib/RT/Interface/Email/Auth/MailFrom.pm
@@
-2,7
+2,7
@@
#
# COPYRIGHT:
#
#
# COPYRIGHT:
#
-# This software is Copyright (c) 1996-201
1
Best Practical Solutions, LLC
+# This software is Copyright (c) 1996-201
4
Best Practical Solutions, LLC
# <sales@bestpractical.com>
#
# (Except where explicitly superseded by other copyright notices)
# <sales@bestpractical.com>
#
# (Except where explicitly superseded by other copyright notices)
@@
-47,10
+47,12
@@
# END BPS TAGGED BLOCK }}}
package RT::Interface::Email::Auth::MailFrom;
# END BPS TAGGED BLOCK }}}
package RT::Interface::Email::Auth::MailFrom;
-use RT::Interface::Email qw(ParseSenderAddressFromHead CreateUser);
+
use strict;
use warnings;
use strict;
use warnings;
+use RT::Interface::Email qw(ParseSenderAddressFromHead CreateUser);
+
# This is what the ordinary, non-enhanced gateway does at the moment.
sub GetCurrentUser {
# This is what the ordinary, non-enhanced gateway does at the moment.
sub GetCurrentUser {
@@
-64,13
+66,16
@@
sub GetCurrentUser {
# We don't need to do any external lookups
# We don't need to do any external lookups
- my ( $Address, $Name ) = ParseSenderAddressFromHead( $args{'Message'}->head );
+ my ( $Address, $Name, @errors ) = ParseSenderAddressFromHead( $args{'Message'}->head );
+ $RT::Logger->warning("Failed to parse ".join(', ', @errors))
+ if @errors;
+
unless ( $Address ) {
unless ( $Address ) {
- $RT::Logger->error("Couldn't find sender's address");
+ $RT::Logger->error("Couldn't
parse or
find sender's address");
return ( $args{'CurrentUser'}, -1 );
}
return ( $args{'CurrentUser'}, -1 );
}
- my $CurrentUser =
new RT::CurrentUser
;
+ my $CurrentUser =
RT::CurrentUser->new
;
$CurrentUser->LoadByEmail( $Address );
$CurrentUser->LoadByName( $Address ) unless $CurrentUser->Id;
if ( $CurrentUser->Id ) {
$CurrentUser->LoadByEmail( $Address );
$CurrentUser->LoadByName( $Address ) unless $CurrentUser->Id;
if ( $CurrentUser->Id ) {
@@
-79,14
+84,13
@@
sub GetCurrentUser {
}
# If the user can't be loaded, we may need to create one. Figure out the acl situation.
}
# If the user can't be loaded, we may need to create one. Figure out the acl situation.
- my $unpriv = RT::Group->new( $RT::SystemUser );
- $unpriv->LoadSystemInternalGroup('Unprivileged');
+ my $unpriv = RT->UnprivilegedUsers();
unless ( $unpriv->Id ) {
$RT::Logger->crit("Couldn't find the 'Unprivileged' internal group");
return ( $args{'CurrentUser'}, -1 );
}
unless ( $unpriv->Id ) {
$RT::Logger->crit("Couldn't find the 'Unprivileged' internal group");
return ( $args{'CurrentUser'}, -1 );
}
- my $everyone = RT::Group->new(
$RT::
SystemUser );
+ my $everyone = RT::Group->new(
RT->
SystemUser );
$everyone->LoadSystemInternalGroup('Everyone');
unless ( $everyone->Id ) {
$RT::Logger->crit("Couldn't find the 'Everyone' internal group");
$everyone->LoadSystemInternalGroup('Everyone');
unless ( $everyone->Id ) {
$RT::Logger->crit("Couldn't find the 'Everyone' internal group");