[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