diff --git a/Admin/Install/Admin.install.php b/Admin/Install/Admin.install.php index 8871892..e784beb 100644 --- a/Admin/Install/Admin.install.php +++ b/Admin/Install/Admin.install.php @@ -18,10 +18,10 @@ use Modules\SupplierManagement\Models\SettingsEnum; return [ [ "description" => "Default item segmentation (segment, section, sales group, product group)", - 'type' => 'setting', - 'name' => SettingsEnum::DEFAULT_SEGMENTATION, - 'content' => '{"segment":1, "section":1, "supplier_group":1}', - 'pattern' => '', - 'module' => ApiController::NAME, + 'type' => 'setting', + 'name' => SettingsEnum::DEFAULT_SEGMENTATION, + 'content' => '{"segment":1, "section":1, "supplier_group":1}', + 'pattern' => '', + 'module' => ApiController::NAME, ], ]; diff --git a/Admin/Install/attributes.json b/Admin/Install/attributes.json index b0264b2..d5c8c8f 100755 --- a/Admin/Install/attributes.json +++ b/Admin/Install/attributes.json @@ -310,6 +310,7 @@ { "value": "FI" }, { "value": "FR" }, { "value": "DE" }, + { "value": "DE_0" }, { "value": "GR" }, { "value": "HU" }, { "value": "IE" }, diff --git a/Admin/Installer.php b/Admin/Installer.php index 48fdbf5..4b0eb23 100755 --- a/Admin/Installer.php +++ b/Admin/Installer.php @@ -61,8 +61,9 @@ final class Installer extends InstallerAbstract $attrValues = self::createSupplierAttributeValues($app, $attrTypes, $attributes); $data = include __DIR__ . '/Install/Admin.install.php'; - $content = \json_decode($data[0]['content'], true); + /** @var array $content */ + $content = \json_decode($data[0]['content'], true); foreach ($content as $type => $_) { $content[$type] = \reset($attrValues[$type])['id']; } diff --git a/Controller/ApiController.php b/Controller/ApiController.php index 8870982..9c1bdb7 100755 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -118,16 +118,31 @@ final class ApiController extends Controller return $supplier; } + /** + * Create supplier segmentation. + * + * Default: segment->section->sales_group and to the side supplier_type + * + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param Supplier $supplier Supplier + * + * @return void + * + * @since 1.0.0 + */ private function createSupplierSegmentation(RequestAbstract $request, ResponseAbstract $response, Supplier $supplier) : void { /** @var \Model\Setting $settings */ $settings = $this->app->appSettings->get(null, SettingsEnum::DEFAULT_SEGMENTATION); + /** @var array $segmentation */ $segmentation = \json_decode($settings->content, true); if ($segmentation === false || $segmentation === null) { return; } + /** @var \Modules\Attribute\Models\AttributeType[] $types */ $types = SupplierAttributeTypeMapper::getAll() ->where('name', \array_keys($segmentation), 'IN') ->execute(); diff --git a/Controller/SearchController.php b/Controller/SearchController.php index 409ec86..088a704 100644 --- a/Controller/SearchController.php +++ b/Controller/SearchController.php @@ -48,7 +48,7 @@ final class SearchController extends Controller */ public function searchGeneral(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void { - $names = \explode(' ', ($request->getDataString('search') ?? '')); + $names = \explode(' ', ($request->getDataString('search') ?? '')); $names[] = ($request->getDataString('search') ?? ''); $mapper = SupplierMapper::getAll() @@ -72,7 +72,7 @@ final class SearchController extends Controller // Get item profile image // @feature Create a new read mapper function that returns relation models instead of its own model // https://github.com/Karaka-Management/phpOMS/issues/320 - $query = new Builder($this->app->dbPool->get()); + $query = new Builder($this->app->dbPool->get()); $iResults = $query->selectAs(SupplierMapper::HAS_MANY['files']['external'], 'file') ->from(SupplierMapper::TABLE) ->leftJoin(SupplierMapper::HAS_MANY['files']['table']) @@ -92,17 +92,17 @@ final class SearchController extends Controller ->execute(); $results[] = [ - 'title' => $account->account->name1 . ' ' . $account->account->name2, - 'link' => '{/base}/purchase/supplier/view?id=' . $account->id, + 'title' => $account->account->name1 . ' ' . $account->account->name2, + 'link' => '{/base}/purchase/supplier/view?id=' . $account->id, 'email' => $account->account->getContactByType(ContactType::EMAIL)->content, 'phone' => $account->account->getContactByType(ContactType::PHONE)->content, - 'city' => $account->mainAddress?->city, + 'city' => $account->mainAddress->city, 'image' => $image->id === 0 ? 'Web/Backend/img/logo_grey.png' : $image->getPath(), - 'tags' => [], - 'type' => 'list_accounts', - 'module' => 'Supplier Management', + 'tags' => [], + 'type' => 'list_accounts', + 'module' => 'Supplier Management', ]; }