diff --git a/Admin/Install/db.json b/Admin/Install/db.json index 3492d29..73cb317 100755 --- a/Admin/Install/db.json +++ b/Admin/Install/db.json @@ -186,6 +186,11 @@ "type": "TINYINT(1)", "null": false }, + "suppliermgmt_attr_type_internal": { + "name": "suppliermgmt_attr_type_internal", + "type": "TINYINT(1)", + "null": false + }, "suppliermgmt_attr_type_required": { "description": "Every item must have this attribute type if set to true.", "name": "suppliermgmt_attr_type_required", diff --git a/Admin/Installer.php b/Admin/Installer.php index 898435d..5a9d07e 100755 --- a/Admin/Installer.php +++ b/Admin/Installer.php @@ -20,7 +20,6 @@ use phpOMS\Message\Http\HttpRequest; use phpOMS\Message\Http\HttpResponse; use phpOMS\Module\InstallerAbstract; use phpOMS\Module\ModuleInfo; -use phpOMS\Uri\HttpUri; /** * Installer class. @@ -47,8 +46,6 @@ final class Installer extends InstallerAbstract { parent::install($app, $info, $cfgHandler); - \Modules\Admin\Admin\Installer::installExternal($app, ['path' => __DIR__ . '/Install/Admin.install.json']); - /* Attributes */ $fileContent = \file_get_contents(__DIR__ . '/Install/attributes.json'); if ($fileContent === false) { @@ -63,6 +60,16 @@ final class Installer extends InstallerAbstract $attrTypes = self::createSupplierAttributeTypes($app, $attributes); $attrValues = self::createSupplierAttributeValues($app, $attrTypes, $attributes); + $data = \json_decode(\file_get_contents(__DIR__ . '/Install/Admin.install.json'), true); + $content = \json_decode($data[0]['content'], true); + + foreach ($content as $type => $_) { + $content[$type] = \reset($attrValues[$type])['id']; + } + + $data[0]['content'] = \json_encode($content); + \Modules\Admin\Admin\Installer::createSettings($app, $data[0]); + /* Localizations */ $fileContent = \file_get_contents(__DIR__ . '/Install/localizations.json'); if ($fileContent === false) { @@ -97,7 +104,7 @@ final class Installer extends InstallerAbstract foreach ($l11ns as $l11n) { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('title', $l11n['name']); @@ -139,12 +146,14 @@ final class Installer extends InstallerAbstract /** @var array $attribute */ foreach ($attributes as $attribute) { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('name', $attribute['name'] ?? ''); $request->setData('title', \reset($attribute['l11n'])); $request->setData('language', \array_keys($attribute['l11n'])[0] ?? 'en'); + $request->setData('repeatable', $attribute['repeatable'] ?? false); + $request->setData('internal', $attribute['internal'] ?? false); $request->setData('is_required', $attribute['is_required'] ?? false); $request->setData('custom', $attribute['is_custom_allowed'] ?? false); $request->setData('validation_pattern', $attribute['validation_pattern'] ?? ''); @@ -169,7 +178,7 @@ final class Installer extends InstallerAbstract } $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('title', $l11n); @@ -208,7 +217,7 @@ final class Installer extends InstallerAbstract /** @var array $value */ foreach ($attribute['values'] as $value) { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('value', $value['value'] ?? ''); @@ -242,7 +251,7 @@ final class Installer extends InstallerAbstract } $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('title', $l11n); diff --git a/Admin/Routes/Web/Backend.php b/Admin/Routes/Web/Backend.php index 614f256..d719fed 100755 --- a/Admin/Routes/Web/Backend.php +++ b/Admin/Routes/Web/Backend.php @@ -18,7 +18,7 @@ use phpOMS\Account\PermissionType; use phpOMS\Router\RouteVerb; return [ - '^.*/purchase/supplier/attribute/type/list.*$' => [ + '^.*/purchase/supplier/attribute/type/list(\?.*$|$)' => [ [ 'dest' => '\Modules\SupplierManagement\Controller\BackendController:viewSupplierManagementAttributeTypeList', 'verb' => RouteVerb::GET, @@ -29,7 +29,7 @@ return [ ], ], ], - '^.*/purchase/supplier/attribute/type\?.*$' => [ + '^.*/purchase/supplier/attribute/type(\?.*$|$)' => [ [ 'dest' => '\Modules\SupplierManagement\Controller\BackendController:viewSupplierManagementAttributeType', 'verb' => RouteVerb::GET, @@ -40,7 +40,7 @@ return [ ], ], ], - '^.*/purchase/supplier/list.*$' => [ + '^.*/purchase/supplier/list(\?.*$|$)' => [ [ 'dest' => '\Modules\SupplierManagement\Controller\BackendController:viewSupplierManagementSupplierList', 'verb' => RouteVerb::GET, @@ -51,7 +51,7 @@ return [ ], ], ], - '^.*/purchase/supplier/create.*$' => [ + '^.*/purchase/supplier/create(\?.*$|$)' => [ [ 'dest' => '\Modules\SupplierManagement\Controller\BackendController:viewSupplierManagementSupplierCreate', 'verb' => RouteVerb::GET, @@ -62,9 +62,9 @@ return [ ], ], ], - '^.*/purchase/supplier/profile.*$' => [ + '^.*/purchase/supplier/view(\?.*$|$)' => [ [ - 'dest' => '\Modules\SupplierManagement\Controller\BackendController:viewSupplierManagementSupplierProfile', + 'dest' => '\Modules\SupplierManagement\Controller\BackendController:viewSupplierManagementSupplierView', 'verb' => RouteVerb::GET, 'permission' => [ 'module' => BackendController::NAME, @@ -73,7 +73,7 @@ return [ ], ], ], - '^.*/purchase/analysis/supplier.*$' => [ + '^.*/purchase/analysis/supplier(\?.*$|$)' => [ [ 'dest' => '\Modules\SupplierManagement\Controller\BackendController:viewSupplierManagementSupplierAnalysis', 'verb' => RouteVerb::GET, diff --git a/Controller/ApiAttributeController.php b/Controller/ApiAttributeController.php index a5544fd..79f4b3b 100644 --- a/Controller/ApiAttributeController.php +++ b/Controller/ApiAttributeController.php @@ -61,12 +61,15 @@ final class ApiAttributeController extends Controller return; } - $type = SupplierAttributeTypeMapper::get()->with('defaults')->where('id', (int) $request->getData('type'))->execute(); + $type = SupplierAttributeTypeMapper::get() + ->with('defaults') + ->where('id', (int) $request->getData('type')) + ->execute(); if (!$type->repeatable) { $attr = SupplierAttributeMapper::count() ->with('type') - ->where('type/id', (int) $request->getData('type')) + ->where('type/id', $type->id) ->where('ref', (int) $request->getData('ref')) ->execute(); @@ -164,13 +167,20 @@ final class ApiAttributeController extends Controller ->where('id', $request->getDataInt('type') ?? 0) ->execute(); + if ($type->isInternal) { + $response->header->status = RequestStatusCode::R_403; + $this->createInvalidCreateResponse($request, $response, $val); + + return; + } + $attrValue = $this->createAttributeValueFromRequest($request, $type); $this->createModel($request->header->account, $attrValue, SupplierAttributeValueMapper::class, 'attr_value', $request->getOrigin()); if ($attrValue->isDefault) { $this->createModelRelation( $request->header->account, - (int) $request->getData('type'), + $type->id, $attrValue->id, SupplierAttributeTypeMapper::class, 'defaults', '', $request->getOrigin() ); diff --git a/Controller/ApiController.php b/Controller/ApiController.php index 3574e2b..f664fe7 100755 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -18,23 +18,21 @@ use Modules\Admin\Models\Account; use Modules\Admin\Models\NullAccount; use Modules\Media\Models\MediaMapper; use Modules\Media\Models\PathSettings; +use Modules\SupplierManagement\Models\Attribute\SupplierAttributeTypeMapper; use Modules\SupplierManagement\Models\SettingsEnum; use Modules\SupplierManagement\Models\Supplier; -use Modules\SupplierManagement\Models\Attribute\SupplierAttributeTypeMapper; use Modules\SupplierManagement\Models\SupplierL11nMapper; use Modules\SupplierManagement\Models\SupplierL11nTypeMapper; use Modules\SupplierManagement\Models\SupplierMapper; -use phpOMS\Api\Geocoding\Nominatim; use phpOMS\Localization\BaseStringL11n; use phpOMS\Localization\BaseStringL11nType; -use phpOMS\Localization\ISO3166TwoEnum; +use phpOMS\Localization\ISO639x1Enum; use phpOMS\Localization\NullBaseStringL11nType; use phpOMS\Message\Http\HttpRequest; +use phpOMS\Message\Http\HttpResponse; use phpOMS\Message\Http\RequestStatusCode; use phpOMS\Message\RequestAbstract; use phpOMS\Message\ResponseAbstract; -use phpOMS\Stdlib\Base\Address; -use phpOMS\Uri\HttpUri; /** * SupplierManagement class. @@ -46,8 +44,6 @@ use phpOMS\Uri\HttpUri; */ final class ApiController extends Controller { - use \Modules\Attribute\Controller\ApiAttributeTraitController; - /** * Api method to create news article * @@ -73,6 +69,19 @@ final class ApiController extends Controller $supplier = $this->createSupplierFromRequest($request); $this->createModel($request->header->account, $supplier, SupplierMapper::class, 'supplier', $request->getOrigin()); + // Create stock + if ($this->app->moduleManager->isActive('WarehouseManagement')) { + $internalResponse = new HttpResponse(); + $internalRequest = new HttpRequest($request->uri); + + $internalRequest->header->account = $request->header->account; + $internalRequest->setData('name', $supplier->number); + $internalRequest->setData('supplier', $supplier->id); + + $this->app->moduleManager->get('WarehouseManagement', 'Api') + ->apiStockCreate($internalRequest, $internalResponse); + } + $this->createSupplierSegmentation($request, $response, $supplier); $this->createStandardCreateResponse($request, $response, $supplier); @@ -101,25 +110,10 @@ final class ApiController extends Controller $supplier = new Supplier(); $supplier->number = $request->getDataString('number') ?? ''; $supplier->account = $account; - $supplier->unit = $request->getDataInt('unit') ?? 1; + $supplier->unit = $request->getDataInt('unit') ?? 1; - // Handle main address - $addr = new Address(); - $addr->address = $request->getDataString('address') ?? ''; - $addr->postal = $request->getDataString('postal') ?? ''; - $addr->city = $request->getDataString('city') ?? ''; - $addr->state = $request->getDataString('state') ?? ''; - $addr->setCountry($request->getDataString('country') ?? ISO3166TwoEnum::_XXX); - $supplier->mainAddress = $addr; - - // Try to find lat/lon through external API - $geocoding = Nominatim::geocoding($addr->country, $addr->city, $addr->address); - if ($geocoding === ['lat' => 0.0, 'lon' => 0.0]) { - $geocoding = Nominatim::geocoding($addr->country, $addr->city); - } - - $supplier->mainAddress->lat = $geocoding['lat']; - $supplier->mainAddress->lon = $geocoding['lon']; + $request->setData('name', null, true); + $supplier->mainAddress = $this->app->moduleManager->get('Admin', 'Api')->createAddressFromRequest($request); return $supplier; } @@ -134,13 +128,13 @@ final class ApiController extends Controller return; } - $types = SupplierAttributeTypeMapper::get() + $types = SupplierAttributeTypeMapper::getAll() ->where('name', \array_keys($segmentation), 'IN') ->execute(); foreach ($types as $type) { $internalResponse = clone $response; - $internalRequest = new HttpRequest(new HttpUri('')); + $internalRequest = new HttpRequest(); $internalRequest->header->account = $request->header->account; $internalRequest->setData('ref', $supplier->id); @@ -210,13 +204,11 @@ final class ApiController extends Controller */ private function createSupplierL11nFromRequest(RequestAbstract $request) : BaseStringL11n { - $supplierL11n = new BaseStringL11n(); - $supplierL11n->ref = $request->getDataInt('supplier') ?? 0; - $supplierL11n->type = new NullBaseStringL11nType($request->getDataInt('type') ?? 0); - $supplierL11n->setLanguage( - $request->getDataString('language') ?? $request->header->l11n->language - ); - $supplierL11n->content = $request->getDataString('description') ?? ''; + $supplierL11n = new BaseStringL11n(); + $supplierL11n->ref = $request->getDataInt('supplier') ?? 0; + $supplierL11n->type = new NullBaseStringL11nType($request->getDataInt('type') ?? 0); + $supplierL11n->language = ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? $request->header->l11n->language; + $supplierL11n->content = $request->getDataString('description') ?? ''; return $supplierL11n; } diff --git a/Controller/BackendController.php b/Controller/BackendController.php index 9fde4d3..aa1f00f 100755 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -197,7 +197,7 @@ final class BackendController extends Controller * @since 1.0.0 * @codeCoverageIgnore */ - public function viewSupplierManagementSupplierProfile(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface + public function viewSupplierManagementSupplierView(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface { $head = $response->data['Content']->head; $nonce = $this->app->appSettings->getOption('script-nonce'); @@ -208,7 +208,7 @@ final class BackendController extends Controller $head->addAsset(AssetType::JSLATE, 'Modules/ClientManagement/Controller.js', ['nonce' => $nonce, 'type' => 'module']); $view = new View($this->app->l11nManager, $request, $response); - $view->setTemplate('/Modules/SupplierManagement/Theme/Backend/supplier-profile'); + $view->setTemplate('/Modules/SupplierManagement/Theme/Backend/supplier-view'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003202001, $request, $response); /** @var \Modules\SupplierManagement\Models\Supplier $supplier */ diff --git a/Models/Attribute/SupplierAttributeTypeMapper.php b/Models/Attribute/SupplierAttributeTypeMapper.php index d49ee3b..812d5ab 100644 --- a/Models/Attribute/SupplierAttributeTypeMapper.php +++ b/Models/Attribute/SupplierAttributeTypeMapper.php @@ -42,7 +42,8 @@ final class SupplierAttributeTypeMapper extends DataMapperFactory 'suppliermgmt_attr_type_datatype' => ['name' => 'suppliermgmt_attr_type_datatype', 'type' => 'int', 'internal' => 'datatype'], 'suppliermgmt_attr_type_fields' => ['name' => 'suppliermgmt_attr_type_fields', 'type' => 'int', 'internal' => 'fields'], 'suppliermgmt_attr_type_custom' => ['name' => 'suppliermgmt_attr_type_custom', 'type' => 'bool', 'internal' => 'custom'], - 'suppliermgmt_attr_type_repeatable' => ['name' => 'suppliermgmt_attr_type_repeatable', 'type' => 'bool', 'internal' => 'repeatable'], + 'suppliermgmt_attr_type_repeatable' => ['name' => 'suppliermgmt_attr_type_repeatable', 'type' => 'bool', 'internal' => 'repeatable'], + 'suppliermgmt_attr_type_internal' => ['name' => 'suppliermgmt_attr_type_internal', 'type' => 'bool', 'internal' => 'isInternal'], 'suppliermgmt_attr_type_pattern' => ['name' => 'suppliermgmt_attr_type_pattern', 'type' => 'string', 'internal' => 'validationPattern'], 'suppliermgmt_attr_type_required' => ['name' => 'suppliermgmt_attr_type_required', 'type' => 'bool', 'internal' => 'isRequired'], ]; diff --git a/Models/Attribute/SupplierAttributeValueL11nMapper.php b/Models/Attribute/SupplierAttributeValueL11nMapper.php index 86ff5b8..177cbf1 100644 --- a/Models/Attribute/SupplierAttributeValueL11nMapper.php +++ b/Models/Attribute/SupplierAttributeValueL11nMapper.php @@ -37,10 +37,10 @@ final class SupplierAttributeValueL11nMapper extends DataMapperFactory * @since 1.0.0 */ public const COLUMNS = [ - 'suppliermgmt_attr_value_l11n_id' => ['name' => 'suppliermgmt_attr_value_l11n_id', 'type' => 'int', 'internal' => 'id'], - 'suppliermgmt_attr_value_l11n_title' => ['name' => 'suppliermgmt_attr_value_l11n_title', 'type' => 'string', 'internal' => 'content', 'autocomplete' => true], - 'suppliermgmt_attr_value_l11n_value' => ['name' => 'suppliermgmt_attr_value_l11n_value', 'type' => 'int', 'internal' => 'ref'], - 'suppliermgmt_attr_value_l11n_lang' => ['name' => 'suppliermgmt_attr_value_l11n_lang', 'type' => 'string', 'internal' => 'language'], + 'suppliermgmt_attr_value_l11n_id' => ['name' => 'suppliermgmt_attr_value_l11n_id', 'type' => 'int', 'internal' => 'id'], + 'suppliermgmt_attr_value_l11n_title' => ['name' => 'suppliermgmt_attr_value_l11n_title', 'type' => 'string', 'internal' => 'content', 'autocomplete' => true], + 'suppliermgmt_attr_value_l11n_value' => ['name' => 'suppliermgmt_attr_value_l11n_value', 'type' => 'int', 'internal' => 'ref'], + 'suppliermgmt_attr_value_l11n_lang' => ['name' => 'suppliermgmt_attr_value_l11n_lang', 'type' => 'string', 'internal' => 'language'], ]; /** diff --git a/Models/Attribute/SupplierAttributeValueMapper.php b/Models/Attribute/SupplierAttributeValueMapper.php index fdff4f5..04284b5 100644 --- a/Models/Attribute/SupplierAttributeValueMapper.php +++ b/Models/Attribute/SupplierAttributeValueMapper.php @@ -37,15 +37,15 @@ final class SupplierAttributeValueMapper extends DataMapperFactory * @since 1.0.0 */ public const COLUMNS = [ - 'suppliermgmt_attr_value_id' => ['name' => 'suppliermgmt_attr_value_id', 'type' => 'int', 'internal' => 'id'], - 'suppliermgmt_attr_value_default' => ['name' => 'suppliermgmt_attr_value_default', 'type' => 'bool', 'internal' => 'isDefault'], - 'suppliermgmt_attr_value_valueStr' => ['name' => 'suppliermgmt_attr_value_valueStr', 'type' => 'string', 'internal' => 'valueStr'], - 'suppliermgmt_attr_value_valueInt' => ['name' => 'suppliermgmt_attr_value_valueInt', 'type' => 'int', 'internal' => 'valueInt'], - 'suppliermgmt_attr_value_valueDec' => ['name' => 'suppliermgmt_attr_value_valueDec', 'type' => 'float', 'internal' => 'valueDec'], - 'suppliermgmt_attr_value_valueDat' => ['name' => 'suppliermgmt_attr_value_valueDat', 'type' => 'DateTime', 'internal' => 'valueDat'], - 'suppliermgmt_attr_value_unit' => ['name' => 'suppliermgmt_attr_value_unit', 'type' => 'string', 'internal' => 'unit'], - 'suppliermgmt_attr_value_deptype' => ['name' => 'suppliermgmt_attr_value_deptype', 'type' => 'int', 'internal' => 'dependingAttributeType'], - 'suppliermgmt_attr_value_depvalue' => ['name' => 'suppliermgmt_attr_value_depvalue', 'type' => 'int', 'internal' => 'dependingAttributeValue'], + 'suppliermgmt_attr_value_id' => ['name' => 'suppliermgmt_attr_value_id', 'type' => 'int', 'internal' => 'id'], + 'suppliermgmt_attr_value_default' => ['name' => 'suppliermgmt_attr_value_default', 'type' => 'bool', 'internal' => 'isDefault'], + 'suppliermgmt_attr_value_valueStr' => ['name' => 'suppliermgmt_attr_value_valueStr', 'type' => 'string', 'internal' => 'valueStr'], + 'suppliermgmt_attr_value_valueInt' => ['name' => 'suppliermgmt_attr_value_valueInt', 'type' => 'int', 'internal' => 'valueInt'], + 'suppliermgmt_attr_value_valueDec' => ['name' => 'suppliermgmt_attr_value_valueDec', 'type' => 'float', 'internal' => 'valueDec'], + 'suppliermgmt_attr_value_valueDat' => ['name' => 'suppliermgmt_attr_value_valueDat', 'type' => 'DateTime', 'internal' => 'valueDat'], + 'suppliermgmt_attr_value_unit' => ['name' => 'suppliermgmt_attr_value_unit', 'type' => 'string', 'internal' => 'unit'], + 'suppliermgmt_attr_value_deptype' => ['name' => 'suppliermgmt_attr_value_deptype', 'type' => 'int', 'internal' => 'dependingAttributeType'], + 'suppliermgmt_attr_value_depvalue' => ['name' => 'suppliermgmt_attr_value_depvalue', 'type' => 'int', 'internal' => 'dependingAttributeValue'], ]; /** diff --git a/Models/Supplier.php b/Models/Supplier.php index 185d8c5..3c5df10 100755 --- a/Models/Supplier.php +++ b/Models/Supplier.php @@ -90,44 +90,6 @@ class Supplier $this->mainAddress = new NullAddress(); } - /** - * Get id. - * - * @return int Model id - * - * @since 1.0.0 - */ - public function getId() : int - { - return $this->id; - } - - /** - * Get status. - * - * @return int - * - * @since 1.0.0 - */ - public function getStatus() : int - { - return $this->status; - } - - /** - * Set status. - * - * @param int $status Status - * - * @return void - * - * @since 1.0.0 - */ - public function setStatus(int $status) : void - { - $this->status = $status; - } - /** * Get payments * @@ -154,7 +116,7 @@ class Supplier $payments = []; foreach ($this->payments as $payment) { - if ($payment->getType() === $type) { + if ($payment->type === $type) { $payments[] = $payment; } } @@ -162,32 +124,6 @@ class Supplier return $payments; } - /** - * Get supplier type. - * - * @return int - * - * @since 1.0.0 - */ - public function getType() : int - { - return $this->type; - } - - /** - * Set supplier type. - * - * @param int $type Type - * - * @return void - * - * @since 1.0.0 - */ - public function setType(int $type) : void - { - $this->type = $type; - } - /** * Add doc to item * @@ -293,7 +229,7 @@ class Supplier \uasort($this->contactElements, [$this, 'orderContactElements']); foreach ($this->contactElements as $element) { - if ($element->getType() === $type) { + if ($element->type === $type) { return $element; } } diff --git a/Models/SupplierL11nMapper.php b/Models/SupplierL11nMapper.php index 4824a3a..7a8369d 100755 --- a/Models/SupplierL11nMapper.php +++ b/Models/SupplierL11nMapper.php @@ -37,11 +37,11 @@ final class SupplierL11nMapper extends DataMapperFactory * @since 1.0.0 */ public const COLUMNS = [ - 'suppliermgmt_supplier_l11n_id' => ['name' => 'suppliermgmt_supplier_l11n_id', 'type' => 'int', 'internal' => 'id'], - 'suppliermgmt_supplier_l11n_description' => ['name' => 'suppliermgmt_supplier_l11n_description', 'type' => 'string', 'internal' => 'content', 'autocomplete' => true], - 'suppliermgmt_supplier_l11n_supplier' => ['name' => 'suppliermgmt_supplier_l11n_supplier', 'type' => 'int', 'internal' => 'ref'], - 'suppliermgmt_supplier_l11n_lang' => ['name' => 'suppliermgmt_supplier_l11n_lang', 'type' => 'string', 'internal' => 'language'], - 'suppliermgmt_supplier_l11n_typeref' => ['name' => 'suppliermgmt_supplier_l11n_typeref', 'type' => 'int', 'internal' => 'type'], + 'suppliermgmt_supplier_l11n_id' => ['name' => 'suppliermgmt_supplier_l11n_id', 'type' => 'int', 'internal' => 'id'], + 'suppliermgmt_supplier_l11n_description' => ['name' => 'suppliermgmt_supplier_l11n_description', 'type' => 'string', 'internal' => 'content', 'autocomplete' => true], + 'suppliermgmt_supplier_l11n_supplier' => ['name' => 'suppliermgmt_supplier_l11n_supplier', 'type' => 'int', 'internal' => 'ref'], + 'suppliermgmt_supplier_l11n_lang' => ['name' => 'suppliermgmt_supplier_l11n_lang', 'type' => 'string', 'internal' => 'language'], + 'suppliermgmt_supplier_l11n_typeref' => ['name' => 'suppliermgmt_supplier_l11n_typeref', 'type' => 'int', 'internal' => 'type'], ]; /** diff --git a/Models/SupplierMapper.php b/Models/SupplierMapper.php index 86db1bd..91489a3 100755 --- a/Models/SupplierMapper.php +++ b/Models/SupplierMapper.php @@ -18,7 +18,6 @@ use Modules\Admin\Models\AccountMapper; use Modules\Admin\Models\AddressMapper; use Modules\Editor\Models\EditorDocMapper; use Modules\Media\Models\MediaMapper; -use Modules\Profile\Models\ContactElementMapper; use Modules\SupplierManagement\Models\Attribute\SupplierAttributeMapper; use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; @@ -102,29 +101,23 @@ final class SupplierMapper extends DataMapperFactory * @since 1.0.0 */ public const HAS_MANY = [ - 'files' => [ + 'files' => [ 'mapper' => MediaMapper::class, /* mapper of the related object */ 'table' => 'suppliermgmt_supplier_media', /* table of the related object, null if no relation table is used (many->1) */ 'external' => 'suppliermgmt_supplier_media_dst', 'self' => 'suppliermgmt_supplier_media_src', ], - 'notes' => [ + 'notes' => [ 'mapper' => EditorDocMapper::class, /* mapper of the related object */ 'table' => 'suppliermgmt_supplier_note', /* table of the related object, null if no relation table is used (many->1) */ 'external' => 'suppliermgmt_supplier_note_dst', 'self' => 'suppliermgmt_supplier_note_src', ], - 'contactElements' => [ - 'mapper' => ContactElementMapper::class, - 'table' => 'suppliermgmt_supplier_contactelement', - 'external' => 'suppliermgmt_supplier_contactelement_dst', - 'self' => 'suppliermgmt_supplier_contactelement_src', - ], 'attributes' => [ - 'mapper' => SupplierAttributeMapper::class, - 'table' => 'suppliermgmt_supplier_attr', - 'self' => 'suppliermgmt_supplier_attr_supplier', - 'external' => null, + 'mapper' => SupplierAttributeMapper::class, + 'table' => 'suppliermgmt_supplier_attr', + 'self' => 'suppliermgmt_supplier_attr_supplier', + 'external' => null, ], ]; } diff --git a/Theme/Backend/attribute-type.tpl.php b/Theme/Backend/attribute-type.tpl.php index 4fe87b6..1b693f8 100755 --- a/Theme/Backend/attribute-type.tpl.php +++ b/Theme/Backend/attribute-type.tpl.php @@ -53,7 +53,7 @@ echo $this->data['nav']->render(); ?> close settings - getLanguage())); ?> + language)); ?> content; ?> diff --git a/Theme/Backend/supplier-list.tpl.php b/Theme/Backend/supplier-list.tpl.php index fb4c83a..0d1b203 100755 --- a/Theme/Backend/supplier-list.tpl.php +++ b/Theme/Backend/supplier-list.tpl.php @@ -101,7 +101,7 @@ echo $this->data['nav']->render(); ?> $value) : ++$count; - $url = UriFactory::build('{/base}/purchase/supplier/profile?{?}&id=' . $value->id); + $url = UriFactory::build('{/base}/purchase/supplier/view?{?}&id=' . $value->id); ?> printHtml($value->number); ?> @@ -109,7 +109,7 @@ echo $this->data['nav']->render(); ?> printHtml($value->mainAddress->city); ?> printHtml($value->mainAddress->postal); ?> printHtml($value->mainAddress->address); ?> - printHtml($value->mainAddress->getCountry()); ?> + printHtml($value->mainAddress->country); ?> getHtml('Empty', '0', '0'); ?> diff --git a/Theme/Backend/supplier-profile-items.tpl.php b/Theme/Backend/supplier-profile-items.tpl.php index efc391d..e319367 100644 --- a/Theme/Backend/supplier-profile-items.tpl.php +++ b/Theme/Backend/supplier-profile-items.tpl.php @@ -128,31 +128,31 @@ $items = $this->data['items'] ?? []; $value) : - if ($value->itemNumber === '') { - continue; - } + $count = 0; + foreach ($items as $key => $value) : + if ($value->itemNumber === '') { + continue; + } - ++$count; - $url = UriFactory::build('{/base}/purchase/item/profile?{?}&id=' . $value->id); + ++$count; + $url = UriFactory::build('{/base}/purchase/item/view?{?}&id=' . $value->id); ?> + + + printHtml($value->itemNumber); ?> printHtml($value->itemName); ?> - printHtml((string) $value->getQuantity()); ?> - getcurrency($value->singlePurchasePriceNet); ?> + printHtml((string) $value->quantity->getAmount()); ?> + getCurrency($value->singlePurchasePriceNet); ?> - getcurrency($value->totalPurchasePriceNet); ?> + getCurrency($value->totalPurchasePriceNet); ?> - getHtml('Empty', '0', '0'); ?> + getHtml('Empty', '0', '0'); ?> diff --git a/Theme/Backend/supplier-profile.tpl.php b/Theme/Backend/supplier-view.tpl.php old mode 100755 new mode 100644 similarity index 99% rename from Theme/Backend/supplier-profile.tpl.php rename to Theme/Backend/supplier-view.tpl.php index 9a31adb..fa8e30d --- a/Theme/Backend/supplier-profile.tpl.php +++ b/Theme/Backend/supplier-view.tpl.php @@ -146,7 +146,7 @@ echo $this->data['nav']->render(); @@ -236,7 +236,7 @@ echo $this->data['nav']->render(); getHtml('CreatedAt'); ?> id); + $url = UriFactory::build('{/base}/editor/view?{?}&id=' . $note->id); ?> title; ?> @@ -259,7 +259,7 @@ echo $this->data['nav']->render(); getHtml('CreatedAt'); ?> id); + $url = UriFactory::build('{/base}/media/view?{?}&id=' . $file->id); ?> name; ?> diff --git a/tests/Autoloader.php b/tests/Autoloader.php index a971943..67f96c5 100755 --- a/tests/Autoloader.php +++ b/tests/Autoloader.php @@ -75,8 +75,8 @@ final class Autoloader */ public static function defaultAutoloader(string $class) : void { - $class = \ltrim($class, '\\'); - $class = \strtr($class, '_\\', '//'); + $class = \ltrim($class, '\\'); + $class = \strtr($class, '_\\', '//'); if (\stripos($class, 'Web/Backend') !== false || \stripos($class, 'Web/Api') !== false) { $class = \is_dir(__DIR__ . '/Web') ? $class : \str_replace('Web/', 'MainRepository/Web/', $class); diff --git a/tests/Bootstrap.php b/tests/Bootstrap.php index ddc049d..3c8f6f7 100755 --- a/tests/Bootstrap.php +++ b/tests/Bootstrap.php @@ -1,4 +1,15 @@ [ + 'db' => [ 'core' => [ 'masters' => [ - 'admin' => [ + 'admin' => [ 'db' => 'mysql', /* db type */ 'host' => '127.0.0.1', /* db host address */ 'port' => '3306', /* db host port */ @@ -80,7 +91,7 @@ $CONFIG = [ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'insert' => [ + 'insert' => [ 'db' => 'mysql', /* db type */ 'host' => '127.0.0.1', /* db host address */ 'port' => '3306', /* db host port */ @@ -90,7 +101,7 @@ $CONFIG = [ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'select' => [ + 'select' => [ 'db' => 'mysql', /* db type */ 'host' => '127.0.0.1', /* db host address */ 'port' => '3306', /* db host port */ @@ -100,7 +111,7 @@ $CONFIG = [ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'update' => [ + 'update' => [ 'db' => 'mysql', /* db type */ 'host' => '127.0.0.1', /* db host address */ 'port' => '3306', /* db host port */ @@ -110,7 +121,7 @@ $CONFIG = [ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'delete' => [ + 'delete' => [ 'db' => 'mysql', /* db type */ 'host' => '127.0.0.1', /* db host address */ 'port' => '3306', /* db host port */ @@ -120,7 +131,7 @@ $CONFIG = [ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'schema' => [ + 'schema' => [ 'db' => 'mysql', /* db type */ 'host' => '127.0.0.1', /* db host address */ 'port' => '3306', /* db host port */ @@ -132,7 +143,7 @@ $CONFIG = [ ], ], 'postgresql' => [ - 'admin' => [ + 'admin' => [ 'db' => 'pgsql', /* db type */ 'host' => '127.0.0.1', /* db host address */ 'port' => '5432', /* db host port */ @@ -142,7 +153,7 @@ $CONFIG = [ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'insert' => [ + 'insert' => [ 'db' => 'pgsql', /* db type */ 'host' => '127.0.0.1', /* db host address */ 'port' => '5432', /* db host port */ @@ -152,7 +163,7 @@ $CONFIG = [ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'select' => [ + 'select' => [ 'db' => 'pgsql', /* db type */ 'host' => '127.0.0.1', /* db host address */ 'port' => '5432', /* db host port */ @@ -162,7 +173,7 @@ $CONFIG = [ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'update' => [ + 'update' => [ 'db' => 'pgsql', /* db type */ 'host' => '127.0.0.1', /* db host address */ 'port' => '5432', /* db host port */ @@ -172,7 +183,7 @@ $CONFIG = [ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'delete' => [ + 'delete' => [ 'db' => 'pgsql', /* db type */ 'host' => '127.0.0.1', /* db host address */ 'port' => '5432', /* db host port */ @@ -182,7 +193,7 @@ $CONFIG = [ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'schema' => [ + 'schema' => [ 'db' => 'pgsql', /* db type */ 'host' => '127.0.0.1', /* db host address */ 'port' => '5432', /* db host port */ @@ -194,37 +205,37 @@ $CONFIG = [ ], ], 'sqlite' => [ - 'admin' => [ + 'admin' => [ 'db' => 'sqlite', /* db type */ 'database' => __DIR__ . '/../Karaka/phpOMS/Localization/Defaults/localization.sqlite', /* db name */ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'insert' => [ + 'insert' => [ 'db' => 'sqlite', /* db type */ 'database' => __DIR__ . '/../Karaka/phpOMS/Localization/Defaults/localization.sqlite', /* db name */ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'select' => [ + 'select' => [ 'db' => 'sqlite', /* db type */ 'database' => __DIR__ . '/../Karaka/phpOMS/Localization/Defaults/localization.sqlite', /* db name */ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'update' => [ + 'update' => [ 'db' => 'sqlite', /* db type */ 'database' => __DIR__ . '/../Karaka/phpOMS/Localization/Defaults/localization.sqlite', /* db name */ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'delete' => [ + 'delete' => [ 'db' => 'sqlite', /* db type */ 'database' => __DIR__ . '/../Karaka/phpOMS/Localization/Defaults/localization.sqlite', /* db name */ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'schema' => [ + 'schema' => [ 'db' => 'sqlite', /* db type */ 'database' => __DIR__ . '/../Karaka/phpOMS/Localization/Defaults/localization.sqlite', /* db name */ 'weight' => 1000, /* db table prefix */ @@ -232,7 +243,7 @@ $CONFIG = [ ], ], 'mssql' => [ - 'admin' => [ + 'admin' => [ 'db' => 'mssql', /* db type */ 'host' => '127.0.0.1', /* db host address */ 'port' => '1433', /* db host port */ @@ -242,7 +253,7 @@ $CONFIG = [ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'insert' => [ + 'insert' => [ 'db' => 'mssql', /* db type */ 'host' => '127.0.0.1', /* db host address */ 'port' => '1433', /* db host port */ @@ -252,7 +263,7 @@ $CONFIG = [ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'select' => [ + 'select' => [ 'db' => 'mssql', /* db type */ 'host' => '127.0.0.1', /* db host address */ 'port' => '1433', /* db host port */ @@ -262,7 +273,7 @@ $CONFIG = [ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'update' => [ + 'update' => [ 'db' => 'mssql', /* db type */ 'host' => '127.0.0.1', /* db host address */ 'port' => '1433', /* db host port */ @@ -272,7 +283,7 @@ $CONFIG = [ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'delete' => [ + 'delete' => [ 'db' => 'mssql', /* db type */ 'host' => '127.0.0.1', /* db host address */ 'port' => '1433', /* db host port */ @@ -282,7 +293,7 @@ $CONFIG = [ 'weight' => 1000, /* db table prefix */ 'datetimeformat' => 'Y-m-d H:i:s', ], - 'schema' => [ + 'schema' => [ 'db' => 'mssql', /* db type */ 'host' => '127.0.0.1', /* db host address */ 'port' => '1433', /* db host port */ @@ -322,16 +333,16 @@ $CONFIG = [ 'password' => '123456', ], ], - 'log' => [ + 'log' => [ 'file' => [ 'path' => __DIR__ . '/Logs', ], ], - 'page' => [ + 'page' => [ 'root' => '/', 'https' => false, ], - 'app' => [ + 'app' => [ 'path' => __DIR__, 'default' => [ 'app' => 'Backend', @@ -350,7 +361,7 @@ $CONFIG = [ ], ], ], - 'socket' => [ + 'socket' => [ 'master' => [ 'host' => '127.0.0.1', 'limit' => 300, @@ -360,7 +371,7 @@ $CONFIG = [ 'language' => [ 'en', ], - 'apis' => [ + 'apis' => [ ], ]; diff --git a/tests/Controller/Api/ApiControllerAttributeTrait.php b/tests/Controller/Api/ApiControllerAttributeTrait.php index 806769c..97d0404 100755 --- a/tests/Controller/Api/ApiControllerAttributeTrait.php +++ b/tests/Controller/Api/ApiControllerAttributeTrait.php @@ -19,7 +19,6 @@ use phpOMS\Localization\ISO639x1Enum; use phpOMS\Message\Http\HttpRequest; use phpOMS\Message\Http\HttpResponse; use phpOMS\Message\Http\RequestStatusCode; -use phpOMS\Uri\HttpUri; trait ApiControllerAttributeTrait { @@ -30,7 +29,7 @@ trait ApiControllerAttributeTrait public function testApiSupplierAttributeTypeCreate() : void { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('title', 'EN:1'); @@ -48,7 +47,7 @@ trait ApiControllerAttributeTrait public function testApiSupplierAttributeTypeL11nCreate() : void { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('title', 'DE:2'); @@ -66,7 +65,7 @@ trait ApiControllerAttributeTrait public function testApiSupplierAttributeValueIntCreate() : void { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('default', '1'); @@ -86,7 +85,7 @@ trait ApiControllerAttributeTrait public function testApiSupplierAttributeValueStrCreate() : void { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('value', '1'); @@ -105,7 +104,7 @@ trait ApiControllerAttributeTrait public function testApiSupplierAttributeValueFloatCreate() : void { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('value', '1.1'); @@ -124,7 +123,7 @@ trait ApiControllerAttributeTrait public function testApiSupplierAttributeValueDatCreate() : void { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('value', '2020-08-02'); @@ -143,7 +142,7 @@ trait ApiControllerAttributeTrait public function testApiSupplierAttributeCreate() : void { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('ref', '1'); @@ -161,7 +160,7 @@ trait ApiControllerAttributeTrait public function testApiSupplierAttributeValueCreateInvalidData() : void { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('invalid', '1'); @@ -177,7 +176,7 @@ trait ApiControllerAttributeTrait public function testApiSupplierAttributeTypeCreateInvalidData() : void { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('invalid', '1'); @@ -193,7 +192,7 @@ trait ApiControllerAttributeTrait public function testApiSupplierAttributeTypeL11nCreateInvalidData() : void { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('invalid', '1'); @@ -209,7 +208,7 @@ trait ApiControllerAttributeTrait public function testApiSupplierAttributeCreateInvalidData() : void { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('invalid', '1'); diff --git a/tests/Controller/Api/ApiControllerSupplierTrait.php b/tests/Controller/Api/ApiControllerSupplierTrait.php index 524efba..ef1d012 100755 --- a/tests/Controller/Api/ApiControllerSupplierTrait.php +++ b/tests/Controller/Api/ApiControllerSupplierTrait.php @@ -19,7 +19,6 @@ use phpOMS\Message\Http\HttpRequest; use phpOMS\Message\Http\HttpResponse; use phpOMS\Message\Http\RequestStatusCode; use phpOMS\System\MimeType; -use phpOMS\Uri\HttpUri; use phpOMS\Utils\TestUtils; trait ApiControllerSupplierTrait @@ -42,7 +41,7 @@ trait ApiControllerSupplierTrait public function testApiSupplierCreate() : void { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('number', '123456'); @@ -65,7 +64,7 @@ trait ApiControllerSupplierTrait public function testApiSupplierCreateInvalidData() : void { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('invalid', '1'); @@ -81,7 +80,7 @@ trait ApiControllerSupplierTrait public function testApiSupplierProfileImageCreate() : void { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); \copy(__DIR__ . '/m_icon.png', __DIR__ . '/m_icon_tmp.png'); @@ -112,7 +111,7 @@ trait ApiControllerSupplierTrait public function testApiSupplierFileCreate() : void { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); \copy(__DIR__ . '/Test file.txt', __DIR__ . '/Test file_tmp.txt'); @@ -142,7 +141,7 @@ trait ApiControllerSupplierTrait public function testApiSupplierNoteCreate() : void { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; @@ -163,7 +162,7 @@ trait ApiControllerSupplierTrait public function testApiFileCreateInvalidData() : void { $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); + $request = new HttpRequest(); $request->header->account = 1; $request->setData('invalid', '1'); diff --git a/tests/Controller/ApiControllerTest.php b/tests/Controller/ApiControllerTest.php index 98a13a0..0614b51 100755 --- a/tests/Controller/ApiControllerTest.php +++ b/tests/Controller/ApiControllerTest.php @@ -55,13 +55,13 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase protected string $appName = 'Api'; }; - $this->app->dbPool = $GLOBALS['dbpool']; - $this->app->unitId = 1; - $this->app->accountManager = new AccountManager($GLOBALS['session']); - $this->app->appSettings = new CoreSettings(); - $this->app->moduleManager = new ModuleManager($this->app, __DIR__ . '/../../../../Modules/'); - $this->app->dispatcher = new Dispatcher($this->app); - $this->app->eventManager = new EventManager($this->app->dispatcher); + $this->app->dbPool = $GLOBALS['dbpool']; + $this->app->unitId = 1; + $this->app->accountManager = new AccountManager($GLOBALS['session']); + $this->app->appSettings = new CoreSettings(); + $this->app->moduleManager = new ModuleManager($this->app, __DIR__ . '/../../../../Modules/'); + $this->app->dispatcher = new Dispatcher($this->app); + $this->app->eventManager = new EventManager($this->app->dispatcher); $this->app->eventManager->importFromFile(__DIR__ . '/../../../../Web/Api/Hooks.php'); $this->app->sessionManager = new HttpSession(36000); $this->app->l11nManager = new L11nManager(); diff --git a/tests/Models/SupplierTest.php b/tests/Models/SupplierTest.php index 649c0f6..a6b612a 100755 --- a/tests/Models/SupplierTest.php +++ b/tests/Models/SupplierTest.php @@ -44,36 +44,15 @@ final class SupplierTest extends \PHPUnit\Framework\TestCase self::assertEquals('', $this->supplier->number); self::assertEquals('', $this->supplier->numberReverse); self::assertEquals('', $this->supplier->info); - self::assertEquals(SupplierStatus::ACTIVE, $this->supplier->getStatus()); - self::assertEquals(0, $this->supplier->getType()); + self::assertEquals(SupplierStatus::ACTIVE, $this->supplier->status); + self::assertEquals(0, $this->supplier->type); self::assertEquals([], $this->supplier->getNotes()); self::assertEquals([], $this->supplier->files); self::assertEquals([], $this->supplier->getAddresses()); self::assertEquals([], $this->supplier->getContactElements()); self::assertEquals((new \DateTime('now'))->format('Y-m-d'), $this->supplier->createdAt->format('Y-m-d')); self::assertInstanceOf('\Modules\Admin\Models\Account', $this->supplier->account); - self::assertInstanceOf('\Modules\Admin\Models\Address', $this->supplier->mainAddress); - self::assertInstanceOf('\Modules\Profile\Models\NullContactElement', $this->supplier->getMainContactElement(0)); - } - - /** - * @covers Modules\SupplierManagement\Models\Supplier - * @group module - */ - public function testStatusInputOutput() : void - { - $this->supplier->setStatus(SupplierStatus::INACTIVE); - self::assertEquals(SupplierStatus::INACTIVE, $this->supplier->getStatus()); - } - - /** - * @covers Modules\SupplierManagement\Models\Supplier - * @group module - */ - public function testTypeInputOutput() : void - { - $this->supplier->setType(2); - self::assertEquals(2, $this->supplier->getType()); + self::assertInstanceOf('\phpOMS\Stdlib\Base\Address', $this->supplier->mainAddress); } /** @@ -105,9 +84,9 @@ final class SupplierTest extends \PHPUnit\Framework\TestCase { $this->supplier->number = '123456'; $this->supplier->numberReverse = '654321'; - $this->supplier->setStatus(SupplierStatus::INACTIVE); - $this->supplier->setType(2); - $this->supplier->info = 'Test info'; + $this->supplier->status = SupplierStatus::INACTIVE; + $this->supplier->type = 2; + $this->supplier->info = 'Test info'; self::assertEquals( [