This commit is contained in:
Dennis Eichhorn 2020-11-15 21:12:58 +01:00
parent 2bd969bf17
commit 84b2681be3
9 changed files with 46 additions and 8 deletions

View File

@ -154,9 +154,7 @@
"itemmgmt_attr_value_type": { "itemmgmt_attr_value_type": {
"name": "itemmgmt_attr_value_type", "name": "itemmgmt_attr_value_type",
"type": "INT(11)", "type": "INT(11)",
"null": false, "null": false
"foreignTable": "itemmgmt_attr_type",
"foreignKey": "itemmgmt_attr_type_id"
}, },
"itemmgmt_attr_value_valueStr": { "itemmgmt_attr_value_valueStr": {
"name": "itemmgmt_attr_value_valueStr", "name": "itemmgmt_attr_value_valueStr",

View File

@ -25,6 +25,7 @@ use phpOMS\DataStorage\Database\DatabasePool;
use phpOMS\Localization\ISO639x1Enum; use phpOMS\Localization\ISO639x1Enum;
use phpOMS\Module\InstallerAbstract; use phpOMS\Module\InstallerAbstract;
use phpOMS\Module\ModuleInfo; use phpOMS\Module\ModuleInfo;
use Modules\ItemManagement\Models\AttributeValueType;
/** /**
* Installer class. * Installer class.

View File

@ -28,6 +28,14 @@ use phpOMS\Message\NotificationLevel;
use phpOMS\Message\RequestAbstract; use phpOMS\Message\RequestAbstract;
use phpOMS\Message\ResponseAbstract; use phpOMS\Message\ResponseAbstract;
use phpOMS\Model\Message\FormValidation; 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. * ItemManagement class.
@ -270,7 +278,7 @@ final class ApiController extends Controller
$l11nRequest->setData('language', $request->getData('language')); $l11nRequest->setData('language', $request->getData('language'));
$l11nAttributeType = $this->createItemAttributeTypeL11nFromRequest($l11nRequest); $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); $attrType->setL11n($l11nAttributeType);
@ -309,7 +317,7 @@ final class ApiController extends Controller
{ {
$val = []; $val = [];
if (($val['name'] = empty($request->getData('name'))) if (($val['name'] = empty($request->getData('name')))
|| ($val['l11n'] = empty($request->getData('l11n'))) || ($val['title'] = empty($request->getData('title')))
) { ) {
return $val; return $val;
} }
@ -378,6 +386,7 @@ final class ApiController extends Controller
$attrValue->setValueDat(new \DateTime($request->getData('value') ?? '')); $attrValue->setValueDat(new \DateTime($request->getData('value') ?? ''));
} }
$attrValue->setType($type);
$attrValue->setDefault((bool) ($request->getData('default') ?? false)); $attrValue->setDefault((bool) ($request->getData('default') ?? false));
if ($request->hasData('language')) { if ($request->hasData('language')) {

View File

@ -50,7 +50,7 @@ final class BackendController extends Controller
$view->setTemplate('/Modules/ItemManagement/Theme/Backend/sales-item-list'); $view->setTemplate('/Modules/ItemManagement/Theme/Backend/sales-item-list');
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004805001, $request, $response)); $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); $view->addData('items', $items);
return $view; return $view;

View File

@ -70,6 +70,20 @@ class ItemAttribute implements \JsonSerializable, ArrayableInterface
return $this->id; 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 * Set type
* *

View File

@ -50,11 +50,11 @@ final class ItemAttributeMapper extends DataMapperAbstract
protected static array $ownsOne = [ protected static array $ownsOne = [
'type' => [ 'type' => [
'mapper' => ItemAttributeTypeMapper::class, 'mapper' => ItemAttributeTypeMapper::class,
'external' => 'itemmgmt_item_l11n_typeref', 'external' => 'itemmgmt_item_attr_type',
], ],
'value' => [ 'value' => [
'mapper' => ItemAttributeValueMapper::class, 'mapper' => ItemAttributeValueMapper::class,
'external' => 'itemmgmt_item_l11n_typeref', 'external' => 'itemmgmt_item_attr_value',
], ],
]; ];

View File

@ -15,6 +15,7 @@ declare(strict_types=1);
namespace Modules\ItemManagement\Models; namespace Modules\ItemManagement\Models;
use phpOMS\Contract\ArrayableInterface; use phpOMS\Contract\ArrayableInterface;
use phpOMS\Localization\ISO639x1Enum;
/** /**
* Item Attribute Type class. * Item Attribute Type class.

View File

@ -59,6 +59,7 @@ final class ItemAttributeTypeMapper extends DataMapperAbstract
'table' => 'itemmgmt_item_attr_default', 'table' => 'itemmgmt_item_attr_default',
'self' => 'itemmgmt_item_attr_default_type', 'self' => 'itemmgmt_item_attr_default_type',
'external' => 'itemmgmt_item_attr_default_value', 'external' => 'itemmgmt_item_attr_default_value',
'conditional' => false,
], ],
]; ];

View File

@ -131,6 +131,20 @@ class ItemAttributeValue implements \JsonSerializable, ArrayableInterface
return $this->id; 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 * Set value
* *