[Rt-commit] rt branch, 4.0/show-default-queue-id-if-no-see-queue-right, created. rt-4.0.11-59-g2b01483

? sunnavy sunnavy at bestpractical.com
Sun Apr 14 07:54:32 EDT 2013


The branch, 4.0/show-default-queue-id-if-no-see-queue-right has been created
        at  2b014831a5fe1d0f00645880ccbf0417bfb89999 (commit)

- Log -----------------------------------------------------------------
commit 2b014831a5fe1d0f00645880ccbf0417bfb89999
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Sun Apr 14 19:33:44 2013 +0800

    show queue id for default queue if current user lacks SeeQueue right
    
    it's rare but valid that a user can create/edit tickets in a queue but doesn't
    have SeeQueue right.
    
    in that rare case, tickets could be moved to another queue accidently in edit
    page, see also #19224

diff --git a/share/html/Elements/SelectQueue b/share/html/Elements/SelectQueue
index 59d121b..b7b9b4f 100644
--- a/share/html/Elements/SelectQueue
+++ b/share/html/Elements/SelectQueue
@@ -99,7 +99,21 @@ if ( defined $session{$cache_key} &&
 if ( not defined $session{$cache_key} and not $Lite ) {
     my $q = RT::Queues->new($session{'CurrentUser'});
     $q->UnLimit;
-    
+
+    if ( $Default ) {
+        my $d = RT::Queue->new($session{'CurrentUser'});
+        $d->Load($Default);
+        unless ( $d->CurrentUserHasRight('SeeQueue') ) {
+            if ( $d->id ) {
+                push @{$session{$cache_key}{queues}}, {
+                    Id          => $d->id,
+                    Name        => '#' . $d->id,
+                    Description => '#' . $d->id,
+                };
+            }
+        }
+    }
+
     while (my $queue = $q->Next) {
         if ($ShowAllQueues || $queue->CurrentUserHasRight($CheckQueueRight)) {
             push @{$session{$cache_key}{queues}}, {

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


More information about the Rt-commit mailing list