Вывод дополнительных данных по клиенту

Moderator: DenisBY

Locked
taf_321
Znuny newbie
Posts: 2
Joined: 19 Nov 2010, 10:06
Znuny Version: 2.4.9

Вывод дополнительных данных по клиенту

Post by taf_321 »

Приветствую!

Не подскажет ли многоуважаемое сообщество, как можно реализовать такую функцию:

Необходимо, чтобы в окне регистрации заявки агентом можно было кликнуть на имени клиента (в той области, где выводится информация по клиенту после того, Как он был найден), и открывалось новое окно браузера, где по клиенту будет подробная информация (как-то номера и состояние лицевых счетов, тарифы, услуги, IP адреса и т.д)

Аналогично чтобы можно было так же кликать по имени клиента в окне просмотра тикета.

Что-то не могу вкурить как там вставить нечто похожее на <A HREF="/superscript.php?id=ID_КЛИЕНТА" target="_blank"> в нужном месте.
Rashit
Znuny newbie
Posts: 8
Joined: 28 Aug 2010, 08:32
Znuny Version: 2.4.7

Re: Вывод дополнительных данных по клиенту

Post by Rashit »

Следующий вариант для версий 2.4 или 3
открываем
/opt/otrs/Kernel/Config.pm(если nix система)
или для windows:
C:\Program Files\OTRS\OTRS\Kernel\Config.pm
находим код

Code: Select all

    # DatabaseDSN
    # (The database DSN for MySQL ==> more: "man DBD::mysql")
    $Self->{DatabaseDSN} = "DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost};";
вставляем после него следующий код(Этот кусок кода скопирован из /opt/otrs/Kernel/Config/Defaults.pm или C:\Program Files\OTRS\OTRS\Kernel\Config\Defaults.pm В нем я поменял одну строку(см.комментарии в коде).):

Code: Select all

    # CustomerUser
    # (customer user database backend and settings)
    $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',
#            DSN => 'DBI:mysql:database=customerdb;host=customerdbhost',
#            User => '',
#            Password => '',
            Table => 'customer_user',
            # 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 uniq id
        CustomerKey => 'login',

        # customer #
        CustomerID             => 'customer_id',
        CustomerValid          => 'valid_id',
        CustomerUserListFields => [ 'first_name', 'last_name', 'email' ],

#        CustomerUserListFields => ['login', 'first_name', 'last_name', 'customer_id', 'email'],
        CustomerUserSearchFields           => [ 'login', 'first_name', 'last_name', 'customer_id' ],
        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 => 0,
#        # 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
            [ '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 ],
#вот эту строчку мы изменили для вашего скрипта
            [ 'UserCustomerID', 'CustomerID', 'customer_id', 1, 1, 'var', 'http://moysite.ru/superscript.php?id=$Data{"UserLogin"}', 0 ],
#все остальные строки из Defaults.pm
#            [ '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.',
#            },
        },
    };
Потом перезапустите апач.
Locked