[Rt-commit] rt branch, 4.0/reminders-of-deleted-tickets, created. rt-4.0.10-18-g12c550e
Ruslan Zakirov
ruz at bestpractical.com
Thu Jan 31 18:51:28 EST 2013
The branch, 4.0/reminders-of-deleted-tickets has been created
at 12c550e441993347cd4855a4c25b35b0d6b6a6e8 (commit)
- Log -----------------------------------------------------------------
commit 79967378a88f50bdab534bc15847e3a05309a99e
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 8ae28e5..ca5b338 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 06763623061bac028f05c089b07b12e254ad1f6d
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 74b1006..42f4e1d 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 48489a2aaf9ff0da50f63a786cc4ce506ea75d4b
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 1eaefc7..243f8d0 100644
--- a/lib/RT/Interface/Web.pm
+++ b/lib/RT/Interface/Web.pm
@@ -2571,7 +2571,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 9ddbdfffd130ad8265a1f476b09a8a9f95e65c53
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 b07aefc..fa97413 100644
--- a/t/web/reminders.t
+++ b/t/web/reminders.t
@@ -1,6 +1,6 @@
use strict;
use warnings;
-use RT::Test tests => 35;
+use RT::Test tests => 39;
my ($baseurl, $m) = RT::Test->started_ok;
@@ -26,6 +26,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 47ad38bd4611512a2aba5e881ccc6d14cfb3df4b
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 243f8d0..2f28581 100644
--- a/lib/RT/Interface/Web.pm
+++ b/lib/RT/Interface/Web.pm
@@ -2566,7 +2566,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 fa5b8be7dcc26f12656e775726e302a75e417504
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 fa97413..a71169a 100644
--- a/t/web/reminders.t
+++ b/t/web/reminders.t
@@ -1,6 +1,6 @@
use strict;
use warnings;
-use RT::Test tests => 39;
+use RT::Test tests => 41;
my ($baseurl, $m) = RT::Test->started_ok;
@@ -34,6 +34,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 68e04dd8b9b83b891530263fe45e433c5bcd5f1c
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 d20ef1d..4a7069d 100644
--- 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
commit 9ef27079a00598df41a48a6e1d11dde5a486826d
Author: Alex Vandiver <alexmv at bestpractical.com>
Date: Fri Mar 23 18:54:58 2012 -0400
Don't show the New reminder box on deleted tickets
diff --git a/share/html/Ticket/Elements/Reminders b/share/html/Ticket/Elements/Reminders
index 3765972..c119cd3 100644
--- a/share/html/Ticket/Elements/Reminders
+++ b/share/html/Ticket/Elements/Reminders
@@ -112,8 +112,10 @@ my $reminder_collection = $count_reminders->Collection;
% }
% }
+% if ($Ticket->Status ne "deleted") {
<&|/l&>New reminder:</&>
<& SELF:NewReminder, Ticket => $Ticket &>
+% }
<%method NewReminder>
<%args>
$Ticket
commit d0a2fb60eebb07ad194c7e3fbcbfc2a94e80678d
Author: Alex Vandiver <alexmv at bestpractical.com>
Date: Fri Mar 23 18:55:58 2012 -0400
Don't show the "Save" button if there are no reminders and new ones can't be created
diff --git a/share/html/Ticket/Elements/Reminders b/share/html/Ticket/Elements/Reminders
index c119cd3..37b360b 100644
--- a/share/html/Ticket/Elements/Reminders
+++ b/share/html/Ticket/Elements/Reminders
@@ -67,6 +67,7 @@ my $has_reminders = $count_tickets->Count;
# We've made changes, let's reload our search
my $reminder_collection = $count_reminders->Collection;
+my $visible = 0;
</%init>
<input type="hidden" class="hidden" name="id" value="<% $Ticket->id %>" />
<input type="hidden" class="hidden" name="update-reminders" value="1" />
@@ -83,7 +84,6 @@ my $reminder_collection = $count_reminders->Collection;
% }
</tr>
% my $i = 0;
-% my $visible = 0;
% while ( my $reminder = $reminder_collection->Next ) {
% $i++;
% if ( $reminder->Status eq $resolve_status && !$ShowCompleted ) {
@@ -116,6 +116,7 @@ my $reminder_collection = $count_reminders->Collection;
<&|/l&>New reminder:</&>
<& SELF:NewReminder, Ticket => $Ticket &>
% }
+% return($Ticket->Status ne "deleted" or $visible);
<%method NewReminder>
<%args>
$Ticket
diff --git a/share/html/Ticket/Elements/ShowSummary b/share/html/Ticket/Elements/ShowSummary
index 11f48d1..48db922 100644
--- a/share/html/Ticket/Elements/ShowSummary
+++ b/share/html/Ticket/Elements/ShowSummary
@@ -76,8 +76,9 @@
&>
<table><tr><td>
<form action="<%RT->Config->Get('WebPath')%>/Ticket/Display.html" name="UpdateReminders" id="UpdateReminders" method="post">
- <& /Ticket/Elements/Reminders, Ticket => $Ticket, ShowCompleted => 0 &>
+% if ( $m->comp("/Ticket/Elements/Reminders", Ticket => $Ticket, ShowCompleted => 0) ) {
<div align="right"><input type="submit" class="button" value="<&|/l&>Save</&>" /></div>
+% }
</form>
</td></tr></table>
</&>
commit 12c550e441993347cd4855a4c25b35b0d6b6a6e8
Author: Alex Vandiver <alexmv at bestpractical.com>
Date: Fri Mar 23 19:21:16 2012 -0400
Fix tests for no longer giving a useless "New reminder" box on deleted tickets
diff --git a/t/web/reminders.t b/t/web/reminders.t
index a71169a..af7e2fb 100644
--- a/t/web/reminders.t
+++ b/t/web/reminders.t
@@ -1,6 +1,6 @@
use strict;
use warnings;
-use RT::Test tests => 41;
+use RT::Test tests => 45;
my ($baseurl, $m) = RT::Test->started_ok;
@@ -37,10 +37,12 @@ $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' );
+$m->goto_ticket( $ticket->id );
+$m->content_lacks('New reminder:', "can't create a new reminder");
+$m->text_contains('Check box to complete', "we DO display this text when there are reminders");
+$m->content_like(qr{<th[^>]*>Reminders?</th>}, "now we have a reminder titlebar");
+$m->text_contains("baby's first reminder", "display the reminder's subject");
my $reminders = RT::Reminders->new($user);
$reminders->Ticket($ticket->id);
@@ -51,7 +53,11 @@ is($reminder->Subject, "baby's first reminder");
my $reminder_id = $reminder->id;
is($reminder->Status, 'new');
-$m->text_contains('New reminder:', 'can create a new reminder');
+$ticket->SetStatus('new');
+is( $ticket->Status, 'new', 'changed back to new' );
+
+$m->goto_ticket($ticket->id);
+$m->text_contains('New reminder:', "can create a new reminder");
$m->text_contains('Check box to complete', "we DO display this text when there are reminders");
$m->content_like(qr{<th[^>]*>Reminders?</th>}, "now we have a reminder titlebar");
$m->text_contains("baby's first reminder", "display the reminder's subject");
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list