<?php /** * This file contains package_quiqqer_coupons_ajax_getList */ use QUI\ERP\Coupons\Handler; use QUI\Utils\Security\Orthos; use QUI\Utils\Grid; use QUI\Permissions\Permission; /** * Get list of CouponCodes * * @param array $searchParams * @return array */ QUI::$Ajax->registerFunction( 'package_quiqqer_coupons_ajax_getList', function ($searchParams) { Permission::hasPermission(Handler::PERMISSION_VIEW); $searchParams = Orthos::clearArray(json_decode($searchParams, true)); $inviteCodes = []; $Users = QUI::getUsers(); $L = QUI::getLocale(); try { foreach (Handler::search($searchParams) as $InviteCode) { $inviteCode = $InviteCode->toArray(); foreach ($inviteCode['usages'] as $k => $usage) { // User $User = $Users->get($usage['userId']); $inviteCode['usages'][$k]['userName'] = $User->getUsername(); // Date $Date = new DateTime($usage['date']); $inviteCode['usages'][$k]['date'] = $L->formatDate($Date->getTimestamp()); } $inviteCodes[] = $inviteCode; } } catch (\Exception $Exception) { QUI\System\Log::writeException($Exception); QUI::getMessagesHandler()->addSuccess( QUI::getLocale()->get( 'quiqqer/invitecode', 'message.ajax.general_error' ) ); return false; } $Grid = new Grid($searchParams); return $Grid->parseResult( $inviteCodes, Handler::search($searchParams, true) ); }, ['searchParams'], 'Permission::checkAdminUser' );