[Rt-commit] [svn] r750 - rt/trunk/lib/RT

leira at pallas.eruditorum.org leira at pallas.eruditorum.org
Mon Apr 26 18:14:45 EDT 2004


Author: leira
Date: Mon Apr 26 18:14:44 2004
New Revision: 750

Modified:
   rt/trunk/lib/RT/Queue_Overlay.pm
   rt/trunk/lib/RT/User_Overlay.pm
Log:
Applies patch from #5286, from Paulo Matos <pjsm at fct.unl.pt>.

DTRT with autocreating user real names and email addresses when adding watchers (not just when the user is created via email).


Modified: rt/trunk/lib/RT/Queue_Overlay.pm
==============================================================================
--- rt/trunk/lib/RT/Queue_Overlay.pm	(original)
+++ rt/trunk/lib/RT/Queue_Overlay.pm	Mon Apr 26 18:14:44 2004
@@ -48,6 +48,7 @@
 use vars qw(@STATUS @ACTIVE_STATUS @INACTIVE_STATUS $RIGHTS);
 use RT::Groups;
 use RT::ACL;
+use RT::EmailParser;
 
 
 @ACTIVE_STATUS = qw(new open stalled);
@@ -602,10 +603,13 @@
         # if the user doesn't exist, we need to create a new user
              my $new_user = RT::User->new($RT::SystemUser);
 
+            my ( $Address, $Name ) =  
+               RT::EmailParser::ParseAddressFromHeader('', $args{'Email'});
+
             my ( $Val, $Message ) = $new_user->Create(
-                Name => $args{'Email'},
-                EmailAddress => $args{'Email'},
-                RealName     => $args{'Email'},
+                Name => $Address,
+                EmailAddress => $Address,
+                RealName     => $Name,
                 Privileged   => 0,
                 Comments     => 'Autocreated when added as a watcher');
             unless ($Val) {

Modified: rt/trunk/lib/RT/User_Overlay.pm
==============================================================================
--- rt/trunk/lib/RT/User_Overlay.pm	(original)
+++ rt/trunk/lib/RT/User_Overlay.pm	Mon Apr 26 18:14:44 2004
@@ -53,6 +53,7 @@
 use Digest::MD5;
 use RT::Principals;
 use RT::ACE;
+use RT::EmailParser;
 
 
 # {{{ sub _Accessible 
@@ -595,13 +596,17 @@
 
         my ($val, $message);
 
+	my ( $Address, $Name ) =
+		RT::EmailParser::ParseAddressFromHeader('', $email);
+	$email = $Address;
+
         $self->LoadByEmail($email);
         $message = $self->loc('User loaded');
         unless ($self->Id) {
             ( $val, $message ) = $self->Create(
                 Name => $email,
                 EmailAddress => $email,
-                RealName     => $email,
+                RealName     => $Name,
                 Privileged   => 0,
                 Comments     => 'Autocreated when added as a watcher');
             unless ($val) {


More information about the Rt-commit mailing list