From 84b2681be3e8a880873a56c05db2b93f6886e154 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sun, 15 Nov 2020 21:12:58 +0100 Subject: [PATCH] fix bus --- Admin/Install/db.json | 4 +--- Admin/Installer.php | 1 + Controller/ApiController.php | 13 +++++++++++-- Controller/BackendController.php | 2 +- Models/ItemAttribute.php | 14 ++++++++++++++ Models/ItemAttributeMapper.php | 4 ++-- Models/ItemAttributeType.php | 1 + Models/ItemAttributeTypeMapper.php | 1 + Models/ItemAttributeValue.php | 14 ++++++++++++++ 9 files changed, 46 insertions(+), 8 deletions(-) diff --git a/Admin/Install/db.json b/Admin/Install/db.json index ff661aa..c6ef5c6 100644 --- a/Admin/Install/db.json +++ b/Admin/Install/db.json @@ -154,9 +154,7 @@ "itemmgmt_attr_value_type": { "name": "itemmgmt_attr_value_type", "type": "INT(11)", - "null": false, - "foreignTable": "itemmgmt_attr_type", - "foreignKey": "itemmgmt_attr_type_id" + "null": false }, "itemmgmt_attr_value_valueStr": { "name": "itemmgmt_attr_value_valueStr", diff --git a/Admin/Installer.php b/Admin/Installer.php index 7e5deed..f997004 100644 --- a/Admin/Installer.php +++ b/Admin/Installer.php @@ -25,6 +25,7 @@ use phpOMS\DataStorage\Database\DatabasePool; use phpOMS\Localization\ISO639x1Enum; use phpOMS\Module\InstallerAbstract; use phpOMS\Module\ModuleInfo; +use Modules\ItemManagement\Models\AttributeValueType; /** * Installer class. diff --git a/Controller/ApiController.php b/Controller/ApiController.php index a0122f3..1f3b905 100644 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -28,6 +28,14 @@ use phpOMS\Message\NotificationLevel; use phpOMS\Message\RequestAbstract; use phpOMS\Message\ResponseAbstract; use phpOMS\Model\Message\FormValidation; +use phpOMS\Message\Http\HttpRequest; +use Modules\Media\Models\PathSettings; +use Modules\ItemManagement\Models\ItemAttributeTypeMapper; +use Modules\ItemManagement\Models\ItemAttributeValueMapper; +use Modules\ItemManagement\Models\ItemL11nTypeMapper; +use Modules\ItemManagement\Models\ItemL11nMapper; +use Modules\ItemManagement\Models\ItemAttributeMapper; +use Modules\ItemManagement\Models\ItemAttributeTypeL11nMapper; /** * ItemManagement class. @@ -270,7 +278,7 @@ final class ApiController extends Controller $l11nRequest->setData('language', $request->getData('language')); $l11nAttributeType = $this->createItemAttributeTypeL11nFromRequest($l11nRequest); - $this->createModel($request->getHeader()->getAccount(), $l11nAttributeType, TagL11nMapper::class, 'attr_type_l11n_create', $request->getOrigin()); + $this->createModel($request->getHeader()->getAccount(), $l11nAttributeType, ItemAttributeTypeL11nMapper::class, 'attr_type_l11n_create', $request->getOrigin()); $attrType->setL11n($l11nAttributeType); @@ -309,7 +317,7 @@ final class ApiController extends Controller { $val = []; if (($val['name'] = empty($request->getData('name'))) - || ($val['l11n'] = empty($request->getData('l11n'))) + || ($val['title'] = empty($request->getData('title'))) ) { return $val; } @@ -378,6 +386,7 @@ final class ApiController extends Controller $attrValue->setValueDat(new \DateTime($request->getData('value') ?? '')); } + $attrValue->setType($type); $attrValue->setDefault((bool) ($request->getData('default') ?? false)); if ($request->hasData('language')) { diff --git a/Controller/BackendController.php b/Controller/BackendController.php index 26cd8d1..7989f30 100644 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -50,7 +50,7 @@ final class BackendController extends Controller $view->setTemplate('/Modules/ItemManagement/Theme/Backend/sales-item-list'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004805001, $request, $response)); - $items = ItemMapper::withConditional('language', $response->getLanguage())::getAll(); + $items = ItemMapper::withConditional('language', $response->getLanguage())::getNewest(10); $view->addData('items', $items); return $view; diff --git a/Models/ItemAttribute.php b/Models/ItemAttribute.php index ebea096..a4c5e63 100644 --- a/Models/ItemAttribute.php +++ b/Models/ItemAttribute.php @@ -70,6 +70,20 @@ class ItemAttribute implements \JsonSerializable, ArrayableInterface return $this->id; } + /** + * Set item + * + * @param int|Item $item Item + * + * @return void + * + * @since 1.0.0 + */ + public function setItem($item) : void + { + $this->item = $item; + } + /** * Set type * diff --git a/Models/ItemAttributeMapper.php b/Models/ItemAttributeMapper.php index 53e677c..a3e5edf 100644 --- a/Models/ItemAttributeMapper.php +++ b/Models/ItemAttributeMapper.php @@ -50,11 +50,11 @@ final class ItemAttributeMapper extends DataMapperAbstract protected static array $ownsOne = [ 'type' => [ 'mapper' => ItemAttributeTypeMapper::class, - 'external' => 'itemmgmt_item_l11n_typeref', + 'external' => 'itemmgmt_item_attr_type', ], 'value' => [ 'mapper' => ItemAttributeValueMapper::class, - 'external' => 'itemmgmt_item_l11n_typeref', + 'external' => 'itemmgmt_item_attr_value', ], ]; diff --git a/Models/ItemAttributeType.php b/Models/ItemAttributeType.php index 9bcacb5..59878fc 100644 --- a/Models/ItemAttributeType.php +++ b/Models/ItemAttributeType.php @@ -15,6 +15,7 @@ declare(strict_types=1); namespace Modules\ItemManagement\Models; use phpOMS\Contract\ArrayableInterface; +use phpOMS\Localization\ISO639x1Enum; /** * Item Attribute Type class. diff --git a/Models/ItemAttributeTypeMapper.php b/Models/ItemAttributeTypeMapper.php index 1f55d2b..be3ebcc 100644 --- a/Models/ItemAttributeTypeMapper.php +++ b/Models/ItemAttributeTypeMapper.php @@ -59,6 +59,7 @@ final class ItemAttributeTypeMapper extends DataMapperAbstract 'table' => 'itemmgmt_item_attr_default', 'self' => 'itemmgmt_item_attr_default_type', 'external' => 'itemmgmt_item_attr_default_value', + 'conditional' => false, ], ]; diff --git a/Models/ItemAttributeValue.php b/Models/ItemAttributeValue.php index b199398..4b2c694 100644 --- a/Models/ItemAttributeValue.php +++ b/Models/ItemAttributeValue.php @@ -131,6 +131,20 @@ class ItemAttributeValue implements \JsonSerializable, ArrayableInterface return $this->id; } + /** + * Set value type + * + * @param int $type Type + * + * @return void + * + * @since 1.0.0 + */ + public function setType(int $type) : void + { + $this->type = $type; + } + /** * Set value *