diff --git a/Controller/BackendController.php b/Controller/BackendController.php index c068d4a..58f3df0 100755 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -325,18 +325,15 @@ final class BackendController extends Controller if ($request->getData('ptype') === 'p') { $view->setData('costcenter', - CostCenterMapper::with('language', $response->getLanguage()) - ::getBeforePivot((int) ($request->getData('id') ?? 0), null, 25) + CostCenterMapper::getAll()->where('id', (int) ($request->getData('id') ?? 0), '<')->limit(25)->execute() ); } elseif ($request->getData('ptype') === 'n') { $view->setData('costcenter', - CostCenterMapper::with('language', $response->getLanguage()) - ::getAfterPivot((int) ($request->getData('id') ?? 0), null, 25) + CostCenterMapper::getAll()->where('id', (int) ($request->getData('id') ?? 0), '>')->limit(25)->execute() ); } else { $view->setData('costcenter', - CostCenterMapper::with('language', $response->getLanguage()) - ::getAfterPivot(0, null, 25) + CostCenterMapper::getAll()->where('id', 0, '>')->limit(25)->execute() ); } @@ -363,18 +360,15 @@ final class BackendController extends Controller if ($request->getData('ptype') === 'p') { $view->setData('costobject', - CostObjectMapper::with('language', $response->getLanguage()) - ::getBeforePivot((int) ($request->getData('id') ?? 0), null, 25) + CostObjectMapper::getAll()->where('id', (int) ($request->getData('id') ?? 0), '<')->limit(25)->execute() ); } elseif ($request->getData('ptype') === 'n') { $view->setData('costobject', - CostObjectMapper::with('language', $response->getLanguage()) - ::getAfterPivot((int) ($request->getData('id') ?? 0), null, 25) + CostObjectMapper::getAll()->where('id', (int) ($request->getData('id') ?? 0), '>')->limit(25)->execute() ); } else { $view->setData('costobject', - CostObjectMapper::with('language', $response->getLanguage()) - ::getAfterPivot(0, null, 25) + CostObjectMapper::getAll()->where('id', 0, '>')->limit(25)->execute() ); } diff --git a/Models/CostCenterL11nMapper.php b/Models/CostCenterL11nMapper.php index 55c96f0..7c7bb40 100644 --- a/Models/CostCenterL11nMapper.php +++ b/Models/CostCenterL11nMapper.php @@ -14,7 +14,7 @@ declare(strict_types=1); namespace Modules\Accounting\Models; -use phpOMS\DataStorage\Database\DataMapperAbstract; +use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; /** * CostCenter mapper class. @@ -24,7 +24,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract; * @link https://orange-management.org * @since 1.0.0 */ -final class CostCenterL11nMapper extends DataMapperAbstract +final class CostCenterL11nMapper extends DataMapperFactory { /** * Columns. @@ -32,7 +32,7 @@ final class CostCenterL11nMapper extends DataMapperAbstract * @var array * @since 1.0.0 */ - protected static array $columns = [ + public const COLUMNS = [ 'accounting_costcenter_l11n_id' => ['name' => 'accounting_costcenter_l11n_id', 'type' => 'int', 'internal' => 'id'], 'accounting_costcenter_l11n_name' => ['name' => 'accounting_costcenter_l11n_name', 'type' => 'string', 'internal' => 'name', 'autocomplete' => true], 'accounting_costcenter_l11n_description' => ['name' => 'accounting_costcenter_l11n_description', 'type' => 'string', 'internal' => 'description', 'autocomplete' => true], @@ -46,7 +46,7 @@ final class CostCenterL11nMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $table = 'accounting_costcenter_l11n'; + public const TABLE = 'accounting_costcenter_l11n'; /** * Primary field name. @@ -54,5 +54,5 @@ final class CostCenterL11nMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $primaryField = 'accounting_costcenter_l11n_id'; + public const PRIMARYFIELD ='accounting_costcenter_l11n_id'; } diff --git a/Models/CostCenterMapper.php b/Models/CostCenterMapper.php index c97986f..c4fdb0c 100755 --- a/Models/CostCenterMapper.php +++ b/Models/CostCenterMapper.php @@ -14,7 +14,7 @@ declare(strict_types=1); namespace Modules\Accounting\Models; -use phpOMS\DataStorage\Database\DataMapperAbstract; +use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; /** * Accounting mapper class. @@ -24,7 +24,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract; * @link https://orange-management.org * @since 1.0.0 */ -final class CostCenterMapper extends DataMapperAbstract +final class CostCenterMapper extends DataMapperFactory { /** * Columns. @@ -32,7 +32,7 @@ final class CostCenterMapper extends DataMapperAbstract * @var array * @since 1.0.0 */ - protected static array $columns = [ + public const COLUMNS = [ 'accounting_costcenter_id' => ['name' => 'accounting_costcenter_id', 'type' => 'int', 'internal' => 'id'], 'accounting_costcenter_code' => ['name' => 'accounting_costcenter_code', 'type' => 'string', 'internal' => 'code'], ]; @@ -43,12 +43,11 @@ final class CostCenterMapper extends DataMapperAbstract * @var array * @since 1.0.0 */ - protected static array $hasMany = [ + public const HAS_MANY = [ 'l11n' => [ 'mapper' => CostCenterL11nMapper::class, 'table' => 'accounting_costcenter_l11n', 'self' => 'accounting_costcenter_l11n_costcenter', - 'conditional' => true, 'external' => null, ], ]; @@ -59,7 +58,7 @@ final class CostCenterMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $model = CostCenter::class; + public const MODEL = CostCenter::class; /** * Primary table. @@ -67,7 +66,7 @@ final class CostCenterMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $table = 'accounting_costcenter'; + public const TABLE = 'accounting_costcenter'; /** * Primary field name. @@ -75,5 +74,5 @@ final class CostCenterMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $primaryField = 'accounting_costcenter_id'; + public const PRIMARYFIELD ='accounting_costcenter_id'; } diff --git a/Models/CostObjectL11nMapper.php b/Models/CostObjectL11nMapper.php index 4b7a8c5..b5bbddd 100644 --- a/Models/CostObjectL11nMapper.php +++ b/Models/CostObjectL11nMapper.php @@ -14,7 +14,7 @@ declare(strict_types=1); namespace Modules\Accounting\Models; -use phpOMS\DataStorage\Database\DataMapperAbstract; +use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; /** * CostObject mapper class. @@ -24,7 +24,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract; * @link https://orange-management.org * @since 1.0.0 */ -final class CostObjectL11nMapper extends DataMapperAbstract +final class CostObjectL11nMapper extends DataMapperFactory { /** * Columns. @@ -32,7 +32,7 @@ final class CostObjectL11nMapper extends DataMapperAbstract * @var array * @since 1.0.0 */ - protected static array $columns = [ + public const COLUMNS = [ 'accounting_costobject_l11n_id' => ['name' => 'accounting_costobject_l11n_id', 'type' => 'int', 'internal' => 'id'], 'accounting_costobject_l11n_name' => ['name' => 'accounting_costobject_l11n_name', 'type' => 'string', 'internal' => 'name', 'autocomplete' => true], 'accounting_costobject_l11n_description' => ['name' => 'accounting_costobject_l11n_description', 'type' => 'string', 'internal' => 'description', 'autocomplete' => true], @@ -46,7 +46,7 @@ final class CostObjectL11nMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $table = 'accounting_costobject_l11n'; + public const TABLE = 'accounting_costobject_l11n'; /** * Primary field name. @@ -54,5 +54,5 @@ final class CostObjectL11nMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $primaryField = 'accounting_costobject_l11n_id'; + public const PRIMARYFIELD ='accounting_costobject_l11n_id'; } diff --git a/Models/CostObjectMapper.php b/Models/CostObjectMapper.php index eefe823..1aa5c5c 100755 --- a/Models/CostObjectMapper.php +++ b/Models/CostObjectMapper.php @@ -14,7 +14,7 @@ declare(strict_types=1); namespace Modules\Accounting\Models; -use phpOMS\DataStorage\Database\DataMapperAbstract; +use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; /** * Accounting mapper class. @@ -24,7 +24,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract; * @link https://orange-management.org * @since 1.0.0 */ -final class CostObjectMapper extends DataMapperAbstract +final class CostObjectMapper extends DataMapperFactory { /** * Columns. @@ -32,7 +32,7 @@ final class CostObjectMapper extends DataMapperAbstract * @var array * @since 1.0.0 */ - protected static array $columns = [ + public const COLUMNS = [ 'accounting_costobject_id' => ['name' => 'accounting_costobject_id', 'type' => 'int', 'internal' => 'id'], 'accounting_costobject_code' => ['name' => 'accounting_costobject_code', 'type' => 'string', 'internal' => 'code'], ]; @@ -43,7 +43,7 @@ final class CostObjectMapper extends DataMapperAbstract * @var array * @since 1.0.0 */ - protected static array $hasMany = [ + public const HAS_MANY = [ 'l11n' => [ 'mapper' => CostObjectL11nMapper::class, 'table' => 'accounting_costobject_l11n', @@ -59,7 +59,7 @@ final class CostObjectMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $model = CostObject::class; + public const MODEL = CostObject::class; /** * Primary table. @@ -67,7 +67,7 @@ final class CostObjectMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $table = 'accounting_costobject'; + public const TABLE = 'accounting_costobject'; /** * Primary field name. @@ -75,5 +75,5 @@ final class CostObjectMapper extends DataMapperAbstract * @var string * @since 1.0.0 */ - protected static string $primaryField = 'accounting_costobject_id'; + public const PRIMARYFIELD ='accounting_costobject_id'; } diff --git a/tests/Bootstrap.php b/tests/Bootstrap.php index f5fc99c..252a62f 100755 --- a/tests/Bootstrap.php +++ b/tests/Bootstrap.php @@ -12,7 +12,7 @@ require_once __DIR__ . '/../vendor/autoload.php'; require_once __DIR__ . '/Autoloader.php'; use phpOMS\DataStorage\Database\DatabasePool; -use phpOMS\DataStorage\Database\DataMapperAbstract; +use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; use phpOMS\DataStorage\Session\HttpSession; $CONFIG = [ @@ -329,7 +329,7 @@ $GLOBALS['dbpool']->create('delete', $CONFIG['db']['core']['masters']['delete']) $GLOBALS['dbpool']->create('insert', $CONFIG['db']['core']['masters']['insert']); $GLOBALS['dbpool']->create('schema', $CONFIG['db']['core']['masters']['schema']); -DataMapperAbstract::setConnection($GLOBALS['dbpool']->get()); +DataMapperFactory::db($GLOBALS['dbpool']->get()); $GLOBALS['frameworkpath'] = '/phpOMS/'; diff --git a/tests/Models/CostCenterMapperTest.php b/tests/Models/CostCenterMapperTest.php index 35989bc..b0765b2 100755 --- a/tests/Models/CostCenterMapperTest.php +++ b/tests/Models/CostCenterMapperTest.php @@ -34,11 +34,11 @@ final class CostCenterMapperTest extends \PHPUnit\Framework\TestCase $costcenter->l11n->name = 'Test CostCenter'; $costcenter->l11n->description = 'Test description'; - $id = CostCenterMapper::create($costcenter); + $id = CostCenterMapper::create()->execute($costcenter); self::assertGreaterThan(0, $costcenter->getId()); self::assertEquals($id, $costcenter->getId()); - $costcenterR = CostCenterMapper::with('language', ISO639x1Enum::_EN)::get($costcenter->getId()); + $costcenterR = CostCenterMapper::get()->with('l11n')->where('l11n/language', ISO639x1Enum::_EN)->where('id', $costcenter->getId())->execute(); self::assertEquals($costcenter->code, $costcenterR->code); self::assertEquals($costcenter->l11n->name, $costcenterR->l11n->name); self::assertEquals($costcenter->l11n->description, $costcenterR->l11n->description); diff --git a/tests/Models/CostObjectMapperTest.php b/tests/Models/CostObjectMapperTest.php index 339a8e2..9d40eed 100755 --- a/tests/Models/CostObjectMapperTest.php +++ b/tests/Models/CostObjectMapperTest.php @@ -34,11 +34,11 @@ final class CostObjectMapperTest extends \PHPUnit\Framework\TestCase $costobject->l11n->name = 'Test CostObject'; $costobject->l11n->description = 'Test description'; - $id = CostObjectMapper::create($costobject); + $id = CostObjectMapper::create()->execute($costobject); self::assertGreaterThan(0, $costobject->getId()); self::assertEquals($id, $costobject->getId()); - $costobjectR = CostObjectMapper::with('language', ISO639x1Enum::_EN)::get($costobject->getId()); + $costobjectR = CostObjectMapper::get()->with('l11n')->where('l11n/language', ISO639x1Enum::_EN)->where('id', $costobject->getId())->execute(); self::assertEquals($costobject->code, $costobjectR->code); self::assertEquals($costobject->l11n->name, $costobjectR->l11n->name); self::assertEquals($costobject->l11n->description, $costobjectR->l11n->description);