diff --git a/Admin/Install/db.json b/Admin/Install/db.json index 802d042..b7e2705 100755 --- a/Admin/Install/db.json +++ b/Admin/Install/db.json @@ -379,6 +379,30 @@ } } }, + "suppliermgmt_supplier_account": { + "name": "suppliermgmt_supplier_account", + "fields": { + "suppliermgmt_supplier_account_id": { + "name": "suppliermgmt_supplier_account_id", + "type": "INT", + "null": false, + "primary": true, + "autoincrement": true + }, + "suppliermgmt_supplier_account_account": { + "name": "suppliermgmt_supplier_account_account", + "type": "VARCHAR(50)", + "null": false + }, + "suppliermgmt_supplier_account_supplier": { + "name": "suppliermgmt_supplier_account_supplier", + "type": "INT(11)", + "null": false, + "foreignTable": "suppliermgmt_supplier", + "foreignKey": "suppliermgmt_supplier_id" + } + } + }, "suppliermgmt_supplier_media": { "name": "suppliermgmt_supplier_media", "fields": { diff --git a/Admin/Installer.php b/Admin/Installer.php index 1998e67..70926b9 100755 --- a/Admin/Installer.php +++ b/Admin/Installer.php @@ -136,7 +136,7 @@ final class Installer extends InstallerAbstract $request->setData('title', \reset($attribute['l11n'])); $request->setData('language', \array_keys($attribute['l11n'])[0] ?? 'en'); $request->setData('is_required', $attribute['is_required'] ?? false); - $request->setData('is_custom_allowed', $attribute['is_custom_allowed'] ?? false); + $request->setData('custom', $attribute['is_custom_allowed'] ?? false); $request->setData('validation_pattern', $attribute['validation_pattern'] ?? ''); $request->setData('datatype', (int) $attribute['value_type']); diff --git a/Controller/ApiController.php b/Controller/ApiController.php index 53d4025..ec41b73 100755 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -505,7 +505,7 @@ final class ApiController extends Controller $this->createModelRelation( $request->header->account, (int) $request->getData('type'), - $attrValue->getId(), + $attrValue->id, SupplierAttributeTypeMapper::class, 'defaults', '', $request->getOrigin() ); } @@ -668,7 +668,7 @@ final class ApiController extends Controller foreach ($uploaded as $file) { $this->createModelRelation( $request->header->account, - $file->getId(), + $file->id, $request->getDataInt('type'), MediaMapper::class, 'types', @@ -681,7 +681,7 @@ final class ApiController extends Controller $this->createModelRelation( $request->header->account, (int) $request->getData('supplier'), - \reset($uploaded)->getId(), + \reset($uploaded)->id, SupplierMapper::class, 'files', '', $request->getOrigin() ); @@ -715,7 +715,7 @@ final class ApiController extends Controller $this->createModelRelation( $request->header->account, $request->getData('id'), - $model->getId(), + $model->id, SupplierMapper::class, 'notes', '', diff --git a/Controller/BackendController.php b/Controller/BackendController.php index 6148aa0..8c020c1 100755 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -15,6 +15,7 @@ declare(strict_types=1); namespace Modules\SupplierManagement\Controller; use Modules\Billing\Models\PurchaseBillMapper; +use Modules\SupplierManagement\Models\SupplierAttributeTypeL11nMapper; use Modules\SupplierManagement\Models\SupplierAttributeTypeMapper; use Modules\SupplierManagement\Models\SupplierAttributeValueMapper; use Modules\SupplierManagement\Models\SupplierMapper; @@ -50,7 +51,7 @@ final class BackendController extends Controller * @since 1.0.0 * @codeCoverageIgnore */ - public function SupplierManagementAttributeTypeList(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface + public function viewSupplierManagementAttributeTypeList(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/SupplierManagement/Theme/Backend/attribute-type-list'); @@ -79,7 +80,7 @@ final class BackendController extends Controller * @since 1.0.0 * @codeCoverageIgnore */ - public function SupplierManagementAttributeValues(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface + public function viewSupplierManagementAttributeValues(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/SupplierManagement/Theme/Backend/attribute-value-list'); @@ -108,7 +109,7 @@ final class BackendController extends Controller * @since 1.0.0 * @codeCoverageIgnore */ - public function SupplierManagementAttributeType(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface + public function viewSupplierManagementAttributeType(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/SupplierManagement/Theme/Backend/attribute-type'); @@ -121,7 +122,12 @@ final class BackendController extends Controller ->where('l11n/language', $response->getLanguage()) ->execute(); + $l11ns = SupplierAttributeTypeL11nMapper::getAll() + ->where('ref', $attribute->id) + ->execute(); + $view->addData('attribute', $attribute); + $view->addData('l11ns', $l11ns); return $view; } @@ -214,11 +220,11 @@ final class BackendController extends Controller // stats if ($this->app->moduleManager->isActive('Billing')) { - $ytd = PurchaseBillMapper::getPurchaseBySupplierId($supplier->getId(), new SmartDateTime('Y-01-01'), new SmartDateTime('now')); - $mtd = PurchaseBillMapper::getPurchaseBySupplierId($supplier->getId(), new SmartDateTime('Y-m-01'), new SmartDateTime('now')); - $lastOrder = PurchaseBillMapper::getLastOrderDateBySupplierId($supplier->getId()); - $newestInvoices = PurchaseBillMapper::getAll()->with('supplier')->where('supplier', $supplier->getId())->sort('id', OrderType::DESC)->limit(5)->execute(); - $monthlyPurchaseCosts = PurchaseBillMapper::getSupplierMonthlyPurchaseCosts($supplier->getId(), (new SmartDateTime('now'))->createModify(-1), new SmartDateTime('now')); + $ytd = PurchaseBillMapper::getPurchaseBySupplierId($supplier->id, new SmartDateTime('Y-01-01'), new SmartDateTime('now')); + $mtd = PurchaseBillMapper::getPurchaseBySupplierId($supplier->id, new SmartDateTime('Y-m-01'), new SmartDateTime('now')); + $lastOrder = PurchaseBillMapper::getLastOrderDateBySupplierId($supplier->id); + $newestInvoices = PurchaseBillMapper::getAll()->with('supplier')->where('supplier', $supplier->id)->sort('id', OrderType::DESC)->limit(5)->execute(); + $monthlyPurchaseCosts = PurchaseBillMapper::getSupplierMonthlyPurchaseCosts($supplier->id, (new SmartDateTime('now'))->createModify(-1), new SmartDateTime('now')); } else { $ytd = new Money(); $mtd = new Money(); diff --git a/Models/Supplier.php b/Models/Supplier.php index d7e602a..48c04e4 100755 --- a/Models/Supplier.php +++ b/Models/Supplier.php @@ -40,15 +40,15 @@ class Supplier * @var int * @since 1.0.0 */ - protected int $id = 0; + public int $id = 0; public string $number = ''; public string $numberReverse = ''; - private int $status = SupplierStatus::ACTIVE; + public int $status = SupplierStatus::ACTIVE; - private int $type = 0; + public int $type = 0; public string $info = ''; diff --git a/Models/SupplierL11n.php b/Models/SupplierL11n.php index d1e3793..d431874 100755 --- a/Models/SupplierL11n.php +++ b/Models/SupplierL11n.php @@ -32,7 +32,7 @@ class SupplierL11n implements \JsonSerializable * @var int * @since 1.0.0 */ - protected int $id = 0; + public int $id = 0; /** * Supplier ID. diff --git a/Models/SupplierL11nType.php b/Models/SupplierL11nType.php index 0acd1f9..7a43861 100755 --- a/Models/SupplierL11nType.php +++ b/Models/SupplierL11nType.php @@ -30,7 +30,7 @@ class SupplierL11nType implements \JsonSerializable * @var int * @since 1.0.0 */ - protected int $id = 0; + public int $id = 0; /** * Identifier for the l11n type. diff --git a/Theme/Backend/Lang/en.lang.php b/Theme/Backend/Lang/en.lang.php index 4348293..df890b6 100755 --- a/Theme/Backend/Lang/en.lang.php +++ b/Theme/Backend/Lang/en.lang.php @@ -13,6 +13,8 @@ declare(strict_types=1); return ['SupplierManagement' => [ + 'AttributeTypes' => 'Attribute Types', + 'Attribute' => 'Attribute', 'Accounting' => 'Accounting', 'Addition' => 'Addition', 'Address' => 'Address', diff --git a/Theme/Backend/attribute-type-list.tpl.php b/Theme/Backend/attribute-type-list.tpl.php new file mode 100644 index 0000000..1a01c71 --- /dev/null +++ b/Theme/Backend/attribute-type-list.tpl.php @@ -0,0 +1,71 @@ +getData('attributes'); + +echo $this->getData('nav')->render(); ?> + +