CustomerTicketOverview

Allgemein Fragen, deutsche News, Ankündigungen & Events zu Znuny
Locked
lugithelugman
Znuny newbie
Posts: 16
Joined: 27 Sep 2016, 12:58
Znuny Version: 5.0.13
Real Name: Thomas Luginger
Company: iTaurus GmbH

CustomerTicketOverview

Post by lugithelugman »

Hi Leute

Kann man auf kurzem weg in der Customer Ticket Overview auch die Priorität anzeigen lassen ?

Ich konnte bis jetzt nur die Dynamischen Felder wie z.b ITSMCriticality einblenden lassen, was mir jedoch nicht viel bring weil ich gerne die priorität für den Kunden auf einen Blick sichtbar hätte.

Kann mir hier jemand weiterhelfen ?

lg Thomas
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: CustomerTicketOverview

Post by RStraub »

Huhu,

das lässt sich nicht ohne Anpassungen erledigen - ist allerdings nicht zu schwer. Schonmal die .pm / .tt Dateien angefasst ?
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
lugithelugman
Znuny newbie
Posts: 16
Joined: 27 Sep 2016, 12:58
Znuny Version: 5.0.13
Real Name: Thomas Luginger
Company: iTaurus GmbH

Re: CustomerTicketOverview

Post by lugithelugman »

Hey

Nein, ich hab sie mir nur mal schnell durchgesehen weil ich sowas ähnliches bei OTRS 3.2 gelesen habe, jedoch sind die anleitungen nicht mehr kompatible mit der 5.0.x version ;)

Was genau muss man hier anpassen um ans ziel zu kommen ?

lg
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: CustomerTicketOverview

Post by RStraub »

Das sind im ersten Schritt (d.h. ohne 'Sortierbarkeit' der Priorität) drei Schritte.
1) Der Tabelle muss ein neuer Header hinzugefügt werden
2) Der Tabelle muss ein Platzhalter für eine Datenreihe hinzugefügt werden
3) Das Modul muss pro Ticket die Datenreihe dem Template übergeben.

Generell empfiehlt es sich, nicht die original Dateien zu editieren, sondern diese in das Custom-Verzeichnis zu kopieren.
Als OTRS-User im Stammverzeichnis:

Code: Select all

mkdir -p Custom/Kernel/Output/HTML/Templates/Standard
mkdir -p Custom/Kernel/Modules/
cp -p Kernel/Output/HTML/Templates/Standard/CustomerTicketOverview.tt Custom/Kernel/Output/HTML/Templates/Standard/CustomerTicketOverview.tt
cp -p Kernel/Modules/CustomerTicketOverview.pm Custom/Kernel/Modules/CustomerTicketOverview.pm 
zu 1):
im Template, hier:
https://github.com/OTRS/otrs/blob/maste ... iew.tt#L57
Den Block OverviewNavBarPageQueue anpassen und direkt darunter einfügen:

Code: Select all

[% RenderBlockStart("OverviewNavBarPagePriority") %]
                    <th class="Queue [% Data.PrioritySort | uri %]">
                        <a href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=[% Env("Subaction") %];SortBy=Priority;OrderBy=[% Data.OrderBy | uri %];Filter=[% Data.Filter | uri %]">
                            [% Translate("Priority") | html %]
                        </a>
                    </th>
[% RenderBlockEnd("OverviewNavBarPagePriority") %]
zu 2)
im Template, hier:
https://github.com/OTRS/otrs/blob/maste ... ew.tt#L116

Den Block RecordQueue kopieren, anpassen und darunter hinzufügen:

Code: Select all

[% RenderBlockStart("RecordPriority") %]
                    <td class="Priority" title="[% Data.Priority | html %]">[% Data.Priority | truncate(20) | html %]</td>
[% RenderBlockEnd("RecordPriority") %]
zu 3)
Im Modul, hier:
https://github.com/OTRS/otrs/blob/maste ... ew.pm#L354
unter dem block if ($Queue) folgenden einfügen:

Code: Select all

        my $Priority = 1;
        if ($Priority) {
            $LayoutObject->Block(
                Name => 'OverviewNavBarPagePriority',
                Data => {
                    OrderBy   => $OrderBy,
#                    QueueSort => $QueueSort,
                    Filter    => $FilterCurrent,
                },
            );
        }
und schließlich hier:
https://github.com/OTRS/otrs/blob/maste ... ew.pm#L708
ebenfalls unter dem Block if queue

Code: Select all

    my $Priority = 1;
    if ($Priority) {
        $LayoutObject->Block(
            Name => 'RecordPriority',
            Data => {
                %Ticket,
            },
        );
    }
Wie du ggf. siehst füge ich die Priority hart hinzu. Die anderen Werte lesen die SysConfig aus und prüfen ob dort aktiviert wurde die Werte anzuzeigen. Das wäre dann evtl. noch zu erweitern um's hübsch und konsistent zu halten :)

Bitte gib Rückmeldung ob du damit klar kommst und das gewünscht Ergebnis bringt!
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
lugithelugman
Znuny newbie
Posts: 16
Joined: 27 Sep 2016, 12:58
Znuny Version: 5.0.13
Real Name: Thomas Luginger
Company: iTaurus GmbH

Re: CustomerTicketOverview

Post by lugithelugman »

Hey

Danke für deine schnelle und ausführliche anleitung, jedoch bekomme ich einen fehler sobald ich mich ins Customer.pl einloggen will
otrs.JPG
Irgend eine Idee ?

lg Thomas
You do not have the required permissions to view the files attached to this post.
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: CustomerTicketOverview

Post by RStraub »

Postest du mal die eingefügten Blöcke aus der .pm ? Am besten mit + 5 Zeilen drüber und drunter. Das sieht nach einem Syntax-Fehler aus.
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
lugithelugman
Znuny newbie
Posts: 16
Joined: 27 Sep 2016, 12:58
Znuny Version: 5.0.13
Real Name: Thomas Luginger
Company: iTaurus GmbH

Re: CustomerTicketOverview

Post by lugithelugman »

*.pm


if ($Queue) {
$LayoutObject->Block(
Name => 'OverviewNavBarPageQueue',
Data => {
OrderBy => $OrderBy,
QueueSort => $QueueSort,
Filter => $FilterCurrent,
},
);
}
my $Priority = 1;
if ($Priority) {
$LayoutObject->Block(
Name => 'OverviewNavBarPagePriority',
Data => {
OrderBy => $OrderBy,
# QueueSort => $QueueSort,
Filter => $FilterCurrent,
},
);
}
my $Priority = 1;
if ($Priority) {
$LayoutObject->Block(
Name => 'RecordPriority',
Data => {
%Ticket,
},
);
}

# show header filter
for my $Key ( sort keys %NavBarFilter ) {
$LayoutObject->Block(
Name => 'FilterHeader',
Data => {
%{ $NavBarFilter{$Key} },
},
);
}

# show footer filter - show only if more the one page is available


*.tt

[% RenderBlockStart("RecordOwner") %]
<td class="Owner">[% Data.OwnerName | html %]</td>
[% RenderBlockEnd("RecordOwner") %]
[% RenderBlockStart("RecordQueue") %]
<td class="Queue" title="[% Data.Queue | html %]">[% Data.Queue | truncate(20) | html %]</td>
[% RenderBlockEnd("RecordQueue") %]
[% RenderBlockStart("RecordPriority") %]
<td class="Priority" title="[% Data.Priority | html %]">[% Data.Priority | truncate(20) | html %]</td>
[% RenderBlockEnd("RecordPriority") %]
[% RenderBlockStart("RecordDynamicField") %]
<td>
<div title="[% Data.Title | html %]">
[% RenderBlockStart("RecordDynamicFieldLink") %]
<a href="[% Data.Link | Interpolate %]" class="DynamicFieldLink">[% Data.Value %]</a>
[% RenderBlockEnd("RecordDynamicFieldLink") %]
[% RenderBlockStart("RecordDynamicFieldPlain") %]
[% Data.Value %]
[% RenderBlockEnd("RecordDynamicFieldPlain") %]
</div>
</td>
[% RenderBlockEnd("RecordDynamicField") %]
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: CustomerTicketOverview

Post by RStraub »

Seltsam. Kann keinen Fehler sehen und auf meinem Testsystem funktioniert's.

Häng dich mal an den Apache und OTRS-Log ran und poste bitte die Fehlermeldung die generiert wird bei einem Zugriff.
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
lugithelugman
Znuny newbie
Posts: 16
Joined: 27 Sep 2016, 12:58
Znuny Version: 5.0.13
Real Name: Thomas Luginger
Company: iTaurus GmbH

Re: CustomerTicketOverview

Post by lugithelugman »

Apache Error log gibt das selbe wie die webpage aus:


RequestURI: /otrs/customer.pl?Action=CustomerTicketOverview;Subaction=MyTickets

Traceback (28556):
Module: Kernel::System::Web::InterfaceCustomer::Run Line: 196
Module: ModPerl::ROOT::ModPerl::Registry::opt_otrs_bin_cgi_2dbin_customer_2epl::handler Line: 40
Module: (eval) (v1.99) Line: 207
Module: ModPerl::RegistryCooker::run (v1.99) Line: 207
Module: ModPerl::RegistryCooker::default_handler (v1.99) Line: 173
Module: ModPerl::Registry::handler (v1.99) Line: 32

System Protokoll:

Mon Oct 31 15:05:06 2016 error OTRS-CGI-87 ???

Messages log:

Oct 31 15:05:01 srvotrs systemd: Started Session 3516 of user otrs.
Oct 31 15:05:01 srvotrs systemd: Starting Session 3516 of user otrs.
Oct 31 15:05:06 srvotrs OTRS-CGI-87[28578]: [Error][Kernel::System::Web::InterfaceCustomer::Run][Line:196]: ???
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: CustomerTicketOverview

Post by RStraub »

Na denn ganz anders. Lädst du die zwei Dateien hier hoch und ich schau's mir mal an?
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
lugithelugman
Znuny newbie
Posts: 16
Joined: 27 Sep 2016, 12:58
Znuny Version: 5.0.13
Real Name: Thomas Luginger
Company: iTaurus GmbH

Re: CustomerTicketOverview

Post by lugithelugman »

otrs.zip
Danke dir schonmal
You do not have the required permissions to view the files attached to this post.
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: CustomerTicketOverview

Post by RStraub »

Probier's mal mit dieser Datei.

War nur ein kleiner Fehler, der zweite Block (RecordPriority) war an der falschen Stelle eingefügt. Damit wurde die Variable "my $Priority" zweimal deklariert (im selben Scope), was Perl nicht mag.
You do not have the required permissions to view the files attached to this post.
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
lugithelugman
Znuny newbie
Posts: 16
Joined: 27 Sep 2016, 12:58
Znuny Version: 5.0.13
Real Name: Thomas Luginger
Company: iTaurus GmbH

Re: CustomerTicketOverview

Post by lugithelugman »

Funktioniert ;)

Coole Sache, danke dir für deinen Aufwand :D

lg Thomas
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: CustomerTicketOverview

Post by RStraub »

Sehr gerne ;)
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
Locked