Hello out there,

our agents open multiple browser windows to control different queues. Within 
this bunch of windows it is sometimes hard to find the queue with your own 
locked tickets. So I have had the idea to change the background for locked 
tickets (from light blue to light green).

In case you'll find it useful too, I've attached all the diffs. The diffs are 
based on CVS from yesterday evening, so it should not be very hard to aply 
them. After aplying the diffs, you can control the color in the Config.pm 
with the variable $Self->{LockedTicketBackground} = "#d2e8c5";

If this variable is not defined or empty everything is working as before.

I'll hope it's useful
CU Dirk Scheer

-- 
http://www.scheernet.de/
--- AgentClose.pm.org	2004-02-11 22:30:09.000000000 +0100
+++ AgentClose.pm	2004-02-11 22:31:07.000000000 +0100
@@ -66,6 +66,15 @@
     }
     
     my $Tn = $Self->{TicketObject}->GetTNOfId(ID => $Self->{TicketID});
+
+    # --
+    # Check if ticket is locked and owned by current user
+    # --
+    my %Ticket = $Self->{TicketObject}->GetTicket(TicketID => $Self->{TicketID});
+    my $BgColor = "";
+    if($Self->{TicketObject}->IsTicketLocked(TicketID => $Self->{TicketID}) && $Ticket{OwnerID} == $Self->{UserID}) {
+        $BgColor = $Self->{ConfigObject}->Get('LockedTicketBackground');
+    }
     
     if ($Self->{Subaction} eq '' || !$Self->{Subaction}) {
         # get next states
@@ -96,7 +105,7 @@
         # -- 
         # html header
         # --
-        $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Close');
+        $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Close', BgColor => $BgColor);
         # --
         # get lock state
         # --
--- AgentCompose.pm.org	2004-02-11 22:32:30.000000000 +0100
+++ AgentCompose.pm	2004-02-11 22:42:10.000000000 +0100
@@ -90,13 +90,10 @@
     my $Output;
     my %Error = ();
     # -- 
-    # start with page ...
-    # --
-    $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Compose');
-    # -- 
     # check needed stuff
     # --
     if (!$Self->{TicketID}) {
+        $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Compose');
         $Output .= $Self->{LayoutObject}->Error(
                 Message => "Got no TicketID!",
                 Comment => 'System Error!',
@@ -108,6 +105,18 @@
     # get ticket data
     # --
     my %Ticket = $Self->{TicketObject}->GetTicket(TicketID => $Self->{TicketID});
+    # --
+    # Check if ticket is locked and owned by current user
+    # --
+    my $BgColor = "";
+    if($Self->{TicketObject}->IsTicketLocked(TicketID => $Self->{TicketID}) && $Ticket{OwnerID} == $Self->{UserID}) {
+        $BgColor = $Self->{ConfigObject}->Get('LockedTicketBackground');
+    }
+
+    # -- 
+    # start with page ...
+    # --
+    $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Compose', BgColor => $BgColor);
     if ($Self->{ConfigObject}->Get('AgentCanBeCustomer') && $Ticket{CustomerUserID} && $Ticket{CustomerUserID} eq $Self->{UserLogin}) {
         # --
         # redirect
--- AgentCustomer.pm.org	2004-02-11 22:01:59.000000000 +0100
+++ AgentCustomer.pm	2004-02-11 22:18:57.000000000 +0100
@@ -160,8 +160,18 @@
     my $Self = shift;
     my %Param = @_;
     my $Output;
+    # --
+    # Check if ticket is locked and owned by current user
+    # --
+    my $BgColor = "";
+    if ($Self->{TicketID}) {
+        my %Ticket = $Self->{TicketObject}->GetTicket(TicketID => $Self->{TicketID});
+        if($Self->{TicketObject}->IsTicketLocked(TicketID => $Self->{TicketID}) && $Ticket{OwnerID} == $Self->{UserID}) {
+            $BgColor = $Self->{ConfigObject}->Get('LockedTicketBackground');
+        }
+    }
     # print header 
-    $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Customer');
+    $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Customer', BgColor => $BgColor);
     my %LockedData = $Self->{TicketObject}->GetLockedCount(UserID => $Self->{UserID});
     $Output .= $Self->{LayoutObject}->NavigationBar(LockData => \%LockedData);
     my $TicketCustomerID = $Self->{CustomerID};
@@ -169,9 +179,6 @@
     # print change form if ticket id is given
     # --
     if ($Self->{TicketID}) {
-        # --
-        # get ticket data 
-        # --
         my %TicketData = $Self->{TicketObject}->GetTicket(TicketID => $Self->{TicketID});
         my %CustomerUserData = ();
         if ($TicketData{CustomerUserID}) {
--- AgentForward.pm.org	2004-02-11 22:51:16.000000000 +0100
+++ AgentForward.pm	2004-02-11 22:53:11.000000000 +0100
@@ -99,8 +99,17 @@
     my %Param = @_;
     my $Output;
  
+    # --
+    # Check if ticket is locked and owned by current user
+    # --
+    my %Ticket = $Self->{TicketObject}->GetTicket(TicketID => $Self->{TicketID});
+    my $BgColor = "";
+    if($Self->{TicketObject}->IsTicketLocked(TicketID => $Self->{TicketID}) && $Ticket{OwnerID} == $Self->{UserID}) {
+        $BgColor = $Self->{ConfigObject}->Get('LockedTicketBackground');
+    }
+
     # start with page ...
-    $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Forward');
+    $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Forward', BgColor => $BgColor);
  
     my $Tn = $Self->{TicketObject}->GetTNOfId(ID => $Self->{TicketID});
     my $QueueID = $Self->{TicketObject}->GetQueueIDOfTicketID(TicketID => $Self->{TicketID});
--- AgentFreeText.pm.org	2004-02-11 22:20:52.000000000 +0100
+++ AgentFreeText.pm	2004-02-11 22:22:11.000000000 +0100
@@ -108,7 +108,15 @@
     else {
         # print form
         my %Ticket = $Self->{TicketObject}->GetTicket(TicketID => $Self->{TicketID});
-        $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Set Free Text');
+        # --
+        # Check if ticket is locked and owned by current user
+        # --
+        my $BgColor = "";
+        if($Self->{TicketObject}->IsTicketLocked(TicketID => $Self->{TicketID}) && $Ticket{OwnerID} == $Self->{UserID}) {
+            $BgColor = $Self->{ConfigObject}->Get('LockedTicketBackground');
+        }
+
+        $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Set Free Text', BgColor => $BgColor);
         my %LockedData = $Self->{TicketObject}->GetLockedCount(UserID => $Self->{UserID});
         $Output .= $Self->{LayoutObject}->NavigationBar(LockData => \%LockedData);
         my %TicketFreeText = $Self->{LayoutObject}->AgentFreeText(%Ticket);
--- AgentNote.pm.org	2004-02-11 21:55:16.000000000 +0100
+++ AgentNote.pm	2004-02-11 21:59:14.000000000 +0100
@@ -74,6 +74,15 @@
     }
 
     my $Tn = $Self->{TicketObject}->GetTNOfId(ID => $Self->{TicketID});
+
+    # --
+    # Check if ticket is locked and owned by current user
+    # --
+    my %Ticket = $Self->{TicketObject}->GetTicket(TicketID => $Self->{TicketID});
+    my $BgColor = "";
+    if($Self->{TicketObject}->IsTicketLocked(TicketID => $Self->{TicketID}) && $Ticket{OwnerID} == $Self->{UserID}) {
+        $BgColor = $Self->{ConfigObject}->Get('LockedTicketBackground');
+    }
     
     if ($Self->{Subaction} eq '' || !$Self->{Subaction}) {
         # get possible notes
@@ -89,7 +98,11 @@
             }
         }
         # print form ...
-        $Output = $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Add Note');
+        $Output = $Self->{LayoutObject}->Header(
+            Area => 'Agent',
+            Title => 'Add Note',
+            BgColor => $BgColor
+        );
         my %LockedData = $Self->{TicketObject}->GetLockedCount(UserID => $Self->{UserID});
         $Output .= $Self->{LayoutObject}->NavigationBar(LockData => \%LockedData);
         # --
@@ -171,14 +184,14 @@
           return $Self->{LayoutObject}->Redirect(OP => $Self->{LastScreen});
         }
         else {
-          $Output = $Self->{LayoutObject}->Header(Title => 'Error');
+          $Output = $Self->{LayoutObject}->Header(Title => 'Error', BgColor => $BgColor);
           $Output .= $Self->{LayoutObject}->Error();
           $Output .= $Self->{LayoutObject}->Footer();
           return $Output;
         }
     }
     else {
-        $Output = $Self->{LayoutObject}->Header(Title => 'Error');
+        $Output = $Self->{LayoutObject}->Header(Title => 'Error', BgColor => $BgColor);
         $Output .= $Self->{LayoutObject}->Error(
             Message => 'Wrong Subaction!!',
             Comment => 'Please contact your admin',
--- AgentHistory.pm.org	2004-02-11 21:42:10.000000000 +0100
+++ AgentHistory.pm	2004-02-11 21:45:00.000000000 +0100
@@ -69,10 +69,22 @@
         # --
         return $Self->{LayoutObject}->NoPermission(WithHeader => 'yes');
     }
+    # --
+    # Check if ticket is locked and owned by current user
+    # --
+    my %Ticket = $Self->{TicketObject}->GetTicket(TicketID => $Self->{TicketID});
+    my $BgColor = "";
+    if($Self->{TicketObject}->IsTicketLocked(TicketID => $Self->{TicketID}) && $Ticket{OwnerID} == $Self->{UserID}) {
+        $BgColor = $Self->{ConfigObject}->Get('LockedTicketBackground');
+    }
     # -- 
     # build header
     # --
-    $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'History');
+    $Output .= $Self->{LayoutObject}->Header(
+        Area => 'Agent',
+        Title => 'History',
+        BgColor => $BgColor
+    );
     my %LockedData = $Self->{TicketObject}->GetLockedCount(UserID => $Self->{UserID});
     # build NavigationBar 
     $Output .= $Self->{LayoutObject}->NavigationBar(LockData => \%LockedData);
--- AgentMailbox.pm.org	2004-02-11 02:06:01.000000000 +0100
+++ AgentMailbox.pm	2004-02-11 02:19:28.000000000 +0100
@@ -92,6 +92,7 @@
         Area => 'Agent', 
         Title => 'Locked Tickets',
         Refresh => $Refresh,
+	BgColor => $Self->{ConfigObject}->Get('LockedTicketBackground'),
     );
     my %LockedData = $Self->{TicketObject}->GetLockedCount(UserID => $Self->{UserID});
     $Output .= $Self->{LayoutObject}->NavigationBar(LockData => \%LockedData);
--- AgentOwner.pm.org	2004-02-11 21:52:32.000000000 +0100
+++ AgentOwner.pm	2004-02-11 21:49:59.000000000 +0100
@@ -56,12 +56,24 @@
         # error screen, don't show ticket
         return $Self->{LayoutObject}->NoPermission(WithHeader => 'yes');
     }
+    # --
+    # Check if ticket is locked and owned by current user
+    # --
+    my %Ticket = $Self->{TicketObject}->GetTicket(TicketID => $Self->{TicketID});
+    my $BgColor = "";
+    if($Self->{TicketObject}->IsTicketLocked(TicketID => $Self->{TicketID}) && $Ticket{OwnerID} == $Self->{UserID}) {
+        $BgColor = $Self->{ConfigObject}->Get('LockedTicketBackground');
+    }
 
     if ($Self->{Subaction} eq 'Update') {
         # check new/old user selection
         if ($Self->{UserSelection} eq 'Old') {
             if (!$Self->{OldUserID}) {
-                $Output = $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Owner');
+                $Output = $Self->{LayoutObject}->Header(
+                    Area => 'Agent',
+                    Title => 'Owner',
+                    BgColor => $BgColor,
+                );
                 $Output .= $Self->{LayoutObject}->Warning(
                     Message => "Sorry, you need to select a previous owner!",
                     Comment => 'Please go back and select one.',
@@ -75,7 +87,7 @@
         }
         else {
             if (!$Self->{NewUserID}) {
-                $Output = $Self->{LayoutObject}->Header(Title => 'Owner');
+                $Output = $Self->{LayoutObject}->Header(Title => 'Owner', BgColor => $BgColor);
                 $Output .= $Self->{LayoutObject}->Warning(
                     Message => "Sorry, you need to select a new owner!",
                     Comment => 'Please go back and select one.',
@@ -126,7 +138,7 @@
         # print form
         my $Tn = $Self->{TicketObject}->GetTNOfId(ID => $Self->{TicketID});
         my $OwnerID = $Self->{TicketObject}->CheckOwner(TicketID => $Self->{TicketID});
-        $Output .= $Self->{LayoutObject}->Header(Title => 'Set Owner');
+        $Output .= $Self->{LayoutObject}->Header(Title => 'Set Owner', BgColor => $BgColor);
         my %LockedData = $Self->{TicketObject}->GetLockedCount(UserID => $Self->{UserID});
         $Output .= $Self->{LayoutObject}->NavigationBar(LockData => \%LockedData);
         # get user of own groups
--- AgentPending.pm.org	2004-02-11 22:27:03.000000000 +0100
+++ AgentPending.pm	2004-02-11 22:28:49.000000000 +0100
@@ -78,6 +78,15 @@
         }
     } 
     my $Tn = $Self->{TicketObject}->GetTNOfId(ID => $Self->{TicketID});
+    # --
+    # Check if ticket is locked and owned by current user
+    # --
+    my %Ticket = $Self->{TicketObject}->GetTicket(TicketID => $Self->{TicketID});
+    my $BgColor = "";
+    if($Self->{TicketObject}->IsTicketLocked(TicketID => $Self->{TicketID}) && $Ticket{OwnerID} == $Self->{UserID}) {
+        $BgColor = $Self->{ConfigObject}->Get('LockedTicketBackground');
+    }
+
     
     if ($Self->{Subaction} eq '' || !$Self->{Subaction}) {
         # get next states
@@ -102,7 +111,7 @@
             TicketID => $Self->{TicketID},
         );
         # html header
-        $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Pending');
+        $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Pending', BgColor => $BgColor);
         # get lock state
         if (!$Self->{TicketObject}->IsTicketLocked(TicketID => $Self->{TicketID})) {
             $Self->{TicketObject}->SetLock(
--- AgentPriority.pm.org	2004-02-11 21:53:29.000000000 +0100
+++ AgentPriority.pm	2004-02-11 21:37:23.000000000 +0100
@@ -93,7 +93,19 @@
     else {
         # print form
         my %Ticket = $Self->{TicketObject}->GetTicket(TicketID => $Self->{TicketID});
-        $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Set Priority');
+        # --
+        # Check if ticket is locked and owned by current user
+        # --
+        my $BgColor = "";
+        if($Self->{TicketObject}->IsTicketLocked(TicketID => $Self->{TicketID}) && $Ticket{OwnerID} == $Self->{UserID}) {
+            $BgColor = $Self->{ConfigObject}->Get('LockedTicketBackground');
+        }
+
+        $Output .= $Self->{LayoutObject}->Header(
+            Area => 'Agent', 
+            Title => 'Set Priority',
+            BgColor => $BgColor,
+        );
         my %LockedData = $Self->{TicketObject}->GetLockedCount(UserID => $Self->{UserID});
         $Output .= $Self->{LayoutObject}->NavigationBar(LockData => \%LockedData);
         # print change form
--- AgentPhone.pm.org	2004-02-11 22:44:26.000000000 +0100
+++ AgentPhone.pm	2004-02-11 22:49:55.000000000 +0100
@@ -55,8 +55,18 @@
     my $Output;
     
     if (!$Self->{Subaction} || $Self->{Subaction} eq 'Created') {
+        my $BgColor = "";
+        if ($Self->{TicketID}) {
+            # --
+            # Check if ticket is locked and owned by current user
+            # --
+            my %Ticket = $Self->{TicketObject}->GetTicket(TicketID => $Self->{TicketID});
+            if($Self->{TicketObject}->IsTicketLocked(TicketID => $Self->{TicketID}) && $Ticket{OwnerID} == $Self->{UserID}) {
+                $BgColor = $Self->{ConfigObject}->Get('LockedTicketBackground');
+            }
+        } 
         # header
-        $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Phone call');
+        $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Phone call', BgColor => $BgColor);
         # if there is no ticket id!
         if (!$Self->{TicketID} || ($Self->{TicketID} && $Self->{Subaction} eq 'Created')) {
             # navigation bar
--- AgentTicketLink.pm.org	2004-02-11 22:23:12.000000000 +0100
+++ AgentTicketLink.pm	2004-02-11 22:24:11.000000000 +0100
@@ -123,7 +123,15 @@
     else {
         # print form
         my %Ticket = $Self->{TicketObject}->GetTicket(TicketID => $Self->{TicketID});
-        $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Link');
+        # --
+        # Check if ticket is locked and owned by current user
+        # --
+        my $BgColor = "";
+        if($Self->{TicketObject}->IsTicketLocked(TicketID => $Self->{TicketID}) && $Ticket{OwnerID} == $Self->{UserID}) {
+            $BgColor = $Self->{ConfigObject}->Get('LockedTicketBackground');
+        }
+
+        $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => 'Link', BgColor => $BgColor);
         my %LockedData = $Self->{TicketObject}->GetLockedCount(UserID => $Self->{UserID});
         $Output .= $Self->{LayoutObject}->NavigationBar(LockData => \%LockedData);
         my %TicketLink = $Self->{TicketObject}->GetTicketLink(
--- Config.pm.org	2004-02-11 02:10:36.000000000 +0100
+++ Config.pm	2004-02-11 02:20:03.000000000 +0100
@@ -167,6 +167,10 @@
     $Self->{ShowCustomerInfoQueueMaxSize} = 18;
     $Self->{ShowCustomerInfoQueueLiteMaxSize} = 18;
 
+    # set background color of Locked Tickets
+    # this way it can be easyly distinguished between own/public tickets
+    $Self->{LockedTicketBackground} = "#d2e8c5";
+
 
     # ---------------------------------------------------- #
     # ---------------------------------------------------- #
--- Header.dtl.org	2004-02-11 02:02:20.000000000 +0100
+++ Header.dtl	2004-02-11 02:17:47.000000000 +0100
@@ -41,6 +41,10 @@
 <dtl if ($Data{"Area"} ne "") { $Data{"TitleArea"} = "$Text{"$Data{"Area"}"}"; }>
 <dtl if ($Data{"Title"} ne "") { $Data{"TitleArea"} = "$Text{"$Data{"Title"}"}"; }>
 # --
+# check for different background-color definition
+# --
+<dtl if ($Data{"BgColor"} eq "") { $Data{"BgColor"} = "#bbddff"; }>
+# --
 # create $Data{"UserLoginTop"} if user is loged in
 # --
 <dtl if ($Env{"UserLogin"} ne "") { $Data{"UserLoginTop"} = "($Env{"UserEmail"})"; }>
@@ -52,7 +56,7 @@
 <style type="text/css">
 <!--
 # body
-  body { font-family:Geneva,Helvetica,Arial,sans-serif;font-size:11pt;background-color:#bbddff;color:black; }
+  body { font-family:Geneva,Helvetica,Arial,sans-serif;font-size:11pt;background-color:$Data{"BgColor"};color:black; }
   a { color:#557799;} 
   a:hover { color:#002244;text-decoration:none; }
   pre { font-family:Courier,monospace,fixed;font-size:12px; }
--- AgentZoom.pm.org	2004-02-11 20:59:12.000000000 +0100
+++ AgentZoom.pm	2004-02-11 21:32:32.000000000 +0100
@@ -103,6 +103,16 @@
     );
     my @ArticleBox = $Self->{TicketObject}->GetArticleContentIndex(TicketID => $Self->{TicketID});
     # --
+    # Check if ticket is locked and owned by current user
+    # --
+    my %Session = $Self->{SessionObject}->GetSessionIDData(
+        SessionID => $Self->{SessionID},
+    );
+    my $BgColor = "";
+    if($Self->{TicketObject}->IsTicketLocked(TicketID => $Self->{TicketID}) && $Ticket{OwnerID} == $Self->{UserID}) {
+        $BgColor = $Self->{ConfigObject}->Get('LockedTicketBackground');
+    }
+    # --
     # return if HTML email
     # --
     if ($Self->{Subaction} eq 'ShowHTMLeMail') {
@@ -162,7 +172,11 @@
     # --
     # genterate output
     # --
-    $Output .= $Self->{LayoutObject}->Header(Area => 'Agent', Title => "Zoom Ticket");
+    $Output .= $Self->{LayoutObject}->Header(
+	Area => 'Agent',
+        Title => "Zoom Ticket",
+        BgColor => $BgColor,
+    );
     my %LockedData = $Self->{TicketObject}->GetLockedCount(UserID => $Self->{UserID});
     $Output .= $Self->{LayoutObject}->NavigationBar(LockData => \%LockedData);
     # --
_______________________________________________
OTRS mailing list: dev - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/dev
To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/dev

Reply via email to