Kundenusersuche

Hilfe zu Znuny Problemen aller Art
Locked
dnaontec
Znuny newbie
Posts: 81
Joined: 03 Jul 2014, 16:08
Znuny Version: 5.0.3
Real Name: Deniz

Kundenusersuche

Post by dnaontec »

Hi

Wenn ich ein neues Ticket eröffne, würde ich gerne bei der suche nach dem customer user auch nach dessen emailadresse suchen können. Wo muss ich die Einstellung vornehmen, damit ich das realisieren kann. Wir haben OTRS 3.3.8. Vielen Dank im voraus und schon mal frohe Weihnachten.

lg
DNA
Rooobaaat
Znuny wizard
Posts: 432
Joined: 11 Sep 2014, 16:28
Znuny Version: OTRS 5.0.x

Re: Kundenusersuche

Post by Rooobaaat »

Suche mal in der Defaults.pm nach

CustomerUserSearchFields => ['login', 'last_name', 'customer_id'],

und erweitere es um 'email'
My english is better than your german :P

"Produktiv": OTRS: 5.0.x, OTRS::ITSM 5.0.x
"Testing": OTRS 6 git
OS: Debian 8.0 (Jessie)
Apache2.4.10/MySQL 5.5.41
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: Kundenusersuche

Post by jojo »

aber natürlich erst alles in die Config.pm rüber kopieren
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
dnaontec
Znuny newbie
Posts: 81
Joined: 03 Jul 2014, 16:08
Znuny Version: 5.0.3
Real Name: Deniz

Re: Kundenusersuche

Post by dnaontec »

Hallo Jojo

Hab folgenden Teil in die config.pm rüberkopiert:

Code: Select all

    $Self->{CustomerUser} = {
        Name   => 'Database Backend',
        Module => 'Kernel::System::CustomerUser::DB',
        Params => {
            # if you want to use an external database, add the
            # required settings
#            DSN  => 'DBI:odbc:yourdsn',
#            Type => 'mssql', # only for ODBC connections
#            DSN => 'DBI:mysql:database=customerdb;host=customerdbhost',
#            User => '',
#            Password => '',
            Table => 'customer_user',
            # if your frontend is unicode and the charset of your
            # customer database server is iso-8859-1, use these options.
#           SourceCharset => 'iso-8859-1',
#           DestCharset => 'utf-8',

            # CaseSensitive will control if the SQL statements need LOWER()
            #   function calls to work case insensitively. Setting this to
            #   1 will improve performance dramatically on large databases.
            CaseSensitive => 0,
        },

        # customer unique id
        CustomerKey => 'login',

        # customer #
        CustomerID             => 'customer_id',
        CustomerValid          => 'valid_id',

        # The last field must always be the email address so that a valid
        #   email address like "John Doe" <john.doe@domain.com> can be constructed from the fields.
        CustomerUserListFields => [ 'first_name', 'last_name', 'email' ],

#        CustomerUserListFields => ['login', 'first_name', 'last_name', 'customer_id', 'email'],
        CustomerUserSearchFields           => [ 'login', 'first_name', 'last_name', 'customer_id' 'email'],
        CustomerUserSearchPrefix           => '*',
        CustomerUserSearchSuffix           => '*',
        CustomerUserSearchListLimit        => 250,
        CustomerUserPostMasterSearchFields => ['email'],
        CustomerUserNameFields             => [ 'title', 'first_name', 'last_name' ],
        CustomerUserEmailUniqCheck         => 1,

#        # show now own tickets in customer panel, CompanyTickets
#        CustomerUserExcludePrimaryCustomerID => 0,
#        # generate auto logins
#        AutoLoginCreation => 0,
#        # generate auto login prefix
#        AutoLoginCreationPrefix => 'auto',
#        # admin can change customer preferences
#        AdminSetPreferences => 1,
#        # use customer company support (reference to company, See CustomerCompany settings)
#        CustomerCompanySupport => 1,
        # cache time to live in sec. - cache any database queries
        CacheTTL => 60 * 60 * 24,
#        # just a read only source
#        ReadOnly => 1,
        Map => [

            # note: Login, Email and CustomerID needed!
            # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target, link class(es)
            [ 'UserTitle',      'Title',      'title',      1, 0, 'var', '', 0 ],
            [ 'UserFirstname',  'Firstname',  'first_name', 1, 1, 'var', '', 0 ],
            [ 'UserLastname',   'Lastname',   'last_name',  1, 1, 'var', '', 0 ],
            [ 'UserLogin',      'Username',   'login',      1, 1, 'var', '', 0 ],
            [ 'UserPassword',   'Password',   'pw',         0, 0, 'var', '', 0 ],
            [ 'UserEmail',      'Email',      'email',      1, 1, 'var', '', 0 ],
#            [ 'UserEmail',      'Email', 'email',           1, 1, 'var', '$Env{"CGIHandle"}?Action=AgentTicketCompose;ResponseID=1;TicketID=$Data{"TicketID"};ArticleID=$Data{"ArticleID"}', 0, '', 'AsPopup OTRSPopup_TicketAction' ],
            [ 'UserCustomerID', 'CustomerID', 'customer_id', 0, 1, 'var', '', 0 ],
#            [ 'UserCustomerIDs', 'CustomerIDs', 'customer_ids', 1, 0, 'var', '', 0 ],
            [ 'UserPhone',        'Phone',       'phone',        1, 0, 'var', '', 0 ],
            [ 'UserFax',          'Fax',         'fax',          1, 0, 'var', '', 0 ],
            [ 'UserMobile',       'Mobile',      'mobile',       1, 0, 'var', '', 0 ],
            [ 'UserStreet',       'Street',      'street',       1, 0, 'var', '', 0 ],
            [ 'UserZip',          'Zip',         'zip',          1, 0, 'var', '', 0 ],
            [ 'UserCity',         'City',        'city',         1, 0, 'var', '', 0 ],
            [ 'UserCountry',      'Country',     'country',      1, 0, 'var', '', 0 ],
            [ 'UserComment',      'Comment',     'comments',     1, 0, 'var', '', 0 ],
            [ 'ValidID',          'Valid',       'valid_id',     0, 1, 'int', '', 0 ],
        ],

        # default selections
        Selections => {

#            UserTitle => {
#                'Mr.' => 'Mr.',
#                'Mrs.' => 'Mrs.',
#            },
        },
    };
Leider mit mäßigem Erfolg. Fehlt mir etwas? Oder hab ich zuviel rüberkopiert? Danke
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: Kundenusersuche

Post by jojo »

nein sieht gut aus. Hast Du denn danach die Caches gelöscht?
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
dnaontec
Znuny newbie
Posts: 81
Joined: 03 Jul 2014, 16:08
Znuny Version: 5.0.3
Real Name: Deniz

Re: Kundenusersuche

Post by dnaontec »

Hi

Ich habe danach den apache neu starten wollen, aber start war nicht möglich. An Welcher Stelle in der config.pm sollte ich den code einfügen? Übrigens, wenn ich die default.pm nur um das 'email' erweitere, habe ich mit dem apache das selbe Problem.
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: Kundenusersuche

Post by reneeb »

dnaontec wrote:

Code: Select all

  
#        CustomerUserListFields => ['login', 'first_name', 'last_name', 'customer_id', 'email'],
        CustomerUserSearchFields           => [ 'login', 'first_name', 'last_name', 'customer_id' 'email'],

Vor dem 'email' fehlt ein Komma
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
dnaontec
Znuny newbie
Posts: 81
Joined: 03 Jul 2014, 16:08
Znuny Version: 5.0.3
Real Name: Deniz

Re: Kundenusersuche

Post by dnaontec »

Tatsächlich, das Komma wars, Weihnachten ist gerettet ;-) Danke dir.

Noch eine Frage, wie schaffe ich es, dass ich als customersearchfield auch nach dem Namen des Kunden (nicht des users selbst) suchen kann? Irgendetwas wie "usercompanyname" oder so wäre extrem hilfreich für uns!

Danke nochmals und frohes Fest.
dnaontec
Znuny newbie
Posts: 81
Joined: 03 Jul 2014, 16:08
Znuny Version: 5.0.3
Real Name: Deniz

Re: Kundenusersuche

Post by dnaontec »

Hi

Hat jemand eine Idee, wie ich nach dem Firmennamen des Kundenbenutzers bei der Erstellung eines Tickets suchen kann?

Danke und guten Rutsch
Rooobaaat
Znuny wizard
Posts: 432
Joined: 11 Sep 2014, 16:28
Znuny Version: OTRS 5.0.x

Re: Kundenusersuche

Post by Rooobaaat »

Das wäre dann die customer_id
My english is better than your german :P

"Produktiv": OTRS: 5.0.x, OTRS::ITSM 5.0.x
"Testing": OTRS 6 git
OS: Debian 8.0 (Jessie)
Apache2.4.10/MySQL 5.5.41
dnaontec
Znuny newbie
Posts: 81
Joined: 03 Jul 2014, 16:08
Znuny Version: 5.0.3
Real Name: Deniz

Re: Kundenusersuche

Post by dnaontec »

Hi

Leider Nein. Die CustomerID ist bei uns nur eine Zahlenfolge. Was ich in der Suche bräuchte, wäre der Name der Firma, den ich beim customer Management unter customer eingetragen habe. Vielleicht zur Erklärung. Wir haben z.B. einen Kunden "Waldfee GmbH". Dieser wurde im customer Management wie folgt angelegt:

Customer: Waldfee GmbH
CustomerID: 123456789

Nun gibt es z.B. 20 User der Firma Waldfee GmbH, welche Zugriff auf das Kundenportal bekommen sollen. Z.B. Max Mustermann. Dieser wurde im customer User Management wie folgt angelegt:

Firstname: Max
Lastname: Musterman
CustomerID: 123456789

Und das jeweils für alle 20 User. Nun würde ich gerne, wenn ich ein neues Ticket erstellen will bei der Suche "Waldfee" eingeben können und er schlägt mir dann automatisch die 20 User vor. Es müsste ein Art Verweis sein, Suche nach Customer, der hinter der CustomerID steckt.

Danke

lg
Deniz
shuser
Znuny newbie
Posts: 19
Joined: 20 Apr 2012, 08:58
Znuny Version: 3.1.2
Real Name: Stefan Holzapfel
Company: dsb GmbH & Co. KG

Re: Kundenusersuche

Post by shuser »

einfach im Feld Kundenbenutzer das eingeben, was gesucht wird, entweder Waldfee oder 123456789, dann sollte jeweils immer alle 20 zur Auswahl angezeigt werden.

Gruß
Stefan
OTRS: 3.3.5, ITSM 3.3.3, KIX4OTRS 6.03
SUSE Linux Enterprise Server 10
Apache2/MySQl 5.5.33
Testsystem: OTRS 3.3.5
dnaontec
Znuny newbie
Posts: 81
Joined: 03 Jul 2014, 16:08
Znuny Version: 5.0.3
Real Name: Deniz

Re: Kundenusersuche

Post by dnaontec »

Dafür müsste ich doch den Eintrag bei CustomerUserSearchFields abändern. Die Frage ist, was ich dort noch zusätzlich noch eintragen müsste, um nach "Waldfee" suchen zu können?
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: Kundenusersuche

Post by reneeb »

Das bedarf einer Änderung im Quellcode. Aktuell wird nur die customer_user-Tabelle durchsucht (siehe https://github.com/OTRS/otrs/blob/rel-4 ... DB.pm#L218),.
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
dnaontec
Znuny newbie
Posts: 81
Joined: 03 Jul 2014, 16:08
Znuny Version: 5.0.3
Real Name: Deniz

Re: Kundenusersuche

Post by dnaontec »

Welche Änderung müsste ich vornehmen, damit auch der customer selbst bei der Suche berücksichtigt wird? Danke
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: Kundenusersuche

Post by reneeb »

Code: Select all

 $SQL .= " FROM $Self->{CustomerTable} WHERE ";
muss dann

Code: Select all

 $SQL .= " FROM $Self->{CustomerTable} LEFT OUTER JOIN customer_company cc ON $Self->{CustomerTable}.customer_id = cc.customer_id WHERE ";

Dann muss es noch so gemacht werden:

Code: Select all

CustomerUserSearchFields => ['login', 'last_name', 'cc.customer_id', 'cc.name'],
(alles ungetestet)

Beachte: Die Änderung kann Probleme bereiten wenn Du mehrere DB-Backends für die Kunden einsetzt! Um das generischer zu halten, wäre mehr Aufwand notwendig.
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
dnaontec
Znuny newbie
Posts: 81
Joined: 03 Jul 2014, 16:08
Znuny Version: 5.0.3
Real Name: Deniz

Re: Kundenusersuche

Post by dnaontec »

Hi

Wenn ich die Änderungen so vornehme, wie du es vorschlägst, findet eine Suche gar keine Ergebnisse mehr. Ich denke, irgendwas fehlt da noch. Bist du dir sicher, dass es cc.name heißen soll?

lg
DNA
Locked