Hi,

On 23.01.2010, at 22:46, Max Lindner wrote:

okay, hier ist ein Patch dazu, doch nicht so schwer, wenn man sich
erstmal zurechtgefunden hat ;-)

(for english users which may find this with a search engine: this
patch hides locked tickets of other agents in the dashboard when "My
Queues" is selected)

--- /opt/otrs-old/Kernel/Output/HTML/DashboardTicketGeneric.pm 2009-08-28
01:35:33.000000000 +0200
+++ Output/HTML/DashboardTicketGeneric.pm 2010-01-23 22:41:15.000000000 +0100
@@ -32,6 +32,9 @@
        die "Got no $_!" if ( !$Self->{$_} );
    }

+    # some new objects
+    $Self->{LockObject}  = Kernel::System::Lock->new(%Param);
+
    # get current filter
    my $Name = $Self->{ParamObject}->GetParam( Param => 'Name' ) || '';
    my $PreferencesKey = 'UserDashboardTicketGenericFilter' . $Self->{Name};
@@ -153,6 +156,9 @@
        UserID => $Self->{UserID},
    );

+    # viewable locks
+    my @ViewableLockIDs = $Self->{LockObject}->LockViewableLock( Type
=> 'ID' );
+
    # define filter attributes
    my @MyQueues = $Self->{QueueObject}->GetAllCustomQueues(
        UserID => $Self->{UserID},
@@ -175,6 +181,7 @@
        },
        MyQueues => {
            QueueIDs => \@MyQueues,
+    LockIDs  => \@ViewableLockIDs,
            Locks    => undef,
        },
        All => {


Am 23. Januar 2010 17:12 schrieb Max Lindner <gisanka@googlemail.com>:
Hallo!

Wir verwenden OTRS zu viert und haben ziemlich viel überschneidende
Bereiche, deswegen bleiben die Tickets meistens in der Raw Queue, wo
sie bearbeitet werden.

Wenn dort allerdings ein Agent ein Ticket bearbeitet und es im Zuge
dessen gesperrt ist, wird es bei den anderen Agenten immer noch unter
"Neue Tickets" bzw. "Offene Tickets / Zur Beantwortung" angezeigt. Das
ist ziemlich lästig, weil so der erste Blick immer sein muss, ob an
dem Ticket nicht doch schon jemand dran ist.

Im SysConfig zu drehen bringt ja nichts, weil sich das nicht so
einfach in eine Suchabfrage abbilden lässt.

Also habe ich in die Kernel/Output/HTML/DashboardTicketGeneric.pm
geschaut und sehe zwar, dass ich in der for()-Schleife ab Zeile 301
etwas bräuchte wie:

if ( $Ticket{Locked} && ( $Ticket{UserID} != $Self->{UserID} ) { continue; }

allerdings weiß ich nicht, wie $Ticket aussieht und auch nicht genug
Ahnung von Perl, um das selber rauszufinden.

Wäre super, wenn mir jemand einen Tipp in die richtige Richtung geben könnte.

Grüße und schönes Wochenende,
Max


wozu braucht Ihr das?

Bei jedem Dashlet bei dem es um die Anzeige von Tickets geht habt Ihr über den Tickets Filter im Dashlet.
Hier könnt Ihr bequem wählen zwischen "Meine gesperrten", "Meine beobachten", "Meine verantwortlichen", "Meine Queues" und "Alle" ...

Was Ihr sucht ist der erste Filter "Meine gesperrten".


Nils Leideck

-- 
Nils Leideck
Senior Consultant


http://webint.cryptonode.de / a Fractal project

CU @ CeBIT 2010 in Hannover, Germany and get to know more about OTRS 
at booth no. C37 in hall 2 from March 2-6, 2010!