public function addNewUserAction()
    {
        $container = new Container('meliscore');
        $response = [];
        $this->getEventManager()->trigger('meliscore_tooluser_savenew_start', $this, $response);

        $melisMelisCoreConfig = $this->serviceLocator->get('MelisCoreConfig');
        $appConfigForm = $melisMelisCoreConfig->getItem('meliscore/tools/meliscore_tool_user/forms/meliscore_tool_user_form_new');
        $appConfigForm = $appConfigForm['elements'];

        $success = 0;
        $errors = [];
        $datas = [];
        $textTitle = 'tr_meliscore_tool_user';

        if (!empty($container['action-tool-user-tmp'])) {
            if (!empty($container['action-tool-user-tmp']['success'])) {
                $success = $container['action-tool-user-tmp']['success'];
            }

            if (!empty($container['action-tool-user-tmp']['errors'])) {
                $errors = $container['action-tool-user-tmp']['errors'];
            }

            if (!empty($container['action-tool-user-tmp']['datas'])) {
                $datas = $container['action-tool-user-tmp']['datas'];
            }
        }

        unset($container['action-tool-user-tmp']);
        unset($container['action-tool-user-setrights-tmp']);

        foreach ($errors as $keyError => $valueError) {
            foreach ($appConfigForm as $keyForm => $valueForm) {
                if ($valueForm['spec']['name'] == $keyError &&
                    !empty($valueForm['spec']['options']['label'])) {
                    $errors[$keyError]['label'] = $valueForm['spec']['options']['label'];
                }
            }
        }

        if ($success == 0) {
            $textMessage = 'tr_meliscore_tool_user_new_fail_info';
        } else {
            $textMessage = 'tr_meliscore_tool_user_new_success_info';
        }

        $userId = null;
        if (!empty($datas['usr_id'])) {
            $userId = $datas['usr_id'];
            unset($datas['usr_id']);
        }

        $response = [
            'success' => $success,
            'textTitle' => $textTitle,
            'textMessage' => $textMessage,
            'errors' => $errors,
            'datas' => $datas
        ];

        $this->getEventManager()->trigger('meliscore_tooluser_savenew_end', $this, array_merge($response, ['typeCode' => 'CORE_USER_ADD', 'itemId' => $userId]));

        unset($response['datas']);

        return new JsonModel($response);
    }