[Rt-commit] rt branch, 3.9-trunk, updated. rt-3.8.8-338-g0838fea
Jesse Vincent
jesse at bestpractical.com
Mon Aug 16 15:06:11 EDT 2010
The branch, 3.9-trunk has been updated
via 0838fea5c646645eeba15ce5e0a9f975dd991a88 (commit)
from e00834b0ef876b466bafab3f68af4bcb05f3526b (commit)
Summary of changes:
lib/RT/Approval/Rule.pm | 6 +++++-
lib/RT/Queue_Overlay.pm | 14 +++++++++++---
lib/RT/Rule.pm | 15 +++++++++------
3 files changed, 25 insertions(+), 10 deletions(-)
- Log -----------------------------------------------------------------
commit 0838fea5c646645eeba15ce5e0a9f975dd991a88
Author: Jesse Vincent <jesse at bestpractical.com>
Date: Mon Aug 16 15:07:44 2010 -0400
Giant stack traces during testing make me sad. This commit resolves the condition
that causes them.
diff --git a/lib/RT/Approval/Rule.pm b/lib/RT/Approval/Rule.pm
index f4acd8f..21c62b2 100644
--- a/lib/RT/Approval/Rule.pm
+++ b/lib/RT/Approval/Rule.pm
@@ -57,7 +57,11 @@ use constant _Queue => '___Approvals';
sub Prepare {
my $self = shift;
return unless $self->SUPER::Prepare();
- $self->TicketObj->Type eq 'approval';
+ if (($self->TicketObj->__Value('Type')||'') eq 'approval') {
+ return 1;
+ } else {
+ return undef
+ }
}
sub GetTemplate {
diff --git a/lib/RT/Queue_Overlay.pm b/lib/RT/Queue_Overlay.pm
index 4680dfd..4d7712b 100755
--- a/lib/RT/Queue_Overlay.pm
+++ b/lib/RT/Queue_Overlay.pm
@@ -71,6 +71,7 @@ no warnings qw(redefine);
use RT::Groups;
use RT::ACL;
use RT::Interface::Email;
+use RT::StatusSchema;
our @DEFAULT_ACTIVE_STATUS = qw(new open stalled);
our @DEFAULT_INACTIVE_STATUS = qw(resolved rejected deleted);
@@ -192,12 +193,19 @@ sub AvailableRights {
sub status_schema {
my $self = shift;
- require RT::StatusSchema;
- return RT::StatusSchema->load('') unless ref $self && $self->id;
+ unless (ref $self && $self->id) {
+ return RT::StatusSchema->load('')
+ }
+
+ my $name = '';
# If you don't have StatusSchemas set, name is default
my $schemas = RT->Config->Get('StatusSchemas');
- my $name = $schemas ? ($schemas->{ $self->Name } || 'default') : 'default';
+ if ($schemas && $self->Name && defined $schemas->{$self->Name}) {
+ $name = $schemas->{$self->Name};
+ } else {
+ $name = 'default';
+ }
my $res = RT::StatusSchema->load( $name );
$RT::Logger->error("Status schema '$name' for queue '".$self->Name."' doesn't exist") unless $res;
diff --git a/lib/RT/Rule.pm b/lib/RT/Rule.pm
index 14fc9d6..eab8a3a 100644
--- a/lib/RT/Rule.pm
+++ b/lib/RT/Rule.pm
@@ -54,15 +54,18 @@ use base 'RT::Action';
use constant _Stage => 'TransactionCreate';
use constant _Queue => undef;
+
+
sub Prepare {
my $self = shift;
- if ( $self->_Queue
- && $self->TicketObj->QueueObj->Name
- && ( $self->TicketObj->QueueObj->Name ne $self->_Queue ) )
- {
- return (0);
+ if ( $self->_Queue ) {
+ my $queue = RT::Queue->new( RT->SystemUser );
+ $queue->Load( $self->TicketObj->__Value('Queue') );
+ if ( $queue->Name ne $self->_Queue ) {
+ return (0);
+ }
+ return 1;
}
- return 1;
}
sub Commit {
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list