[Rt-commit] rt branch, 4.0/apply-scrips-to-multiple-queues, updated. rt-4.0.4-179-g0252372
Ruslan Zakirov
ruz at bestpractical.com
Wed Jan 11 16:00:31 EST 2012
The branch, 4.0/apply-scrips-to-multiple-queues has been updated
via 0252372ad5a7586001fa8653bd0918c09316364b (commit)
via 7929ded4b2f7ee9ddb9901bc5632fa73ac26c255 (commit)
via 982b83880cdab573f4f12c54a04f75c51397334d (commit)
from 103aa045f58a8fa7006780c360723582c6b86af4 (commit)
Summary of changes:
lib/RT/Record/ApplyAndSort.pm | 7 ++++++-
lib/RT/Scrip.pm | 3 +++
t/api/scrip.t | 23 ++++++++++++++++++++++-
3 files changed, 31 insertions(+), 2 deletions(-)
- Log -----------------------------------------------------------------
commit 982b83880cdab573f4f12c54a04f75c51397334d
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date: Thu Jan 12 00:45:22 2012 +0400
comment unexpected code
diff --git a/lib/RT/Scrip.pm b/lib/RT/Scrip.pm
index 2d872a8..a38a1dc 100644
--- a/lib/RT/Scrip.pm
+++ b/lib/RT/Scrip.pm
@@ -396,6 +396,9 @@ Returns the current value of Disabled.
sub Disabled {
my $self = shift;
+ # we check only one record as at this moment all applications
+ # should be disabled or none, this method should be dropped when
+ # we implement full functionality
my $record = RT::ObjectScrip->new( $self->CurrentUser );
$record->LoadByCols( Scrip => $self->id );
return $record->Disabled;
commit 7929ded4b2f7ee9ddb9901bc5632fa73ac26c255
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date: Thu Jan 12 00:58:55 2012 +0400
disable many applications under DB's transaction
diff --git a/lib/RT/Record/ApplyAndSort.pm b/lib/RT/Record/ApplyAndSort.pm
index a63a243..a8a5e40 100644
--- a/lib/RT/Record/ApplyAndSort.pm
+++ b/lib/RT/Record/ApplyAndSort.pm
@@ -220,10 +220,15 @@ sub SetDisabledOnAll {
my $list = $self->CollectionClass->new( $self->CurrentUser );
$list->Limit( FIELD => $field, VALUE => $id );
+ $RT::Handle->BeginTransaction;
foreach ( @{ $list->ItemsArrayRef } ) {
my ($status, $msg) = $_->SetDisabled( $args{Value} || 0 );
- return ($status, $msg) unless $status;
+ unless ( $status ) {
+ $RT::Handle->Rollback;
+ return ($status, $msg);
+ }
}
+ $RT::Handle->Commit;
return (1, $self->loc("Disabled all applications") );
}
commit 0252372ad5a7586001fa8653bd0918c09316364b
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date: Thu Jan 12 00:59:38 2012 +0400
very basic tests for disabling scrips
diff --git a/t/api/scrip.t b/t/api/scrip.t
index df15599..a8437f7 100644
--- a/t/api/scrip.t
+++ b/t/api/scrip.t
@@ -2,7 +2,7 @@
use strict;
use warnings;
use RT;
-use RT::Test tests => 61;
+use RT::Test tests => 66;
my $queue = RT::Test->load_or_create_queue( Name => 'General' );
ok $queue && $queue->id, 'loaded or created queue';
@@ -168,6 +168,27 @@ note 'check applications vs. templates';
main->check_applications($scrip, [$queue, $queue_B], [0]);
}
+note 'basic check for disabling scrips';
+{
+ my $scrip = RT::Scrip->new(RT->SystemUser);
+ my ($status, $msg) = $scrip->Create(
+ Queue => $queue->Id,
+ ScripAction => 'User Defined',
+ ScripCondition => 'User Defined',
+ Template => 'Blank',
+ );
+ ok($status, "created scrip");
+ is($scrip->Disabled, 0, "not disabled");
+
+ ($status,$msg) = $scrip->SetDisabled(1);
+ is($scrip->Disabled, 1, "disabled");
+
+ ($status, $msg) = $scrip->RemoveFromObject( $queue->id );
+ ok($status, 'removed scrip from queue');
+
+ is($scrip->Disabled, undef, "not applied");
+}
+
sub check_applications {
local $Test::Builder::Level = $Test::Builder::Level + 1;
my $self = shift;
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list