Ticketersteller in Company Tickets anzeigen

Hilfe zu OTRS Problemen aller Art
Post Reply
sukr4m
Znuny expert
Posts: 242
Joined: 30 Aug 2012, 12:36
Znuny Version: 5.0.4

Ticketersteller in Company Tickets anzeigen

Post by sukr4m »

Hi,

ich müsste in der View "Company Tickets" auch zusätzlich den Ersteller des Tickets anzeigen lassen. Dann wissen die Kunden auf einen Blick, wer das Ticket aus ihrer Firma erstellt hat und müssen es nicht immer öffnen.

Image

In der SysConf habe ich dazu nur das Ticket -> Frontend::Customer::TicketOverview gefunden das dieses Einstellung leider nicht beinhaltet.

Wir laufen immer noch auf der OTRS v.4

Viele Grüße
Sukr4m
HostettlerICT
Znuny newbie
Posts: 1
Joined: 18 Jan 2016, 11:38
Znuny Version: OTRS 5

Re: Ticketersteller in Company Tickets anzeigen

Post by HostettlerICT »

Hallo

Dies würde uns auch interessieren. Ich habe bis jetzt keine Möglichkeit gefunden um dies zu aktivieren.
Es wäre sicherlich sinnvoll in der "Firmen-Tickets"-Ansicht zu sehen wer welches Ticket erstellt hat (E-Mail einblenden).

Wir verwenden OTRS 5.0.5.

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

Re: Ticketersteller in Company Tickets anzeigen

Post by RStraub »

Das wäre ein Anpassungen an den Dateien. Minimales Beispiel:
1) Kopiert euch die CustomerTicketOverview.tt und .pm in derselben Ordnerstruktur in $OTRS-Home/Custom/[...]
2) In der .tt zwischen "<th class=Title" ... und "<the class="State"... diesen Block einfügen:

Code: Select all

                    <th class="Created by [% Data.CreatedBySort | uri %]">
                        <a href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=[% Env("Subaction") %];SortBy=CreatedBey;OrderBy=[% Data.OrderBy | uri %];Filter=[% Data.Filter | uri %]">
                            [% Translate("Created By") | html %]
                        </a>
                    </th>
Weiter unten im Block "RenderBlockStart Record" vor "<td class=Status" ... diese Zeile einfügen:

Code: Select all

                    <td class="CreatedBy">[% Translate(Data.CreatedUserName) | html %]</td>
3) in der .pm diesen Teil finden:

Code: Select all

    # add block
    $Self->{LayoutObject}->Block(
        Name => 'Record',
        Data => {
            %Article,
            %Ticket,
            Subject => $Subject,
            %Param,
        },
    );
und hiermit ersetzen:

Code: Select all

    my %CreatedUser = $Self->{AgentUserObject}->GetUserData(
        UserID => $Ticket{CreateBy},
    );

    # add block
    $Self->{LayoutObject}->Block(
        Name => 'Record',
        Data => {
            %Article,
            %Ticket,
            CreatedUserName => $CreatedUser{UserFullname},
            Subject => $Subject,
            %Param,
        },
    );
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
sukr4m
Znuny expert
Posts: 242
Joined: 30 Aug 2012, 12:36
Znuny Version: 5.0.4

Re: Ticketersteller in Company Tickets anzeigen

Post by sukr4m »

Ich hab es mal ausprobiert und bekomme jetzt die Spalte aber es steht immer Admin OTRS drinne:

Image

Wir haben es fast!! :-)

Wo könnte der Fehler liegen?
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: Ticketersteller in Company Tickets anzeigen

Post by RStraub »

Oh guter Punkt. Hatte es mit bestehenden Tickets getestet, da war immer ein Agent drin. Es scheint wenn ein Kunde das Ticket öffnet steht die root@localhost ID als Ersteller am Ticket.

Du könntest versuchen die CustomerUserID zu nutzen:

Code: Select all

   my $CustomerUserName = $Kernel::OM->Get('Kernel::System::CustomerUser')->CustomerName(
        UserLogin => $Ticket{CustomerUserID},
    );

    # add block
    $Self->{LayoutObject}->Block(
        Name => 'Record',
        Data => {
            %Article,
            %Ticket,
            CreatedUserName => $CustomerUserName,
            Subject => $Subject,
            %Param,
        },
    );
(Ungetestet)
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
sukr4m
Znuny expert
Posts: 242
Joined: 30 Aug 2012, 12:36
Znuny Version: 5.0.4

Re: Ticketersteller in Company Tickets anzeigen

Post by sukr4m »

Sauber, das klappt nun! :D :D :D

@Kollege Remo: Könnt ihr also auch so übernehmen! 8)

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

Re: Ticketersteller in Company Tickets anzeigen

Post by RStraub »

Sehr gerne ;)
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
sukr4m
Znuny expert
Posts: 242
Joined: 30 Aug 2012, 12:36
Znuny Version: 5.0.4

Re: Ticketersteller in Company Tickets anzeigen

Post by sukr4m »

Moin,

ich habe nun auf die v5 geupgraded und versucht das hier nachzupflegen, bekomme aber einen internal server error bei der letzten Änderung in der CustomerTicketOverview.pm
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: Ticketersteller in Company Tickets anzeigen

Post by RStraub »

Und der Apache Log sagt was dazu... ?
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
sukr4m
Znuny expert
Posts: 242
Joined: 30 Aug 2012, 12:36
Znuny Version: 5.0.4

Re: Ticketersteller in Company Tickets anzeigen

Post by sukr4m »

Bringt mir hier die 2 Fehlermeldungen:

Code: Select all

[Fri Feb 19 07:54:25 2016] [error] Can't call method "Block" on an undefined value at /opt/otrs//Kernel/Modules/CustomerTicketOverview.pm line 669.\n
[Fri Feb 19 07:55:44 2016] CustomerTicketOverview.pm: Subroutine new redefined at /opt/otrs//Kernel/Modules/CustomerTicketOverview.pm line 19.
[Fri Feb 19 07:55:44 2016] CustomerTicketOverview.pm: Subroutine Run redefined at /opt/otrs//Kernel/Modules/CustomerTicketOverview.pm line 29.
[Fri Feb 19 07:55:44 2016] CustomerTicketOverview.pm: Subroutine ShowTicketStatus redefined at /opt/otrs//Kernel/Modules/CustomerTicketOverview.pm line 562.
[Fri Feb 19 07:55:45 2016] CustomerTicketOverview.pm: Subroutine new redefined at /opt/otrs//Kernel/Modules/CustomerTicketOverview.pm line 19.
[Fri Feb 19 07:55:45 2016] CustomerTicketOverview.pm: Subroutine Run redefined at /opt/otrs//Kernel/Modules/CustomerTicketOverview.pm line 29.
[Fri Feb 19 07:55:45 2016] CustomerTicketOverview.pm: Subroutine ShowTicketStatus redefined at /opt/otrs//Kernel/Modules/CustomerTicketOverview.pm line 562.
[Fri Feb 19 07:55:45 2016] [error] Can't call method "GetUserData" on an undefined value at /opt/otrs//Kernel/Modules/CustomerTicketOverview.pm line 664.\n

Einmal "GetUserData" und "Block" ...?!
reneeb
Znuny guru
Posts: 5018
Joined: 13 Mar 2011, 09:54
Znuny Version: 6.0.x
Real Name: Renée Bäcker
Company: Perl-Services.de
Contact:

Re: Ticketersteller in Company Tickets anzeigen

Post by reneeb »

Das Objekthandling hat sich für Frontendmodule in OTRS5 geändert. Probier mal statt

Code: Select all

$Self->{LayoutObject}
einfach

Code: Select all

$LayoutObject 
und statt

Code: Select all

$Self->{AgentUserObject}->GetUserData(
mal

Code: Select all

$Kernel::OM->Get('Kernel::System::User')->GetUserData(
Perl / Znuny development: http://perl-services.de
Free Znuny add ons from the community: http://opar.perl-services.de
Commercial add ons: http://feature-addons.de
sukr4m
Znuny expert
Posts: 242
Joined: 30 Aug 2012, 12:36
Znuny Version: 5.0.4

Re: Ticketersteller in Company Tickets anzeigen

Post by sukr4m »

Die neuen Tables funktionieren soweit. Ich musste die Änderung:

Code: Select all

$Kernel::OM->Get('Kernel::System::User')->GetUserData(
nicht vollziehen weil wir ja schon zu Anfangs das ausgeschlossen hatten.

Vielen Dank!
sukr4m
Znuny expert
Posts: 242
Joined: 30 Aug 2012, 12:36
Znuny Version: 5.0.4

Re: Ticketersteller in Company Tickets anzeigen

Post by sukr4m »

Ich hab das nun auch vor mit der Prio zu machen. Folgendes konnte ich mir ableiten aber es geht leider noch nicht:

In der /opt/otrs/Kernel/Output/HTML/Templates/Standard/CustomerTicketOverview.tt:

Code: Select all

<th class="Priority [% Data.Priority | 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>

weiter unten dann:

Code: Select all

<td class="Priority">[% Translate(Data.Priority) | html %]</td>


In der /opt/otrs/Kernel/Modules/CustomerTicketOverview.pm:

Code: Select all

my $Data.Priority = $Kernel::OM->Get('Kernel::System::CustomerUser')->Priority(
        UserLogin => $Ticket{CustomerUserID},
    );


 # add block
    $LayoutObject->Block(
        Name => 'Record',
        Data => {
            %Article,
            %Ticket,
            Priority => $Data.Priority,
            Subject => $Subject,
            %Param,
        },
    );

Ich weis, das im letzten Teil die ganzen CustomerUser Einträge falsch sind...ich habe ja alles übernommen. :-)

Mit Data.Priority habe ich denke ich mal das richtige gefunden.

Kann mir jemand da helfen?
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: Ticketersteller in Company Tickets anzeigen

Post by RStraub »

Probier's mal statt:
my $Data.Priority = $Kernel::OM->Get('Kernel::System::CustomerUser')->Priority(
UserLogin => $Ticket{CustomerUserID},
);


# add block
$LayoutObject->Block(
Name => 'Record',
Data => {
%Article,
%Ticket,
Priority => $Data.Priority,
Subject => $Subject,
%Param,
},
);
mit:

# add block
$LayoutObject->Block(
Name => 'Record',
Data => {
%Article,
%Ticket,
Priority => $Ticket{Priority},
Subject => $Subject,
%Param,
},
);
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
sukr4m
Znuny expert
Posts: 242
Joined: 30 Aug 2012, 12:36
Znuny Version: 5.0.4

Re: Ticketersteller in Company Tickets anzeigen

Post by sukr4m »

Jupp...jetzt gehts, da hatt ich ja FAST alles richtig! :-)

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

Re: Ticketersteller in Company Tickets anzeigen

Post by RStraub »

Gern ;)
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
MBork
Znuny newbie
Posts: 8
Joined: 06 Jun 2016, 12:56
Znuny Version: 5.0.0

Re: Ticketersteller in Company Tickets anzeigen

Post by MBork »

Hallo zusammen,

ich habe ebenfalls den Ticketersteller in die Ticketübersicht des Customers mit aufgenommen.

Nur funktioniert dies eher sporadisch. Zu Beginn zieht sich das System die richtigen Customer und dann nach aktualisieren der Seite z.B., wird das Feld wieder komplett geleert.

Im Systemprotokoll ist folgender Eintrag enthalten:

Wed Aug 24 16:35:56 2016 error OTRS-CGI-42 Need valid SortBy (CreatedBy)!
Wed Aug 24 16:35:56 2016 error OTRS-CGI-42 Need valid SortBy (CreatedBy)!
Wed Aug 24 16:35:56 2016 error OTRS-CGI-42 Need valid SortBy (CreatedBy)!
Wed Aug 24 16:28:53 2016 error OTRS-CGI-42 Need valid SortBy (CreatedBey)!


Irgendwelche Ratschläge, was ich übersehen habe?


Ich habe den gleiche Code eingefügt, der hier bereitgestellt wurde mit den Anpassungen für OTRS 5.

Gruß
M
nd0
Znuny expert
Posts: 232
Joined: 24 Mar 2015, 16:53
Znuny Version: 5.0.14
Location: Colonia

Re: Ticketersteller in Company Tickets anzeigen

Post by nd0 »

Mir erscheint das "CreatedBey" in der letzten Klammer seltsam. :?

Hab dann mal mit STRG + F hier im Thread gesucht, ob in einem der Code-Snippets auch dieser Schreibfehler vorhanden ist ... und tatsächlich hat RStraub weiter oben irgendwo nen Tippfehler drin, wo nach "CreatedBey" gefiltert wird ...

Tippe mal diesen Tippfehler hast du so in deinen Code übernommen?! ;-)
LIVE: OTRS 5.0.14 || Debian || MySQL/LDAP
TEST: OTRS 5.0.14 || Debian || MySQL/LDAP
MBork
Znuny newbie
Posts: 8
Joined: 06 Jun 2016, 12:56
Znuny Version: 5.0.0

Re: Ticketersteller in Company Tickets anzeigen

Post by MBork »

War mir so auch schon aufgefallen und ich hatte es bereits angepasst (siehe Fehler mit CreatedBy)

Leider funktioniert es immer noch nicht.

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

Re: Ticketersteller in Company Tickets anzeigen

Post by RStraub »

Hoppla :D
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
Post Reply