Re: [rt-users] Open Ticket On Resolve Of Dependants?

2013-02-12 Thread Christian Loos
Hi Kevin,

I can't understand that my scrip didn't work for you as we use this
scrip in our RT without any problem.

If you change your line
$l-BaseObj-SetStatus('open');
to
$l-BaseObj-SetStatus('open')
unless $l-BaseObj-HasUnresolvedDependencies;
the parent ticket is only open until all child tickets are resolved.

Chris

Am 06.02.2013 20:36, schrieb Kevin Comer:
 Christian,
 
 I tried this script you sent and was not able to get any results.
 
 The script in the first post does work, just not in the way we would like.
 
 we would like for the script to not fire until all the tickets have been
 resolved.
 How can I modify this script?
 
 Condition: On Status Change
  Action: User Defined
  Template: Global Template Blank
 
 Customer action: return 1;
 Custom action cleanup code:
return 1 if ($self-TransactionObj-NewValue !~
 /^(?:resolved|deleted|rejected)$/);
my $DepOnBy = $self-TicketObj-DependedOnBy;
while( my $l = $DepOnBy-Next ) {
  next unless( $l-BaseURI-IsLocal );
  next unless( $l-BaseObj-Status =~ /^(?:new|open|stalled)$/ );
 
  # here you can add any action
  # see also example below
  $l-BaseObj-SetStatus('open');
}
$DepOnBy = undef;
return 1;
 
 
 
 Kevin Comer


-- 
Help improve RT by taking our user survey: 
https://www.surveymonkey.com/s/N23JW9T


[rt-users] Email address updating with RT::Authen::ExternalAuth

2013-02-12 Thread Peter van Zetten
Hi,

Our organisation was recently merged with another, and we have a lot of
email address updates coming. Normally I could just do a straight s/
old.com/new.com/ in the database, but there will be unpredictable changes
in naming conventions where there are collisions. For instance
joe.blo...@old.com will become j.blo...@new.com where there's already a Joe
Bloggs in the new organisation.

The RT user table is populated from AD with the ExternalAuth plugin, on
user action (not syncing, as there are *far* too many users to import in
the org as a whole - our RT is just for a couple of departments). Most user
interaction is by email only.

This has served us well, but as various departments and users are migrated
to the new email domain, we're getting errors such as this:

[Thu Feb  7 15:16:08 2013] [info]:
RT::Authen::ExternalAuth::CanonicalizeUserInfo returning ***valid updated
info***
(/opt/rt4/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth.pm:665)
[Thu Feb  7 15:16:08 2013] [crit]: User creation failed in mailgateway:
Name in use (/opt/rt4/sbin/../lib/RT/Interface/Email.pm:245)
[Thu Feb  7 15:16:10 2013] [warning]: Couldn't load user
'user.n...@new.com'.giving
up (/opt/rt4/sbin/../lib/RT/Interface/Email.pm:1023)
[Thu Feb  7 15:16:10 2013] [crit]: User  'user.n...@new.com' could not be
loaded in the mail gateway (/opt/rt4/sbin/../lib/RT/Interface/Email.pm:245)
[Thu Feb  7 15:16:11 2013] [error]: RT could not load a valid user, and
RT's configuration does not allow
for the creation of a new user for this email (user.n...@new.com).

You might need to grant 'Everyone' the right 'CreateTicket' for the
queue General. (/opt/rt4/sbin/../lib/RT/Interface/Email.pm:245)
[Thu Feb  7 15:16:12 2013] [error]: RT could not load a valid user, and
RT's configuration does not allow
for the creation of a new user for your email.
(/opt/rt4/sbin/../lib/RT/Interface/Email.pm:245)
[Thu Feb  7 15:16:13 2013] [error]: Could not record email: Could not load
a valid user (/opt/rt4/share/html/REST/1.0/NoAuth/mail-gateway:75)

So it seems that it detects the account details correctly by searching the
AD for the new email address, but it tries to create a new account which
fails because there's a username collision. It doesn't seem to attempt to
update the existing account with that username. The user has just a
straightforward non-privileged account. The 'CreateTicket' permission is
granted for 'Everyone', but that's clearly not the issue in this case.

I've scanned the config options for both RT and ExternalAuth, and very
briefly picked through the code, and I can't see anything obvious to allow
the mail attribute to be updated.

Can anyone shed some light on this? I'll have to keep updating addresses
manually as I get the failure notification otherwise...


-- 
Help improve RT by taking our user survey: 
https://www.surveymonkey.com/s/N23JW9T

[rt-users] [rt-announce] RT Training in Amsterdam, Netherlands - March 20th 21st, 2013

2013-02-12 Thread Keri

Best Practical Solutions provides unparalleled instruction in how to get the 
most out of RT.

Our first training session of 2013 will be held in Amsterdam on March 20th and 
21st. As we like to keep class sizes relatively intimate, register soon or we 
may not be able to guarantee you a seat.

This training will introduce you to the new features in RT4 as part of a 
comprehensive overview of RT. Whether you're an old hand at RT or a recent 
convert, you'll have a good understanding of all of RT's features and 
functionality by the end of the session.

The first day starts off with a tour of RT's web interface and continues with a 
detailed exploration and explanation of RT's functionality, aimed at 
non-programmer RT administrators. We'll walk through setting up a common 
helpdesk configuration, from rights management, constructing workflows and 
notifications, and the basics of Lifecycles.

The second day of training picks up with server-side RT administration and 
dives into what you need to safely customize and extend RT. We'll cover 
upgrading and deploying RT, database tuning, advanced Lifecycle configurations, 
writing tools with RT's API, building an extension, and demonstrate how to 
extensibly alter the web UI and internal functions.

It goes without saying that you'll get the most out of training if you attend 
both days of the course, but we've designed the material so that you can step 
out after the first day with a dramatically improved understanding of how to 
use RT or show up on the second day and get quickly up to speed on how to make 
RT do your bidding.

Pricing and Payment

The cost of the class includes training materials, a continental breakfast and 
an afternoon snack. Please note that lunch will not be provided.

Single Day - USD 995
Both Days - USD 1495 (25% savings)

To Register

If you'd like to pay with Visa, MasterCard or Discover, please visit Best 
Practical's online store at https://shop.bestpractical.com/#Training. 
Unfortunately we are unable to accept American Express or PayPal.

If you'd prefer to pay with a purchase order, please email us at 
train...@bestpractical.com. Be sure to include:

* If you want to attend both days or a single day
* Full names and email addresses of attendees

Please also contact us at train...@bestpractical.com for discounted pricing if 
you are from an academic institution or if you'd like to send more than 3 
people.
___
rt-announce mailing list
rt-annou...@lists.bestpractical.com
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-announce


-- 
Help improve RT by taking our user survey: 
https://www.surveymonkey.com/s/N23JW9T


Re: [rt-users] Open Ticket On Resolve Of Dependants?

2013-02-12 Thread Kevin
Thanks

This code added to the original script (OpenDependantsOnResolve) works great
Thank You!

$l-BaseObj-SetStatus('open')
unless $l-BaseObj-HasUnresolvedDependencies; 

Condition: On Status Change
Action: User Defined
Template: Global Template Blank

Customer action: return 1;

Custom action cleanup code: 
  return 1 if ($self-TransactionObj-NewValue !~
/^(?:resolved|deleted|rejected)$/);
  my $DepOnBy = $self-TicketObj-DependedOnBy;
  while( my $l = $DepOnBy-Next ) {
next unless( $l-BaseURI-IsLocal );
next unless( $l-BaseObj-Status =~ /^(?:new|open|stalled)$/ );

# here you can add any action
# see also example below
$l-BaseObj-SetStatus('open')
unless $l-BaseObj-HasUnresolvedDependencies;
  }
  $DepOnBy = undef;
  return 1;



--
View this message in context: 
http://requesttracker.8502.n7.nabble.com/Open-Ticket-On-Resolve-Of-Dependants-tp52605p52701.html
Sent from the Request Tracker - User mailing list archive at Nabble.com.


-- 
RT training in Amsterdam, March 20-21: 
http://bestpractical.com/services/training.html

Help improve RT by taking our user survey: 
https://www.surveymonkey.com/s/N23JW9T


Re: [rt-users] Odd behavior, RT automatically reverts changes to Custom Fields

2013-02-12 Thread Rolf Krogstad

Ruslan Zakirov ruz at bestpractical.com writes:

 
 Hi,
 
 It's known issue with scrips that set custom fields based on other
 fields. You workaround it either by not allowing people to change
 custom fields you auto set with scrips or by running your scrip in
 batch stage.
 
 Some details. RT processes updates to custom fields one by one from
 request args, your scrip kicks in in the middle and then RT thinks,
 when it gets to a field that was changed by a scrip, that user picked
 different value and changes it back.
 
 On Thu, Jun 14, 2012 at 5:48 PM, Matthew W. matt.k.wong at gmail.com 
wrote:
  Hello,
 
  I'm relatively new to RT and have been running into this problem for a
  few days now.  I've looked everywhere and haven't found a clue.  The
  closest thing I could find was documented in this post:
 
  http://www.mail-archive.com/rt-users at 
lists.bestpractical.com/msg10037.html
 
  But, I really don't want to to undo the changes that RT automatically
  undoes
 
  Basically, whenever I make changes to a custom field from a scrip
  whatever the value that I add automatically gets reverted back to the
  old value.  I tried adding code to delete the old value first, but RT
  just adds the old value back.
 
 
  Here's some psuedocode (code not tested and may contain typos, but my
  code works just fine as I can see the transactions in the ticket
  history):
 
  my $Value = 'some value';
 
  my $CFName = 'customCF';
  my $CF-LoadByName( Name = $CFName);
 
  #Delete the old value:
  $self-TicketObjDeleteCustomFieldValue(
      Field = $CFName,
      Value = $self-TicketObj-FirstCustomFieldValue($CFName)
  );
 
  #Set the new value:
  $self-TicketObj-AddCustomFieldValue( Field = $CF, Value = $Value);
 
  Bottom line: does anyone know how to prevent RT from undoing the
  additions to a custom field?  This is in RT 4.0.4.
 
  --Matthew.
 

I just upgraded from version 3.6.6 to 4.0.10.
I followed the UPGRADE-X.X.X process.
My problem seems to be what is described above, but I don't know how to fix it.
The NEW TICKET function worked in 3.6.6 but not in 4.0.10

When I log in I have the option of click a button to create a new ticket.
Next to that button is a dropdown list to indicate the Queue.  We have custom 
fields defined based on the Queue selected.
No matter what Queue I select it reverts to the first in the list even before 
I click the NEW TICKET button.

If I use the Quick Create, I have all my custom fields available and can 
update them there.

Any Ideas?

Rolf 





-- 
RT training in Amsterdam, March 20-21: 
http://bestpractical.com/services/training.html

Help improve RT by taking our user survey: 
https://www.surveymonkey.com/s/N23JW9T

Re: [rt-users] Printing Charts

2013-02-12 Thread Thomas Sibley
On 02/11/2013 06:54 PM, April Rosenberg wrote:
 Good Afternoon,
 
 I am running 4.0.5 on Ubuntu.  After creating queries and going to the
 chart options.  I cannot print the charts out, it is the title and the
 rest is a blank page in IE and Firefox.  There are no errors in the
 apache logs and the charts appear fine.  This is true of pie and bar
 charts.  I have tried searching, but most info is about display being
 broken as well as printing.  I am using the default template, with a
 change in color on css only.
 
 Does anyone have any ideas?

The print stylesheet is specifically hiding all content on the Charts
page, but I'm not sure why.  It's a holdover from an older print
stylesheet (before the new one in 4.0.5), and I suspect it's a mistake
and hiding too much by accident.

Try applying this patch:

   curl -s https://github.com/bestpractical/rt/commit/ed77c63.patch \
   | patch -p1 -d /opt/rt4

and then clearing your Mason cache and restarting RT.  You'll need to
clear your browser cache (or force reload the page) as well since it
will aggressively cache the print styles.

I expect the patch above will be in the next release of RT.


-- 
RT training in Amsterdam, March 20-21: 
http://bestpractical.com/services/training.html

Help improve RT by taking our user survey: 
https://www.surveymonkey.com/s/N23JW9T


[rt-users] Suppressing dashboard subscriptions if they contain no tickets?

2013-02-12 Thread dfossum
Is there a way to control whether a dashboard subscription sends an email
depending on whether or not the associated query returns results?

We'd like our support team to receive a scheduled report of all new tickets
opened in a given time period and would like this dashboard sent regardless
of whether or not new tickets were opened. We'd like others outside the
support team to be notified only when new tickets are created, but not
bother them with an email containing no tickets. 

Is there a way to do what we're looking for?

Thanks.
Dan. 



--
View this message in context: 
http://requesttracker.8502.n7.nabble.com/Suppressing-dashboard-subscriptions-if-they-contain-no-tickets-tp52704.html
Sent from the Request Tracker - User mailing list archive at Nabble.com.


-- 
RT training in Amsterdam, March 20-21: 
http://bestpractical.com/services/training.html

Help improve RT by taking our user survey: 
https://www.surveymonkey.com/s/N23JW9T


[rt-users] rt-mailgate error 302 with WebExternalAuth and Apache OpenID module

2013-02-12 Thread Thomas Klump
I'm working on implementing RT with OpenID. I started with a basic installation 
of RT and I created some test tickets from within the webui and via email. 
Everything worked great. I then started to implement OpenID for authentication. 
I tried using the RT OpenID plugin but I was never able to get that to work and 
there was very little documentation out there about it. I then decided to 
install WebExternalAuth use the Apache OpenID module for authentication. I was 
able to get this to work and now the web interface works great. Unfortunately, 
now the rt-mailgate is no longer working. When I email the queue the following 
error is logged in the maillog:

Feb 13 03:17:03 sendmail[20134]: r1D3Gsht020130: 
to=|/usr/local/rt/bin/rt-mailgate --queue 'Customer Service' --action 
correspond --url http://rt.example.com/;, 
ctladdr=customerserv...@rt.example.commailto:customerserv...@rt.example.com 
(8/0), delay=00:00:08, xdelay=00:00:01, mailer=prog, pri=123857, dsn=4.0.0, 
stat=Deferred: prog mailer (/usr/sbin/smrsh) exited with EX_TEMPFAIL

I then tried testing it from command line with the following results:

# (echo Subject: test; echo; echo test) |/usr/local/rt/bin/rt-mailgate --queue 
'Customer Service' --action correspond --url http://rt.example.com --debug
/usr/local/rt/bin/rt-mailgate: temp file is '/tmp/b4OHJlWSwH/Kgebhr0hI2'
/usr/local/rt/bin/rt-mailgate: connecting to 
http://rt.example.com/REST/1.0/NoAuth/mail-gateway
An Error Occurred
=

302 Found

/usr/local/rt/bin/rt-mailgate: undefined server error

I then switched back to normal authentication methods in my apache virtualhost 
config and then rt-mailgate would process emails successfully. Here is my 
apache vituralhost configuration that seems to be the problem:

VirtualHost *:80
# Optional apache logs for RT
# ErrorLog /usr/local/rt/var/log/apache2.error
# TransferLog /usr/local/rt/var/log/apache2.access
# LogLevel debug

AddDefaultCharset UTF-8
DocumentRoot /usr/local/rt/share/html

Location /
# If I comment out the section below and uncomment the two lines below that 
everything works
AuthType OpenID
require valid-user
AuthOpenIDTrusted ^http://www.example.com/$
AuthOpenIDUseCookie On
AuthOpenIDSingleIdP http://www.example.com
AuthOpenIDTrustRoot http://rt.example.com
AuthOpenIDCookieName rt_auth_cookie
AuthOpenIDSecureCookie Off

#   Order allow,deny
#   Allow from all

SetHandler modperl
PerlResponseHandler Plack::Handler::Apache2
PerlSetVar psgi_app /usr/local/rt/sbin/rt-server
/Location
Perl
use Plack::Handler::Apache2;

Plack::Handler::Apache2-preload(/usr/local/rt/sbin/rt-server);
/Perl
/VirtualHost


Thanks for any help on this issue.

Thomas Klump


-- 
RT training in Amsterdam, March 20-21: 
http://bestpractical.com/services/training.html

Help improve RT by taking our user survey: 
https://www.surveymonkey.com/s/N23JW9T

[rt-users] rt-mailgate error 302 with WebExternalAuth and Apache OpenID module

2013-02-12 Thread Thomas Klump
I'm working on implementing RT with OpenID. I started with a basic installation 
of RT and I created some test tickets from within the webui and via email. 
After everything was working I started to implement OpenID for authentication. 
I tried using the RT OpenID plugin but I was never able to get that to work and 
there was next to no documentation out there about it. I then decided to 
install WebExternalAuth use the Apache OpenID module for authentication. I was 
able to get this to work and now the web interface works great. Unfortunately, 
now the rt-mailgate is no longer working. When I email the queue the following 
error is logged in the maillog:

Feb 13 03:17:03 sendmail[20134]: r1D3Gsht020130: 
to=|/usr/local/rt/bin/rt-mailgate --queue 'Customer Service' --action 
correspond --url http://rt.example.com/;, 
ctladdr=customerserv...@rt.example.com (8/0), delay=00:00:08, 
xdelay=00:00:01, mailer=prog, pri=123857, dsn=4.0.0, stat=Deferred: prog mailer 
(/usr/sbin/smrsh) exited with EX_TEMPFAIL

I then tried testing it from command line with the following results:

# (echo Subject: test; echo; echo test) |/usr/local/rt/bin/rt-mailgate --queue 
'Customer Service' --action correspond --url http://rt.example.com --debug
/usr/local/rt/bin/rt-mailgate: temp file is '/tmp/b4OHJlWSwH/Kgebhr0hI2'
/usr/local/rt/bin/rt-mailgate: connecting to 
http://rt.example.com/REST/1.0/NoAuth/mail-gateway
An Error Occurred
=

302 Found

/usr/local/rt/bin/rt-mailgate: undefined server error

I then switched back to normal authentication methods in my apache virtualhost 
config and then rt-mailgate would process emails successfully. Here is my 
apache vituralhost configuration that is causing the errors:

VirtualHost *:80
# Optional apache logs for RT
# ErrorLog /usr/local/rt/var/log/apache2.error
# TransferLog /usr/local/rt/var/log/apache2.access
# LogLevel debug

AddDefaultCharset UTF-8
DocumentRoot /usr/local/rt/share/html

Location /
# If I comment out the section below and uncomment the two lines below that 
everything works
AuthType OpenID
require valid-user
AuthOpenIDTrusted ^http://www.example.com/$
AuthOpenIDUseCookie On
AuthOpenIDSingleIdP http://www.example.com
AuthOpenIDTrustRoot http://rt.example.com
AuthOpenIDCookieName rt_auth_cookie
AuthOpenIDSecureCookie Off

#   Order allow,deny
#   Allow from all

SetHandler modperl
PerlResponseHandler Plack::Handler::Apache2
PerlSetVar psgi_app /usr/local/rt/sbin/rt-server
/Location
Perl
use Plack::Handler::Apache2;

Plack::Handler::Apache2-preload(/usr/local/rt/sbin/rt-server);
/Perl
/VirtualHost


Thanks for any help on this issue.
Thomas Klump


-- 
RT training in Amsterdam, March 20-21: 
http://bestpractical.com/services/training.html

Help improve RT by taking our user survey: 
https://www.surveymonkey.com/s/N23JW9T