[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