adding a new freetext in agent area

Moderator: crythias

Locked
jgallego
Znuny newbie
Posts: 7
Joined: 27 Jul 2010, 15:12
Znuny Version: 2.2.6

adding a new freetext in agent area

Post by jgallego »

Hi,

I have added a new field in customer tables to store the area in which a customer belongs. a customer sends a email to service desk and the agents create the tickets, they have to select in a select box, in which are all the areas, the specific area for a customer and it is saved in a freetext field in ticket table.

When you create a ticket and select the customer you notice that some information is loaded automatically, my question is how can i load the area automatically in the creation of new tickets?

I was trying with a trigger in the database but it is generating an error. Maybe using the interface could be more easy.

Thanks for the help.

Juan
ferrosti
Znuny superhero
Posts: 723
Joined: 10 Oct 2007, 14:30
Znuny Version: 3.0
Location: Hamburg, Germany

Re: adding a new freetext in agent area

Post by ferrosti »

You just need to include these fields in your customer table and do the specific mapping in Config.pm

This is how I did it:

Code: Select all

    $Self->{CustomerUser} = {
        Name => 'Database Backend',
        Module => 'Kernel::System::CustomerUser::DB',
        Params => {
            Table => 'customer_user',
        },
        # customer uniq id
        CustomerKey => 'login',
        # customer #
        CustomerID => 'customer_id',
        CustomerValid => 'valid_id',
        CustomerUserListFields => ['first_name', 'last_name', 'email'],
        CustomerUserSearchFields => ['login', 'first_name', 'last_name', 'customer_id', 'email'],
        CustomerUserSearchPrefix => '',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['email'],
        CustomerUserNameFields => ['first_name', 'last_name'],
        CustomerUserEmailUniqCheck => 0,
#        # 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 life in sec. - cache any database queris
#        CacheTTL => 0,
#        # just a read only source
        ReadOnly => 0,
        Map => [
            # note: Login, Email and CustomerID needed!
            # var,		 frontend,	     storage,	       shown (1=always,2=lite), required, storage-type, http-link, readonly
            [ 'UserSalutation',  'Salutation',       'salutation',     1, 1, '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 ],
            [ 'UserCustomerID',  'CustomerID',       'customer_id',    1, 0, 'var', '', 0 ],
            [ 'UserCustomerIDs', 'CustomerIDs',      'customer_ids',   1, 0, 'var', '', 0 ],
            [ 'UserComment',     'Comment',          'comments',       1, 0, 'var', '', 0 ],
            [ 'ValidID',         'Valid',            'valid_id',       1, 1, 'int', '', 0 ],
            [ 'UserLocationID',  'Location',         'location',       1, 0, 'var', '', 0 ],
            [ 'UserDepartment',  'Department',       'department',     1, 0, 'var', '', 0 ],
            [ 'UserTitle',       'Title',            'title',          1, 0, 'var', '', 0 ],
            [ 'UserManager',     'Manager',          'manager',        1, 0, 'var', '', 0 ],
            [ 'UserCompany',     'Company',          'company',        1, 0, 'var', '', 0 ],
            [ 'UserFloor',       'Floor',            'floor',          1, 0, 'var', '', 0 ],
            [ 'UserRoom',        'Room',             'room',           1, 0, 'var', '', 0 ],
            [ 'UserStreet',      'Street',           'street',         1, 0, 'var', '', 0 ],
            [ 'UserPostalCode',  'Postal Code',      'postal_code',    1, 0, 'var', '', 0 ],
            [ 'UserCity',        'City',             'city',           1, 0, 'var', '', 0 ],
            [ 'UserCountry',     'Country',          'country',        1, 0, 'var', '', 0 ],
            [ 'UserPhoneNr',     'Phone Number',     'phone_nr',       1, 0, 'var', '', 0 ],
            [ 'UserMobileNr',    'Mobile Number',    'mobile_nr',      1, 0, 'var', '', 0 ],
            [ 'UserFacsimileNr', 'Facsimile Number', 'facsimile_nr',   1, 0, 'var', '', 0 ],
            [ 'UserHomePhoneNr', 'Home Phone Number','home_phone_nr',  1, 0, 'var', '', 0 ]
        ],
        # default selections
        Selections => {
#            UserSalutation => {
#                'Mr.' => 'Mr.',
#                'Mrs.' => 'Mrs.',
#            },
        },
    };
openSuSE on ESX
IT-Helpdesk: OTRS 3.0
Customer Service: OTRS 3.0 (upgraded from 2.3)
Customer Service (subsidiary): OTRS 3.0
+additional test and development systems
jgallego
Znuny newbie
Posts: 7
Joined: 27 Jul 2010, 15:12
Znuny Version: 2.2.6

Re: adding a new freetext in agent area

Post by jgallego »

ferrosti wrote:You just need to include these fields in your customer table and do the specific mapping in Config.pm

This is how I did it:

Code: Select all

    $Self->{CustomerUser} = {
        Name => 'Database Backend',
        Module => 'Kernel::System::CustomerUser::DB',
        Params => {
            Table => 'customer_user',
        },
        # customer uniq id
        CustomerKey => 'login',
        # customer #
        CustomerID => 'customer_id',
        CustomerValid => 'valid_id',
        CustomerUserListFields => ['first_name', 'last_name', 'email'],
        CustomerUserSearchFields => ['login', 'first_name', 'last_name', 'customer_id', 'email'],
        CustomerUserSearchPrefix => '',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['email'],
        CustomerUserNameFields => ['first_name', 'last_name'],
        CustomerUserEmailUniqCheck => 0,
#        # 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 life in sec. - cache any database queris
#        CacheTTL => 0,
#        # just a read only source
        ReadOnly => 0,
        Map => [
            # note: Login, Email and CustomerID needed!
            # var,		 frontend,	     storage,	       shown (1=always,2=lite), required, storage-type, http-link, readonly
            [ 'UserSalutation',  'Salutation',       'salutation',     1, 1, '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 ],
            [ 'UserCustomerID',  'CustomerID',       'customer_id',    1, 0, 'var', '', 0 ],
            [ 'UserCustomerIDs', 'CustomerIDs',      'customer_ids',   1, 0, 'var', '', 0 ],
            [ 'UserComment',     'Comment',          'comments',       1, 0, 'var', '', 0 ],
            [ 'ValidID',         'Valid',            'valid_id',       1, 1, 'int', '', 0 ],
            [ 'UserLocationID',  'Location',         'location',       1, 0, 'var', '', 0 ],
            [ 'UserDepartment',  'Department',       'department',     1, 0, 'var', '', 0 ],
            [ 'UserTitle',       'Title',            'title',          1, 0, 'var', '', 0 ],
            [ 'UserManager',     'Manager',          'manager',        1, 0, 'var', '', 0 ],
            [ 'UserCompany',     'Company',          'company',        1, 0, 'var', '', 0 ],
            [ 'UserFloor',       'Floor',            'floor',          1, 0, 'var', '', 0 ],
            [ 'UserRoom',        'Room',             'room',           1, 0, 'var', '', 0 ],
            [ 'UserStreet',      'Street',           'street',         1, 0, 'var', '', 0 ],
            [ 'UserPostalCode',  'Postal Code',      'postal_code',    1, 0, 'var', '', 0 ],
            [ 'UserCity',        'City',             'city',           1, 0, 'var', '', 0 ],
            [ 'UserCountry',     'Country',          'country',        1, 0, 'var', '', 0 ],
            [ 'UserPhoneNr',     'Phone Number',     'phone_nr',       1, 0, 'var', '', 0 ],
            [ 'UserMobileNr',    'Mobile Number',    'mobile_nr',      1, 0, 'var', '', 0 ],
            [ 'UserFacsimileNr', 'Facsimile Number', 'facsimile_nr',   1, 0, 'var', '', 0 ],
            [ 'UserHomePhoneNr', 'Home Phone Number','home_phone_nr',  1, 0, 'var', '', 0 ]
        ],
        # default selections
        Selections => {
#            UserSalutation => {
#                'Mr.' => 'Mr.',
#                'Mrs.' => 'Mrs.',
#            },
        },
    };
Thanks ferrosti for your answer. I have already created the field in the table and have enabled the freetextfield. When the agents tries to create a new phone ticket the field is listed in the form. The problem is that actually they have to fill that field manually and i like that it could be filled automatically.

Example: When a agent try to create the ticket, first he/she has to search the customer. When the customer is listed they select the boton use this customer and the page is reloaded with the customer data filling some fields.

is there another thing that i have to do to fill that field automatically when the customer data is loaded?

Thanks for your help.
crythias
Moderator
Posts: 10170
Joined: 04 May 2010, 18:38
Znuny Version: 5.0.x
Location: SouthWest Florida, USA
Contact:

Re: adding a new freetext in agent area

Post by crythias »

The customer data is not usually to be filled at ticket creation because it doesn't change. The information needs to be placed in the customer data page, not the ticket page.
OTRS 6.0.x (private/testing/public) on Linux with MySQL database.
Please edit your signature to include your OTRS version, Operating System, and database type.
Click Subscribe Topic below to get notifications. Consider amending your topic title to include [SOLVED] if it is so.
Need help? Before you ask
jgallego
Znuny newbie
Posts: 7
Joined: 27 Jul 2010, 15:12
Znuny Version: 2.2.6

Re: adding a new freetext in agent area

Post by jgallego »

crythias wrote:The customer data is not usually to be filled at ticket creation because it doesn't change. The information needs to be placed in the customer data page, not the ticket page.
Thanks for your answer. In my an specific customer field could change. For example in my case I created a field in customer table to stored the area in which a customer belongs. A customer can change the area, for example, a customer is in sales and could change to marketing.

The customers send mail to help desk and the operators create the tickets using the agent interface. So when it is created i need to load in that freetext, the area in which the customer is as other customer information is loaded.

For every ticket is stored the area that generated it.

My problem continue in how to load the value from each customer area to allow agents create tickets using agent interface.
crythias
Moderator
Posts: 10170
Joined: 04 May 2010, 18:38
Znuny Version: 5.0.x
Location: SouthWest Florida, USA
Contact:

Re: adding a new freetext in agent area

Post by crythias »

Would it be possible to use queues for that purpose?
OTRS 6.0.x (private/testing/public) on Linux with MySQL database.
Please edit your signature to include your OTRS version, Operating System, and database type.
Click Subscribe Topic below to get notifications. Consider amending your topic title to include [SOLVED] if it is so.
Need help? Before you ask
ferrosti
Znuny superhero
Posts: 723
Joined: 10 Oct 2007, 14:30
Znuny Version: 3.0
Location: Hamburg, Germany

Re: adding a new freetext in agent area

Post by ferrosti »

In case the information is not shown during ticket creation it is either not in your DB or you query a wrong field.

All information from my DB regarding our customers is shown during ticket creation.
openSuSE on ESX
IT-Helpdesk: OTRS 3.0
Customer Service: OTRS 3.0 (upgraded from 2.3)
Customer Service (subsidiary): OTRS 3.0
+additional test and development systems
asdrub
Znuny newbie
Posts: 3
Joined: 07 Aug 2010, 05:51
Znuny Version: 2.4.7

Re: adding a new freetext in agent area

Post by asdrub »

Hi everybody.
I'm still stuck with this question from "jgallego".
It would be nice to have a new field created in CustomerUser table (something like department, or company unity) stored in FreeText from Tickets table. With that, I could easily obtain these informations in reports and show a more detailed view from needs and uses of IT resources by our customers.
Eduardo Ribeiro

OTRS 2.4 [FreeBSD] and 3.0 [CentOS 6 Linux], both on VMware and MS Hyper-V, with MySQL database for Agents and Customers.
ferrosti
Znuny superhero
Posts: 723
Joined: 10 Oct 2007, 14:30
Znuny Version: 3.0
Location: Hamburg, Germany

Re: adding a new freetext in agent area

Post by ferrosti »

openSuSE on ESX
IT-Helpdesk: OTRS 3.0
Customer Service: OTRS 3.0 (upgraded from 2.3)
Customer Service (subsidiary): OTRS 3.0
+additional test and development systems
crythias
Moderator
Posts: 10170
Joined: 04 May 2010, 18:38
Znuny Version: 5.0.x
Location: SouthWest Florida, USA
Contact:

Re: adding a new freetext in agent area

Post by crythias »

If you want something stored in free text, type it in a free text box.
OTRS 6.0.x (private/testing/public) on Linux with MySQL database.
Please edit your signature to include your OTRS version, Operating System, and database type.
Click Subscribe Topic below to get notifications. Consider amending your topic title to include [SOLVED] if it is so.
Need help? Before you ask
Locked