Skip to content
Code-Schnipsel Gruppen Projekte
search.php 1,62 KiB
Newer Older
  • Learn to ignore specific revisions
  • <?php
    
    /**
     * This file contains package_quiqqer_invoice_ajax_invoices_search
     */
    
    use QUI\ERP\Accounting\Invoice\Search\InvoiceSearch;
    
    /**
     * Search invoices
     *
     * @param string $params - Grid query params
     * @param string $filter - Filter
     *
     * @return array
     */
    QUI::$Ajax->registerFunction(
        'package_quiqqer_invoice_ajax_invoices_search',
        function ($params, $filter) {
            $Search = InvoiceSearch::getInstance();
    
            $Grid = new QUI\Utils\Grid();
    
            $filter = json_decode($filter);
    
            $params = json_decode($params, true);
    
    
            foreach ($filter as $entry => $value) {
                $Search->setFilter($entry, $value);
            }
    
            // query params
    
            $query = $Grid->parseDBParams($params);
    
                $limit = explode(',', $query['limit']);
    
            if (isset($query['order'])) {
                $Search->order($query['order']);
            }
    
    
    Henning Leutz's avatar
    Henning Leutz committed
            if (isset($query['sortOn']) && isset($query['sortBy'])) {
    
                $Search->order($query['sortOn'] . ' ' . $query['sortBy']);
    
            if (!empty($params['calcTotal'])) {
                $Search->enableCalcTotal();
            } else {
                $Search->disableCalcTotal();
            }
    
    
            try {
                return $Search->searchForGrid();
    
                QUI\System\Log::writeException($Exception);
    
                    'grid' => [],
    
    Henning Leutz's avatar
    Henning Leutz committed
        [
            'params',
            'filter'
        ],