Hi Tony,
 
i think this is the problem:
 
$l->BaseObj->SetDue($duedate->ISO);
 
should by $l->TicketObj->SetDue($duedate->ISO);
 
Like this:
 
# your calculations
my $duedate = RT::Date->new($RT::SystemUser);

my $bus_hours_duetime = 24;

$duedate->Set(Format=>'unix', Value=>$bus_hours_duetime);

$self->TicketObj->SetDue($duedate->ISO);

 

# find depon ticket

my $DepOnBy = $self->TicketObj->DependedOnBy;

$RT::Logger->debug("BaseObj called"); 

 

# loop through all deponbys

while (my $dep = $DepOnBy->Next) {

    my $systicket = RT::Ticket->new($RT::SystemUser);

 

    # Get ID of all deponby tickets and load from id the ticketobj

    $systicket->Load($dep->BaseObj->Id);

    my $Members = $systicket->Members;

 

# from here we have all our depended on by tickets, we will set the due here

while(my $l = $Members->Next ) {

$l->TicketObj->SetDue($duedate->ISO);

 }

$RT::Logger->debug("BaseObj called"); 

}

return 1;

 

Otherwise, let the logger give out the content of the variables.
Torsten




Kuehne + Nagel (AG & Co.) KG, Geschaeftsleitung: Hans-Georg Brinkmann (Vors.), 
Dirk Blesius (Stellv.), Reiner Heiken (Stellv.), Bruno Mang, Alfred Manke, 
Christian Marnetté (Stellv.), Mark Reinhardt (Stellv.), Jens Wollesen, Rainer 
Wunn, Sitz: Bremen, Registergericht: Bremen, HRA 21928, USt-IdNr.: DE 
812773878, Persoenlich haftende Gesellschaft: Kuehne & Nagel A.G., Sitz: 
Contern/Luxemburg Geschaeftsfuehrender Verwaltungsrat: Klaus-Michael Kuehne



________________________________

Von: rt-users-boun...@lists.bestpractical.com 
[mailto:rt-users-boun...@lists.bestpractical.com] Im Auftrag von TONY JOHN - 
ERS, HCL Tech
Gesendet: Mittwoch, 25. November 2009 12:53
An: Torsten Brumm
Cc: rt-users@lists.bestpractical.com
Betreff: Re: [rt-users] Set Due Date - Child Tickets



Hi Torsten,

 

I tried this Scrip but it isn't working

 

my $duedate = RT::Date->new($RT::SystemUser);

my $bus_hours_duetime = 24;

$duedate->Set(Format=>'unix', Value=>$bus_hours_duetime);

$self->TicketObj->SetDue($duedate->ISO);

my $DepOnBy = $self->TicketObj->DependedOnBy;

$RT::Logger->debug("BaseObj called"); 

while (my $dep = $DepOnBy->Next) {

my $systicket = RT::Ticket->new($RT::SystemUser);

$systicket->Load($dep->BaseObj->Id);

my $Members = $systicket->Members;

while(my $l = $Members->Next ) {

$l->BaseObj->SetDue($duedate->ISO);

 }

$RT::Logger->debug("BaseObj called"); 

}

return 1;

 

Regards,

Tony

________________________________

From: Torsten Brumm [mailto:torsten.br...@googlemail.com] 
Sent: Wednesday, November 25, 2009 5:02 PM
To: TONY JOHN - ERS, HCL Tech
Cc: rt-users@lists.bestpractical.com
Subject: Re: [rt-users] Set Due Date - Child Tickets

 

Hi Tony,

i think the problem is my $link = $self->TicketObj->DependedOnBy->Next; which 
gives you back all possible DependedOnBy Tickets, also if you have more. I 
tried something similar last week. 

 

Attached a piece of code to find all deponby tickets and update the deponbys 
with something.

 

my $DepOnBy = $self->TicketObj->DependedOnBy;
my $dep;
my $l;
while( $dep = $DepOnBy->Next ) {
       next unless( $dep->BaseURI->IsLocal );
       my $systicket = RT::Ticket->new($RT::SystemUser);
       $systicket->Load($dep->BaseObj->Id);
       my $Members = $systicket->Members;
       while( $l = $Members->Next ) {
       next unless( $l->TargetURI->IsLocal );
               next unless( $l->BaseObj->Queue =~ /^(?:1043|612|613)$/ );
               
$self->TicketObj->AddLink(Type=>'MemberOf',Base=>$l->BaseObj->Id);
       }
}
return 1;

 

In my case i added to all deponby tickets a new member, you can replace this 
with your setdue part i think,


Torsten

2009/11/25 TONY JOHN - ERS, HCL Tech <tonyj...@hcl.in>

Hi ,

 

I'm trying to set the Due date  of  the child Ticket.But my scrips is giving 
some error.Please find below  the Custom action clean up code used for the same:

 

my $link = $self->TicketObj->DependedOnBy->Next;

my $duedate = RT::Date->new($RT::SystemUser);

my $hours_duetime = 24;

$duedate->Set(Format=>'unix', Value=>$hours_duetime);

$self->TicketObj->SetDue($duedate->ISO);

$link->BaseObj->SetDue($duedate->ISO); 

return 1;

 

 

 

Error : Log File

 

[Wed Nov 25 09:08:30 2009] [debug]: Committing scrip #11 on txn #114748 of 
ticket #1972 (/usr/lib/perl5/vendor_perl/5.10.0/RT/Scrips_Overlay.pm:190)

[Wed Nov 25 09:08:30 2009] [error]: Scrip 125 Commit failed: Can't call method 
"BaseObj" on an undefined value at (eval 1531) line 8.

 

Any help?

 

Regards,

Tony

DISCLAIMER:
-----------------------------------------------------------------------------------------------------------------------
 
The contents of this e-mail and any attachment(s) are confidential and intended 
for the named recipient(s) only. 
It shall not attach any liability on the originator or HCL or its affiliates. 
Any views or opinions presented in 
this email are solely those of the author and may not necessarily reflect the 
opinions of HCL or its affiliates. 
Any form of reproduction, dissemination, copying, disclosure, modification, 
distribution and / or publication of 
this message without the prior written consent of the author of this e-mail is 
strictly prohibited. If you have 
received this email in error please delete it and notify the sender 
immediately. Before opening any mail and 
attachments please check them for viruses and defect.
 
-----------------------------------------------------------------------------------------------------------------------


_______________________________________________
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: sa...@bestpractical.com


Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
Buy a copy at http://rtbook.bestpractical.com




-- 
MFG

Torsten Brumm

http://www.brumm.me
http://www.elektrofeld.de


_______________________________________________
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: sa...@bestpractical.com


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at http://rtbook.bestpractical.com

Reply via email to