<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Ruslan,<br>
<br>
    My apologies on not CC'ing the list. I was trying to avoid letting
the world see how ignorant I am on this stuff. Anyway, what I don't
understand is how to get from an email address (which I DO have) to the
ID or Name of the person that correlates to said Email address. Since I
understand so little of how some of these commands work (for example, I
may see the code "$self->TransactionObj->OldValue !=
RT::Nobody()->id();" but I have no idea why it won't work like this
"$self->TransactionObj->OldValue !=
RT::Nobody()->name->id();"). I don't see or understand the
mechanisms that make the "->" work. My problem is that I am
completely sight-oriented. It's the old saying, "I can hear you
talking, but I can't see a word you say". That's me. I've coded in over
20 languages in my 40 years in this business, but no perl. Perl is
EXTREMELY harder to understand than COBOL, SQL, even Assembler. I have
no framework of reference points to "See" what the explanations of the
code means. Hence, my mind-boggling frustration (both experienced and
caused) with trying to understand your explanations. Soooo, when you
say "To call a method you need an object, so you can not
do...->Name->EmailAddress cuz ->Name usually returns a
string." I have a difficult time understanding the relationsship
between Object and command so that I would know that
"$self->TransactionObj->EmailAddress->User->Id" won't work.
Does any of that diatribe make any sense?<br>
    What I have is an Email address that someone helped me get from the
Header of the email.It looks like this:<br>
'<a class="moz-txt-link-abbreviated" href="mailto:KFCrocker@lbl.gov">KFCrocker@lbl.gov</a>'<br>
<br>
    So, how do I (or what do I code) get a users name of Id from that?<br>
<br>
    Thank you soooo much for your patience.<br>
<br>
<br>
Kenn<br>
LBNL<br>
On 5/26/2009 4:12 PM, Ruslan Zakirov wrote:
<blockquote
 cite="mid:589c94400905261612n70869eb4l702ebf22574b3642@mail.gmail.com"
 type="cite">
  <pre wrap="">Once again, ALWAYS cc mailing list! Comments below.

On Wed, May 27, 2009 at 2:36 AM, Ken Crocker <a class="moz-txt-link-rfc2396E" href="mailto:kfcrocker@lbl.gov"><kfcrocker@lbl.gov></a> wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">Ruslan,


    What? I don't understand your answer. Perhaps I didn't explain myself
very well. Let me try again. I understand the principals, I just don't know
what code or command or whatever (ie. LOOKs something like
self->TransactionObj->Name(?)->EmailAddress(?) or however it would look) to
    </pre>
  </blockquote>
  <pre wrap=""><!---->
To call a method you need an object, so you can not do
...->Name->EmailAddress cuz ->Name usually returns a string.

  </pre>
  <blockquote type="cite">
    <pre wrap="">get the Id or Name of the user when all I have is the email address.  I'm
    </pre>
  </blockquote>
  <pre wrap=""><!---->
If you have an id, name or email then you can get other details about
record by constructing an object and loading it, for example:

my $user_obj = RT::User->new( $RT::SysteUser );
$user_obj->Load($id); # or $name or use another ->Load* method
unless ( $user_obj->id ) {
   ... error handling ...
}

$user_obj->EmailAddress;
$user_obj->Name;
$user_obj->id;
...


  </pre>
  <blockquote type="cite">
    <pre wrap="">adding ticket watchers. I don't want them to be added by email address, but
by ID or name. I don't know how to code that command. I don't even know how
to say it correctly, let alone write it, code it, whatever. I've seen code
that looks like ($self->TransactionObj->CreatorObj->name; or
$self->TransactionObj->CreatorObj->Id;). Does that make any sense?
    </pre>
  </blockquote>
  <pre wrap=""><!---->
If you're in an user defined scrip action then you can do above things.


  </pre>
  <blockquote type="cite">
    <pre wrap="">Kenn
LBNL

On 5/26/2009 2:27 PM, Ruslan Zakirov wrote:

I think you miss concepts:
* each user is principal
* each group is principal
* but three above are records in different tables
* id of a user is equal to id of its principal record
* the same applies to groups
* in DB couldn't be a group with id equal to id of a user

* every watcher is a user
* id, name and email address are unique fields
* because of this uniquenes AddWatcher methods can take email address
as an argument

On Wed, May 27, 2009 at 1:14 AM, Ken Crocker <a class="moz-txt-link-rfc2396E" href="mailto:kfcrocker@lbl.gov"><kfcrocker@lbl.gov></a> wrote:


Greetings,

   I need to know how to take an email address (directly from an email
header) and get the actual UserId/PrincipalId from RT. I have the
address split out and now I just need an ID. I'm assuming that the
PrincipalId is the same thing as the Name field from the USERS Table. In
other words, I do NOT want to add an entire email address as a Ticket
watcher, I want the Name field from the USers Table (ie. instead of
<a class="moz-txt-link-abbreviated" href="mailto:KFCrocker@lbl.gov">KFCrocker@lbl.gov</a> I want KFCrocker or whatever name correlates to
<a class="moz-txt-link-abbreviated" href="mailto:KFCrocker@lbl.gov">KFCrocker@lbl.gov</a>). Thank you in advance.

Kenn
LBNL
_______________________________________________
<a class="moz-txt-link-freetext" href="http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users">http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users</a>

Community help: <a class="moz-txt-link-freetext" href="http://wiki.bestpractical.com">http://wiki.bestpractical.com</a>
Commercial support: <a class="moz-txt-link-abbreviated" href="mailto:sales@bestpractical.com">sales@bestpractical.com</a>


Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
Buy a copy at <a class="moz-txt-link-freetext" href="http://rtbook.bestpractical.com">http://rtbook.bestpractical.com</a>




    </pre>
  </blockquote>
  <pre wrap=""><!---->


  </pre>
</blockquote>
</body>
</html>