<?php
 namespace Modules\Partners\Suppliers; class View_Utils_FormFilters extends \App\Mvc\View_Utils_FormAbstract { public function getForm() { $fieldsValues = $this->values['listingParams']->getFilters(); $_LANG = \App\Loader_Lang::getInstance()->getGlobal(); $form = \Engine\Form\Filters::create(); $form->setColumns(4); $form->showResetButton(true); $fld = new \Engine\Form\Input\TextWithElements($this->lang['index']['filters']['name'], "filters[nameSearchText]", $fieldsValues['nameSearchText']); $fld->addElement( \Engine\Form\Input\Select::create(null, "filters[nameSearchMode]", $fieldsValues['nameSearchMode'], [ 'starts' => $this->lang['index']['filters']['searchMode']['starts'], 'contains' => $this->lang['index']['filters']['searchMode']['contains'], 'exact' => $this->lang['index']['filters']['searchMode']['exact'], ]), 'post'); $form->addElement($fld); $fld = new \Engine\Form\Input\Select($this->lang['index']['filters']['category'], 'filters[category]', $fieldsValues['category']); $possibleValues = []; foreach ($this->globalCfg['suppliers']['possibleCategories'] as $category) { $possibleValues[$category] = ($this->globalLang['generalData']['suppliers']['possibleCategories'][$category]?:$category); } $fld->setPossibleValues($possibleValues) ->showDefaultOption(); $form->addElement($fld); $fld = new \Engine\Form\Input\Text($this->lang['index']['filters']['supplierCode'], 'filters[supplierCode]', $fieldsValues['supplierCode']); $form->addElement($fld); $fld = new \Engine\Form\Input\Text($this->lang['index']['filters']['idSupplier'], 'filters[idSupplier]', $fieldsValues['idSupplier']); $form->addElement($fld); $fld = new \Engine\Form\Input\Text($this->lang['index']['filters']['fiscalCode'], 'filters[fiscalCode]', $fieldsValues['fiscalCode']); $form->addElement($fld); $fld = new \Engine\Form\Input\Text($this->lang['index']['filters']['regNo'], 'filters[regNo]', $fieldsValues['regNo']); $form->addElement($fld); $fld = new \Engine\Form\Input\Text($this->lang['index']['filters']['accountingNumber'], 'filters[accountingNumber]', $fieldsValues['accountingNumber']); $form->addElement($fld); $fld = new \Engine\Form\Input\Select($this->lang['index']['filters']['duplicateStatus'], 'filters[duplicateStatus]', $fieldsValues['duplicateStatus']); $fld->setPossibleValues([ 'all' => $this->lang['index']['filters']['duplicate']['all'], 'duplicated' => $this->lang['index']['filters']['duplicate']['yes'], 'notDuplicated' => $this->lang['index']['filters']['duplicate']['no'] ]); $fld->setTooltip($this->lang['index']['filters']['duplicate']['tooltip']); $form->addElement($fld); $fld = new \Engine\Form\Input\Select($this->lang['index']['filters']['vatRegistered'], 'filters[vatRegistered]', $fieldsValues['vatRegistered']); $fld->showDefaultOption(); $fld->setPossibleValues([ 'n' => $_LANG['no'], 'y' => $_LANG['yes'], ]); $form->addElement($fld); $fld = new \Engine\Form\Input\Text($this->lang['index']['filters']['vatCertificateNumber'], 'filters[vatCertificateNumber]', $fieldsValues['vatCertificateNumber']); $form->addElement($fld); $fld = new \App\Form\Input\Autocomplete_CountryCity($this->lang['index']['filters']['location'], 'filters[location]', $fieldsValues['location']); $form->addElement($fld); $fld = new \App\Form\Input\Autocomplete_SupplierTrust($this->lang['index']['filters']['idTrust'], 'filters[idTrust]', $fieldsValues['idTrust']); $form->addElement($fld); $fld = new \Engine\Form\Input\Text($this->lang['index']['filters']['remarks'], 'filters[remarks]', $fieldsValues['remarks']); $form->addElement($fld); $groups = \App\Config\SupplierGroups::getInstance()->getAll(); if ($groups) { foreach ($groups as $idGroup=>$groupDetails) { if ($groupDetails['groupElements']) { $groupElement = new \Engine\Form\Input\Select($groupDetails['groupName'], "filters[idGroupElements][{$idGroup}]", $fieldsValues['idGroupElements'][$idGroup]); $groupElement->setPossibleValues($groupDetails['groupElements']); $groupElement->showDefaultOption(true); $form->addElement($groupElement, 'suppliersGroups'); } } } $form->setJsCallback('MVC.listing.installedHandlers["listing"].reloadAndResetListing'); $form->loadMissingDefaultValues($this->values['listingParams']->getDefaultFilters()); return $form; } } 