[rt-users] RT 4.0.17 and RT::Extension::MergeUsers 0.10 = merged user not in Basic - Owner list

2013-08-26 Thread Thomas Bätzler
Hi,

I've just installed MergeUsers for the first time to address the usual 
multiple email problem, and I'm seeing a weird problem when trying to change 
the ownership of a new ticket via the Basics properties page.

In order to test the MergeUsers functionality, I have added a new user to our 
RT, which I merged to my primary RT account. Since that moment, my account 
doesn't show up in the owner dropdown on the basic properties page anymore 
- not even after unmerging the new account. It's not a privilege problem, 
because I can still use take to take ownership of a ticket. When logged in as 
a different user, who hasn't been touched with the new extension, that user 
does shows up in the owner dropdown. Is this a known problem?  Since the 
README mentions a new user iterator, could that be the source of the problem?

Cheers,
Thomas


Re: [rt-users] Listing valid values in RT Custom Field

2013-08-26 Thread Ruslan Zakirov
On Mon, Aug 26, 2013 at 6:56 AM, Justin Fenech 
justin.fen...@strategicdata.com.au wrote:

 $cf-LoadByName(Name = $cf_name);


You didn't check that you actually loaded custom field:

unless ( $cf-id ) {
die Couldn't load CF $cf_name;
}


-- 
Best regards, Ruslan.


Re: [rt-users] Technician on vacation status

2013-08-26 Thread Ruslan Zakirov
On Thu, Aug 22, 2013 at 2:20 AM, Max McGrath mmcgr...@carthage.edu wrote:

 Hi all -

 Running RT 4.0.16.  Was talking with a co-worker today about this.  I was
 wondering if there is anything that can be put in place (easily) for when a
 person is out of the office for a long time.

 For instance , if a person is out on vacation for two weeks and not
 everybody is aware, maybe RT shouldn't allow tickets to be given to this
 person?

 Not sure if this is possible...or even a good idea.  Just a thought.

I havn't seen an extension for RT that helps with vacations and would be
cool to get one.




 Max




-- 
Best regards, Ruslan.


Re: [rt-users] Technician on vacation status

2013-08-26 Thread Rainer Duffner
Am Mon, 26 Aug 2013 16:57:40 +0400
schrieb Ruslan Zakirov r...@bestpractical.com:

 On Thu, Aug 22, 2013 at 2:20 AM, Max McGrath mmcgr...@carthage.edu
 wrote:
 
  Hi all -
 
  Running RT 4.0.16.  Was talking with a co-worker today about this.
  I was wondering if there is anything that can be put in place
  (easily) for when a person is out of the office for a long time.
 
  For instance , if a person is out on vacation for two weeks and not
  everybody is aware, maybe RT shouldn't allow tickets to be given to
  this person?
 
  Not sure if this is possible...or even a good idea.  Just a thought.
 
 I havn't seen an extension for RT that helps with vacations and would
 be cool to get one.


I have never tried this, but what happens if:

 - that user is disabled?
 - if that user has any old tickets in waiting for feedback status
   and then the tickets acutally get feedback and the user is disabled?

Disabling the user is harsh - but at least, nobody will be able to
assign new tickets to the user.

In my organization, people just send an email to everybody when they
are away for a longer time...obviously not a solution for a company
with 30k active RT users.

I would be really interested to know how organizations with a large
number of privileged RT users handle this.




[rt-users] ExtractCustomFieldValues and CF Select type

2013-08-26 Thread elifree
Hello,

I'm using RT 4.0.10 (on a test machine) and I'm testing the extension
ExtractCustomFieldValues to insert a value to a custom field (Select type
with a list of 4 values).

The incoming mail contains the value :
   Type du ticket-Incident

the template contains :
   Type du ticket|Body|Type du ticket-(.+)$|q|

then The ticket is created, and displays on the main page :
   Type du ticket:  Incident 

but when I modify the ticket (the basics), on the list of values of this CF,
the blue line is set on (no information) and not on Incident.

So if I want to modify any field there, I must re-select the value Incident
before saving, otherwise it's lost.

For example, the history of the ticket shows  :
- at the creation of the ticket :
   The RT System itself - Type du ticket Incident added 
- after modifying :
   '/the name of the owne/r' - Type du ticket Incident removed
 
With CF using type Freeform there is no problem, the value is correctly
inserted at creation time.

I've been searching for a while, I suppose it's simple, but even after some
holidays, I still don't find the reason why the correct value is not
selected.

Let me know if more information is needed.
Thanks a lot for your help,
Elisabeth



--
View this message in context: 
http://requesttracker.8502.n7.nabble.com/ExtractCustomFieldValues-and-CF-Select-type-tp55097.html
Sent from the Request Tracker - User mailing list archive at Nabble.com.


[rt-users] Cron Job

2013-08-26 Thread Bryon Baker
Looking for a better way!

This is what I have done so far.  I created the following Perl script which 
connects to a foreign data to determine if there are any available agents login 
to the phone system.
If there are agents to send messages to then run getmail to retrieve the 
messages.  It also makes sure the Getmail process is not already running.

Why do I want something better

1.   I get the following error when this runs. But messages appear to be 
delivered.

a.  Delivery error (command rt-mailgate 9285 wrote to stderr: cannot chdir to 
/root from /tmp/VurewGNWhm: Permission denied, aborting. at 
/usr/lib/perl5/5.16.2/File/Temp.pm line 902.)

b.msg 575/594 (85001 bytes), delivery error (command rt-mailgate 9285 wrote 
to stderr: cannot chdir to /root from /tmp/VurewGNWhm: Permission denied, 
aborting. at /usr/lib/perl5/5.16.2/File/Temp.pm line 902.)

2.  I continue to get all kinds of directories left behind in the /tmp 
directory.

3.  I am a newbe and know there has to be a better way.

Script being ran by cron as root

#!/usr/bin/perl -w
use DBI;
use DateTime;

my $host = '192.168.254.10';
my $port = '4308';
my $database = '';
my $user = '';
my $password = '';
my $command2 =  ;
my $currentID = $$;
my $dt = DateTime-now;

open(FILE, ps aux|);
while (FILE)
{
(my $uid,my $pid,my $cpu,my $mem,my $vsz,my $rss,my $tty,my $stat,my $start,my 
$time,my $command,my $command1,my $command2) = split;

$command = $command // Unknown;
$command = $command1 // Unknown;
$command = $command2 // Unknown;

my $result = index($command, /usr/bin/getmail);
if ($pid ne $currentID)
{
   if ($result  -1)
   {
 print $dt Scrip already running $command $pid $currentID $result\n;
 exit;
   }
}
}
my $dsn = DBI:mysql:database=$database;host=$host;port=$port ;
my $dbh = DBI-connect($dsn,  $user, $password);

my $sql = 'SELECT tabaddress.EmailAddress FROM shoreware.ports as Ports ';
$sql = $sql . 'inner join (shoreware.usercurrentswitch as UCS) on (Ports.PortID 
= UCS.HomePortID) ' ;
$sql = $sql . 'inner join (shoreware.users as Users) on (Ports.CurrentDN = 
Users.UserDN) ';
$sql = $sql . 'inner join (shoreware.workgroupagents as Agents) on 
(Users.UserDN = Agents.UserDN) ';
$sql = $sql . 'inner join (shoreware.Tabaddresses as tabaddress) on 
(Users.AddressID = tabaddress.AddressID) ';
$sql = $sql . 'Where (Ports.JackNumber not like \'%norr%\' or Ports.JackNumber 
is null and Agents.agentstateID0) ';
$sql = $sql . 'order by Agents.UserDN ';

my $sth = $dbh-prepare($sql);
$sth-execute;
my $rows = $sth-rows;
if ($rows  0)
{
  system(cd /tmp);
  system(getmail);
  print $dt Number of rows $rows\n;
}

Getmail configuration

[retriever]

#type = SimpleIMAPSSLRetriever

#server = imap.gmail.com

#port = 993

#username = testcope...@gmail.com

#password =

#mailboxes = ('BBaker',)



type = SimpleIMAPRetriever

server = 192.168.250.61

port = 143

username = clientservice@copesan.local

password =

mailboxes = ('To_Request_Tracker',)



[destination]

type = MDA_external

path = /usr/bin/rt-mailgate

user = rtuser

group = rtgroup

arguments = (--url, http://localhost/rt;, --queue, x CSR, --action, 
correspond,)



[options]

read_all = false

delete = false

received = false

delivered_to = false

message_log = /var/log/request-tracker/mvmail.log

Thanks in advance for all the help.

Bryon Baker
Network Operations Manager
Copesan - Specialists in Pest Solutions
800-267-3726  *  262-783-6261 ext. 2296
bba...@copesan.commailto:cstep...@copesan.com
www.copesan.comhttp://www.copesan.com/
Servicing North America with Local Care



[rt-users] RT::Authen::ExternalAuth SSO config.. tips please..

2013-08-26 Thread Michelle Sullivan
Hi All,

I'm moving from RT3.6 - RT4.0.17 and have decided to try going with
RT::Authen::ExternalAuth instead of an OverRide I wrote previously.

My system sets a cookie for all visitors, which is just a session ID (no
other information in the cookie - for security .. this is then linked to
the actual user information using Apache::Session to do the dirty work)

Inside the cookie retrieved information there is the Username, Email
addresses (multiple possible), Real Name, RT ID (single at the moment,
but will be multiple in the near future) and a load of other information
(address etc.)

Currently when someone logs in to the main site and updates their
preferences it updates the preferences in the RT user database.

Inside the retrieved information there is an 'auth' parameter which
contains the current state of the login and it's timeout.

My thoughts is for any un-authenticated user to be re-directed to my
main login page, get the new authenticated cookie, and be re-directed
back to the RT system.  The RT system will then load the user
information from the DB retrieved by the cookie ID.. and allow access in
that method.

Is this possible with RT::Authen::ExternalAuth ?

If so is it possible for it to update the timeout as necessary (so the
login doesn't idle out)?

If all of the above... any Docs/Examples on it?

(I have modules that can do this as well - but need to know what calls
what and what is expected in the return)

Glancing at the code, it suggests that it is not possible without
extensive work... can anyone confirm or deny?

Thanks,

-- 
Michelle Sullivan
http://www.mhix.org/



Re: [rt-users] Technician on vacation status

2013-08-26 Thread Jim Berry
Two thoughts:

1.  At our site we have  a cron job which checks for new tickets which have 
been sitting around for N hours and don't have a future start date.  If any are 
found, an email goes out to the owner and her manager and the RT admin with a 
ticket summary.This fails if all 3 are out, but has worked reasonably well, 
and does not depend on the accuracy of our electronic whiteboard.

2.  If it is possible to determine from an RT Scrip  if a staff member is on 
vacation,  then one could have a scrip with a custom condition checking if the 
transaction is assigning ownership to someone who is out.  If so, alert some 
key players.  (We have the Send Email action installed for a similar situation).

Jim

-Original Message-
From: rt-users-boun...@lists.bestpractical.com 
[mailto:rt-users-boun...@lists.bestpractical.com] On Behalf Of Rainer Duffner
Sent: Monday, August 26, 2013 10:10 AM
To: Ruslan Zakirov
Cc: RT users
Subject: Re: [rt-users] Technician on vacation status

Am Mon, 26 Aug 2013 16:57:40 +0400
schrieb Ruslan Zakirov r...@bestpractical.com:

 On Thu, Aug 22, 2013 at 2:20 AM, Max McGrath mmcgr...@carthage.edu
 wrote:

  Hi all -
 
  Running RT 4.0.16.  Was talking with a co-worker today about this.
  I was wondering if there is anything that can be put in place
  (easily) for when a person is out of the office for a long time.
 
  For instance , if a person is out on vacation for two weeks and not
  everybody is aware, maybe RT shouldn't allow tickets to be given to
  this person?
 
  Not sure if this is possible...or even a good idea.  Just a thought.
 
 I havn't seen an extension for RT that helps with vacations and would
 be cool to get one.


I have never tried this, but what happens if:

 - that user is disabled?
 - if that user has any old tickets in waiting for feedback status
   and then the tickets acutally get feedback and the user is disabled?

Disabling the user is harsh - but at least, nobody will be able to assign new 
tickets to the user.

In my organization, people just send an email to everybody when they are away 
for a longer time...obviously not a solution for a company with 30k active RT 
users.

I would be really interested to know how organizations with a large number of 
privileged RT users handle this.




Re: [rt-users] ExtractCustomFieldValues and CF Select type

2013-08-26 Thread Kevin Falcone
On Mon, Aug 26, 2013 at 07:30:08AM -0700, elifree wrote:
 I'm using RT 4.0.10 (on a test machine) and I'm testing the extension
 ExtractCustomFieldValues to insert a value to a custom field (Select type
 with a list of 4 values).
 
 The incoming mail contains the value :
Type du ticket-Incident
 
 the template contains :
Type du ticket|Body|Type du ticket-(.+)$|q|
 
 then The ticket is created, and displays on the main page :
Type du ticket:Incident 
 
 but when I modify the ticket (the basics), on the list of values of this CF,
 the blue line is set on (no information) and not on Incident.
 
 So if I want to modify any field there, I must re-select the value Incident
 before saving, otherwise it's lost.
 
 For example, the history of the ticket shows  :
 - at the creation of the ticket :
The RT System itself - Type du ticket Incident added 
 - after modifying :
'/the name of the owne/r' - Type du ticket Incident removed
  
 With CF using type Freeform there is no problem, the value is correctly
 inserted at creation time.
 
 I've been searching for a while, I suppose it's simple, but even after some
 holidays, I still don't find the reason why the correct value is not
 selected.

I'd bet your greedy regex (.+)$ is grabbing trailing whitespace, which
doesn't exactly match the value in the select one CF.

You can go look in the ObjectCustomFieldValues table for the value of
the CF on your test ticket and check to see what the actual Content
is.

-kevin


pgpZtt1AupU_L.pgp
Description: PGP signature


[rt-users] Most efficient way to update custom fields without creating too many transactions

2013-08-26 Thread Landon Stewart
Hello,

Currently we are utilizing some internal systems to lookup the Customer ID
and other data related to that customer to add to Incident Reports coming
into RT.  Some organizations include a list of IP addresses or URLs related
to a specific type of Incident.  Those IP addresses or URLs might belong to
several customers and the processing of the ticket becomes more arduous to
process by my Action modules.  While this is not a problem in itself
because it eventually does get processed the processing also adds a number
of of Transactions that is multiples of the required custom fields to be
updated.

For example if there are 1000 IP addresses in a ticket and there are 4
custom fields to be updated it creates 4000 transactions for that one
ticket when looping each update individually.

What I'm wondering is if there's a better way to make these updates so
multiple values can be added to the ticket with one transaction.

Example:

*This:*
foreach my $customerID (@customerids) {
  $ticket-AddCustomFieldValue( Field = 'Customer', Value = $customerID );
}

Vs. This:
$ticket-AddCustomFieldValue( Field = 'Customer', Value =
join(\n,@customerids) );

I noticed the Content field in the ObjectCustomFieldValues table is
limited to varchar(255) so the second psudo-code example above would
probably not be a good idea.

ALSO - If anyone has advice on how to split incoming tickets for tons of IP
address into individual tickets please let me know.  I have an idea of how
I'm going to do it already based on some parsing and create perl code but
there's always more than one way to skin a cat.

In fact, having just re-read what I wrote above, I think I might be going
about this incorrectly.  Perhaps I should not be adding ALL the data per
Incident Report but rather per Incident.  I should probably restrict the
data added to the Incident Report to just Customer ID only.  Perhaps the
single report having many IP addresses listed should be linked to a new
Incident per customer instead of creating multiple Incident Reports.  That
actually makes more sense.

Thanks for reading!  Any feedback is appreciated.

-- 
Landon Stewart :: lstew...@iweb.com
Lead Specialist, Abuse and Security Management
Spécialiste principal, gestion des abus et sécurité
http://iweb.com :: +1 (888) 909-4932