Additional Customer User Attribute

This tutorial explains how to add an additional attribute to the customer user using dynamic fields. Any kind of attribute can be added.

The following example shows how to add an attribute that holds VIP status for the customer user.

VIP Customer User

To use the VIP customer user functionality:

  1. Go to the Dynamic Fields module of the administrator interface.

  2. Add a drop-down dynamic field of type Customer User.

    • Name: CustomerUserVIPStatus

    • Label: VIP Status

    • Field type: Dropdown

    • Object type: Customer User

    • Possible values: 0 = No VIP ⚪️, 1 = VIP 🔴

    • Default value: No VIP ⚪️

    • Add empty value: No

    • Translatable values: Yes

    • Show link: leave it empty

  3. Go to the System Configuration screen of the administrator interface.

  4. Add the dynamic field to the screens.

    Agent::Organizer::ItemType###CustomerUserList
    Forms###AgentFrontend::CustomerUserCreate::Properties
    Forms###AgentFrontend::CustomerUserUpdate::Properties
    
  5. Copy the used customer user back end mapping from the Kernel/Config/Defaults.pm and paste it into the Kernel/Config.pm.

  6. Uncomment the dynamic field section in the Map array and add the created dynamic field.

    # Dynamic field example
    [ 'DynamicField_CustomerUserVIPStatus', undef, 'CustomerUserVIPStatus', 1, 0, 'dynamic_field', undef, 0, undef, undef ],
    
  7. Go to the Access Control Lists (ACL) module of the administrator interface.

  8. Create an ACL that disables the SLA to all customer users. You can import the following ACL as well.

    - ChangeBy: root@localhost
      ChangeTime: 2021-06-29 11:01:59
      Comment: 'Disable SLA to all customer users.'
      ConfigChange:
        PossibleNot:
          Ticket:
            SLA:
            - 'SLA_Name'
      CreateTime: 2021-06-29 11:01:59
      Description: ''
      ID: 3
      Name: VIP only SLA, disable to all
      StopAfterMatch: 0
      ValidID: 1
    
  9. Create an ACL that enables the SLA only to VIP customer users. You can import the following ACL as well.

    - ChangeBy: root@localhost
      ChangeTime: 2021-06-29 11:03:48
      Comment: 'Enable SLA only to VIP customer users.'
      ConfigChange:
        PossibleAdd:
          Ticket:
            SLA:
            - 'SLA_Name'
      ConfigMatch:
        Properties:
          CustomerUser:
            DynamicField_CustomerUserVIPStatus:
            - '1'
      CreateBy: root@localhost
      CreateTime: 2021-06-29 11:03:48
      Description: ''
      ID: 4
      Name: VIP only SLA, enable to VIPs
      StopAfterMatch: 0
      ValidID: 1
    

    Do not forget to change the SLA name in the exported ACLs.

Scroll to Top