[Rt-commit] rt branch, 4.0/web-create-ticket-cleanup, created. rt-4.0.0-277-gd840fef

? sunnavy sunnavy at bestpractical.com
Thu May 12 00:06:00 EDT 2011


The branch, 4.0/web-create-ticket-cleanup has been created
        at  d840fef7b453bca16f1ffbe7d194fd371721feb0 (commit)

- Log -----------------------------------------------------------------
commit 158ff7ac83ce361a69f26164cb0594a96b041adf
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Thu May 12 11:55:43 2011 +0800

    no need to check ShowTicket right in CreateTicket sub, we have guard elsewhere

diff --git a/lib/RT/Interface/Web.pm b/lib/RT/Interface/Web.pm
index bcd12f1..4504b8b 100644
--- a/lib/RT/Interface/Web.pm
+++ b/lib/RT/Interface/Web.pm
@@ -1386,9 +1386,6 @@ sub CreateTicket {
     }
 
     push( @Actions, split( "\n", $ErrMsg ) );
-    unless ( $Ticket->CurrentUserHasRight('ShowTicket') ) {
-        Abort( "No permission to view newly created ticket #" . $Ticket->id . "." );
-    }
     return ( $Ticket, @Actions );
 
 }

commit d840fef7b453bca16f1ffbe7d194fd371721feb0
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Thu May 12 11:59:38 2011 +0800

    ticket display test, initially for ShowTicket right, also a good place for other basic tests of this page

diff --git a/t/web/ticket_display.t b/t/web/ticket_display.t
new file mode 100644
index 0000000..a9cab0c
--- /dev/null
+++ b/t/web/ticket_display.t
@@ -0,0 +1,63 @@
+use strict;
+use warnings;
+
+use RT::Test tests => 18;
+
+my $queue = RT::Test->load_or_create_queue( Name => 'General' );
+
+my $user = RT::Test->load_or_create_user(
+    Name     => 'user',
+    Password => 'password',
+);
+
+my ( $baseurl, $m ) = RT::Test->started_ok;
+ok(
+    RT::Test->set_rights(
+        { Principal => $user, Right => [qw(SeeQueue CreateTicket)] },
+    ),
+    'set rights'
+);
+
+ok $m->login( 'user', 'password' ), 'logged in as user';
+
+diag "test ShowTicket right";
+{
+
+    $m->get_ok( '/Ticket/Create.html?Queue=' . $queue->id,
+        'go to ticket create page' );
+    my $form = $m->form_name('TicketCreate');
+    $m->submit_form( fields => { Subject => 'ticket foo' } );
+
+    my $ticket = RT::Test->last_ticket;
+    ok( $ticket->id, 'ticket is created' );
+    my $id = $ticket->id;
+
+    $m->content_lacks( "Ticket $id created", 'created ticket' );
+    $m->content_contains( "No permission to view newly created ticket #$id",
+        'got no permission msg' );
+    $m->warning_like( qr/No permission to view newly created ticket #$id/,
+        'got no permission warning' );
+
+
+    $m->goto_ticket($id);
+    $m->content_contains( "No permission to view ticket",
+        'got no permission msg' );
+    $m->warning_like( qr/No permission to view ticket/, 'got warning' );
+    $m->title_is('RT Error');
+
+    ok(
+        RT::Test->add_rights(
+            { Principal => $user, Right => [qw(ShowTicket)] },
+        ),
+        'add ShowTicket right'
+    );
+
+    $m->reload;
+
+    $m->content_lacks( "No permission to view ticket", 'no error msg' );
+    $m->title_is( "#$id: ticket foo", 'we can it' );
+}
+
+
+# TODO more /Ticket/Display.html tests here
+

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


More information about the Rt-commit mailing list