[Rt-commit] rt branch, 4.0/reminders-of-deleted-tickets, created. rt-4.0.5-87-gedf01b4
? sunnavy
sunnavy at bestpractical.com
Fri Mar 9 00:21:04 EST 2012
The branch, 4.0/reminders-of-deleted-tickets has been created
at edf01b4a56ae4fabcbf0da03a087cf9461a2db17 (commit)
- Log -----------------------------------------------------------------
commit 1b0acde96705d154d8ac7a97042014f0a111efaa
Author: sunnavy <sunnavy at bestpractical.com>
Date: Fri Mar 9 09:47:31 2012 +0800
show reminders for deleted tickets
so user can resolve them from web ui
diff --git a/share/html/Elements/ShowReminders b/share/html/Elements/ShowReminders
index 34cde46..6c57ae0 100644
--- a/share/html/Elements/ShowReminders
+++ b/share/html/Elements/ShowReminders
@@ -60,6 +60,7 @@ my $dueobj = $reminder->DueObj;
my $overdue = $dueobj->Unix > 0 && $dueobj->Diff < 0 ? 1 : 0;
my $targets = RT::Tickets->new($session{'CurrentUser'});
+$targets->{'allow_deleted_search'} = 1;
$targets->FromSQL( "ReferredToBy = " . $reminder->id );
if ( my $ticket= $targets->First ) {
commit 13d8af90ccf22c5b8fd1808563c0ce75fba7c238
Author: sunnavy <sunnavy at bestpractical.com>
Date: Fri Mar 9 11:14:15 2012 +0800
abort reminders creation in advance if the ticket can't be loaded or is deleted
diff --git a/lib/RT/Reminders.pm b/lib/RT/Reminders.pm
index e7c28a8..f1d0b50 100644
--- a/lib/RT/Reminders.pm
+++ b/lib/RT/Reminders.pm
@@ -116,6 +116,16 @@ sub Add {
@_
);
+ my $ticket = RT::Ticket->new($self->CurrentUser);
+ $ticket->Load($self->Ticket);
+ if ( !$ticket->id ) {
+ return ( 0, $self->loc( "Failed to load ticket [_1]", $self->Ticket ) );
+ }
+
+ if ( $ticket->Status eq 'deleted' ) {
+ return ( 0, $self->loc("Can't link to a deleted ticket") );
+ }
+
my $reminder = RT::Ticket->new($self->CurrentUser);
my ( $status, $msg ) = $reminder->Create(
Subject => $args{'Subject'},
commit 8979162f76436fec4ffd202880797d91a2cc3c68
Author: sunnavy <sunnavy at bestpractical.com>
Date: Fri Mar 9 11:15:19 2012 +0800
return the error message if the reminder is not created
diff --git a/lib/RT/Interface/Web.pm b/lib/RT/Interface/Web.pm
index 39c0c8c..cc222cb 100644
--- a/lib/RT/Interface/Web.pm
+++ b/lib/RT/Interface/Web.pm
@@ -2165,7 +2165,12 @@ sub ProcessTicketReminders {
Owner => $args->{'NewReminder-Owner'},
Due => $due_obj->ISO
);
- push @results, loc("Reminder '[_1]' added", $args->{'NewReminder-Subject'});
+ if ( $add_id ) {
+ push @results, loc("Reminder '[_1]' added", $args->{'NewReminder-Subject'});
+ }
+ else {
+ push @results, $msg;
+ }
}
return @results;
}
commit 384b3d311a8b44504e929d0a8611126c8f622022
Author: sunnavy <sunnavy at bestpractical.com>
Date: Fri Mar 9 11:15:35 2012 +0800
test reminders on deleted tickets
diff --git a/t/web/reminders.t b/t/web/reminders.t
index 32e130c..343a5b0 100644
--- a/t/web/reminders.t
+++ b/t/web/reminders.t
@@ -1,7 +1,7 @@
#!/usr/bin/env perl
use strict;
use warnings;
-use RT::Test tests => 35;
+use RT::Test tests => 39;
my ($baseurl, $m) = RT::Test->started_ok;
@@ -27,6 +27,17 @@ $m->goto_ticket($ticket->id);
$m->form_name('UpdateReminders');
$m->field( 'NewReminder-Subject' => "baby's first reminder" );
$m->submit;
+$m->content_contains("Reminder 'baby's first reminder' added");
+
+$ticket->SetStatus('deleted');
+is( $ticket->Status, 'deleted', 'deleted ticket' );
+$m->form_name('UpdateReminders');
+$m->field( 'NewReminder-Subject' => "link to a deleted ticket" );
+$m->submit;
+$m->content_contains("Can't link to a deleted ticket");
+
+$ticket->SetStatus('new');
+is( $ticket->Status, 'new', 'changed back to new' );
my $reminders = RT::Reminders->new($user);
$reminders->Ticket($ticket->id);
commit d1184ed67fdeb68e3daca1f673cce836f5158b0b
Author: sunnavy <sunnavy at bestpractical.com>
Date: Fri Mar 9 11:26:02 2012 +0800
Reminders->Add does *not* return txnid
diff --git a/lib/RT/Interface/Web.pm b/lib/RT/Interface/Web.pm
index cc222cb..934ac39 100644
--- a/lib/RT/Interface/Web.pm
+++ b/lib/RT/Interface/Web.pm
@@ -2160,7 +2160,7 @@ sub ProcessTicketReminders {
Format => 'unknown',
Value => $args->{'NewReminder-Due'}
);
- my ( $add_id, $msg, $txnid ) = $Ticket->Reminders->Add(
+ my ( $add_id, $msg ) = $Ticket->Reminders->Add(
Subject => $args->{'NewReminder-Subject'},
Owner => $args->{'NewReminder-Owner'},
Due => $due_obj->ISO
commit 16c0f3c153a76e16f2778d8ebe7c8a1cedb5b9bf
Author: sunnavy <sunnavy at bestpractical.com>
Date: Fri Mar 9 11:30:20 2012 +0800
test /Tools/MyReminders for deleted tickets
diff --git a/t/web/reminders.t b/t/web/reminders.t
index 343a5b0..147a39c 100644
--- a/t/web/reminders.t
+++ b/t/web/reminders.t
@@ -1,7 +1,7 @@
#!/usr/bin/env perl
use strict;
use warnings;
-use RT::Test tests => 39;
+use RT::Test tests => 41;
my ($baseurl, $m) = RT::Test->started_ok;
@@ -35,6 +35,10 @@ $m->form_name('UpdateReminders');
$m->field( 'NewReminder-Subject' => "link to a deleted ticket" );
$m->submit;
$m->content_contains("Can't link to a deleted ticket");
+$m->get_ok('/Tools/MyReminders.html');
+$m->content_contains( "baby's first reminder",
+ 'got the reminder even the ticket is deleted' );
+$m->goto_ticket( $ticket->id );
$ticket->SetStatus('new');
is( $ticket->Status, 'new', 'changed back to new' );
commit edf01b4a56ae4fabcbf0da03a087cf9461a2db17
Author: sunnavy <sunnavy at bestpractical.com>
Date: Fri Mar 9 13:00:21 2012 +0800
show process results for /Ticket/Reminders.html
diff --git a/share/html/Ticket/Reminders.html b/share/html/Ticket/Reminders.html
index 8461efe..2510b1b 100755
--- a/share/html/Ticket/Reminders.html
+++ b/share/html/Ticket/Reminders.html
@@ -47,6 +47,7 @@
%# END BPS TAGGED BLOCK }}}
<& /Elements/Header, Title => loc("Reminders for ticket #[_1]", $Ticket->Id) &>
<& /Elements/Tabs &>
+<& /Elements/ListActions, actions => \@results &>
% $m->callback(CallbackName => 'BeforeActionList', ARGSRef => \%ARGS, Ticket => $Ticket);
@@ -65,7 +66,7 @@
<%INIT>
my $Ticket = LoadTicket($id);
-ProcessTicketReminders( TicketObj => $Ticket, ARGSRef => \%ARGS );
+my @results = ProcessTicketReminders( TicketObj => $Ticket, ARGSRef => \%ARGS );
</%INIT>
<%ARGS>
$id => undef
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list