[Rt-commit] rt branch, 4.4/forbid-merging-reminders, created. rt-4.4.2-28-gc74f832

Maureen Mirville maureen at bestpractical.com
Thu Aug 10 11:21:51 EDT 2017


The branch, 4.4/forbid-merging-reminders has been created
        at  c74f83245f51a4adb131c7a0fee788c925157c1c (commit)

- Log -----------------------------------------------------------------
commit c3130d41a2c36e07de551c67f1d7a812d2902bfe
Author: Maureen E. Mirville <maureen at bestpractical.com>
Date:   Thu Aug 10 11:09:05 2017 -0400

    Forbid merging reminders
    
    Tickets can no longer merge into reminders.
    
    Fixes I#32700

diff --git a/lib/RT/Ticket.pm b/lib/RT/Ticket.pm
index 0f073c3..dc68c44 100644
--- a/lib/RT/Ticket.pm
+++ b/lib/RT/Ticket.pm
@@ -1881,6 +1881,11 @@ sub MergeInto {
     if ( $MergeInto->Id == $self->Id ) {
         return ( 0, $self->loc("Can't merge a ticket into itself") );
     }
+    
+    # Cannot merge into a reminder
+    if ($MergeInto->Type eq 'reminder'){
+        return(0, "Reminders cannot be merged");
+    };
 
     # Make sure the current user can modify the new ticket.
     unless ( $MergeInto->CurrentUserHasRight('ModifyTicket') ) {

commit c74f83245f51a4adb131c7a0fee788c925157c1c
Author: Maureen E. Mirville <maureen at bestpractical.com>
Date:   Thu Aug 10 11:17:03 2017 -0400

    Tests for merging reminders
    
    Tests added to verify tickets cannot merge into reminders.
    
    Fixes I#32700

diff --git a/t/ticket/merge.t b/t/ticket/merge.t
index 99c723b..1be0432 100644
--- a/t/ticket/merge.t
+++ b/t/ticket/merge.t
@@ -4,7 +4,7 @@ use warnings;
 
 
 use RT;
-use RT::Test tests => '44';
+use RT::Test tests => '50';
 
 
 # validate that when merging two tickets, the comments from both tickets
@@ -177,3 +177,33 @@ ok $user && $user->id, 'loaded or created user';
         is $from_history, $expected, "history is correct";
     }
 }
+
+# forbid merging tickets into ticket type: reminder
+{
+  
+  # create a new ticket
+  my $ticket = RT::Test->create_ticket(
+    Queue => 'General',
+    Subject => 'test'
+  );
+  
+  # create a reminder
+  my ($reminder, $add_id) = $ticket->Reminders->Add(
+    Subject => 'Test',
+    Owner => 'root',
+  );
+
+  # verify reminder was created
+  my $reminders = $ticket->Reminders->Collection;
+  ok($reminders, 'Loading reminders for this ticket');
+  my $found = 0;
+  while ( my $reminder = $reminders->Next ) {
+    next unless $found == 0;
+    $found = 1 if ( $reminder->Subject =~ m/Test/ );
+  }
+  is($found, 1, 'Reminder successfully added');
+  
+  # verify ticket cannot be merged into reminder
+  my($status, $msg) = $ticket->MergeInto($reminder);
+  ok(!$status, 'Reminders cannot be merged');
+}

-----------------------------------------------------------------------


More information about the rt-commit mailing list