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": {
"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",

View File

@ -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.

View File

@ -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')) {

View File

@ -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;

View File

@ -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
*

View File

@ -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',
],
];

View File

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

View File

@ -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,
],
];

View File

@ -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
*