mirror of
https://github.com/Karaka-Management/oms-ProjectManagement.git
synced 2026-02-13 14:28:39 +00:00
new datamapper mostly implemented
This commit is contained in:
parent
6f976b7a26
commit
15b0f1cba7
|
|
@ -17,6 +17,7 @@ namespace Modules\ProjectManagement\Controller;
|
||||||
use Modules\ProjectManagement\Models\ProjectMapper;
|
use Modules\ProjectManagement\Models\ProjectMapper;
|
||||||
use phpOMS\Asset\AssetType;
|
use phpOMS\Asset\AssetType;
|
||||||
use phpOMS\Contract\RenderableInterface;
|
use phpOMS\Contract\RenderableInterface;
|
||||||
|
use phpOMS\DataStorage\Database\Query\OrderType;
|
||||||
use phpOMS\Message\RequestAbstract;
|
use phpOMS\Message\RequestAbstract;
|
||||||
use phpOMS\Message\ResponseAbstract;
|
use phpOMS\Message\ResponseAbstract;
|
||||||
use phpOMS\Views\View;
|
use phpOMS\Views\View;
|
||||||
|
|
@ -50,7 +51,7 @@ final class BackendController extends Controller
|
||||||
$view->setTemplate('/Modules/ProjectManagement/Theme/Backend/projectmanagement-list');
|
$view->setTemplate('/Modules/ProjectManagement/Theme/Backend/projectmanagement-list');
|
||||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001701001, $request, $response));
|
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001701001, $request, $response));
|
||||||
|
|
||||||
$projects = ProjectMapper::getNewest(25);
|
$projects = ProjectMapper::getAll()->sort('id', OrderType::DESC)->limit(25);
|
||||||
$view->addData('projects', $projects);
|
$view->addData('projects', $projects);
|
||||||
|
|
||||||
return $view;
|
return $view;
|
||||||
|
|
@ -111,7 +112,7 @@ final class BackendController extends Controller
|
||||||
$mediaListView->setTemplate('/Modules/Media/Theme/Backend/Components/Media/list');
|
$mediaListView->setTemplate('/Modules/Media/Theme/Backend/Components/Media/list');
|
||||||
$view->addData('medialist', $mediaListView);
|
$view->addData('medialist', $mediaListView);
|
||||||
|
|
||||||
$project = ProjectMapper::get((int) $request->getData('id'));
|
$project = ProjectMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
||||||
$view->addData('project', $project);
|
$view->addData('project', $project);
|
||||||
|
|
||||||
return $view;
|
return $view;
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace Modules\ProjectManagement\Models;
|
namespace Modules\ProjectManagement\Models;
|
||||||
|
|
||||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Project mapper class.
|
* Project mapper class.
|
||||||
|
|
@ -24,7 +24,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||||
* @link https://orange-management.org
|
* @link https://orange-management.org
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
final class ProjectAttributeMapper extends DataMapperAbstract
|
final class ProjectAttributeMapper extends DataMapperFactory
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Columns.
|
* Columns.
|
||||||
|
|
@ -32,7 +32,7 @@ final class ProjectAttributeMapper extends DataMapperAbstract
|
||||||
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static array $columns = [
|
public const COLUMNS = [
|
||||||
'projectmanagement_project_attr_id' => ['name' => 'projectmanagement_project_attr_id', 'type' => 'int', 'internal' => 'id'],
|
'projectmanagement_project_attr_id' => ['name' => 'projectmanagement_project_attr_id', 'type' => 'int', 'internal' => 'id'],
|
||||||
'projectmanagement_project_attr_project' => ['name' => 'projectmanagement_project_attr_project', 'type' => 'int', 'internal' => 'project'],
|
'projectmanagement_project_attr_project' => ['name' => 'projectmanagement_project_attr_project', 'type' => 'int', 'internal' => 'project'],
|
||||||
'projectmanagement_project_attr_type' => ['name' => 'projectmanagement_project_attr_type', 'type' => 'int', 'internal' => 'type'],
|
'projectmanagement_project_attr_type' => ['name' => 'projectmanagement_project_attr_type', 'type' => 'int', 'internal' => 'type'],
|
||||||
|
|
@ -45,7 +45,7 @@ final class ProjectAttributeMapper extends DataMapperAbstract
|
||||||
* @var array<string, array{mapper:string, external:string, by?:string, column?:string, conditional?:bool}>
|
* @var array<string, array{mapper:string, external:string, by?:string, column?:string, conditional?:bool}>
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static array $ownsOne = [
|
public const OWNS_ONE = [
|
||||||
'type' => [
|
'type' => [
|
||||||
'mapper' => ProjectAttributeTypeMapper::class,
|
'mapper' => ProjectAttributeTypeMapper::class,
|
||||||
'external' => 'projectmanagement_project_attr_type',
|
'external' => 'projectmanagement_project_attr_type',
|
||||||
|
|
@ -62,7 +62,7 @@ final class ProjectAttributeMapper extends DataMapperAbstract
|
||||||
* @var string
|
* @var string
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static string $table = 'projectmanagement_project_attr';
|
public const TABLE = 'projectmanagement_project_attr';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Primary field name.
|
* Primary field name.
|
||||||
|
|
@ -70,5 +70,5 @@ final class ProjectAttributeMapper extends DataMapperAbstract
|
||||||
* @var string
|
* @var string
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static string $primaryField = 'projectmanagement_project_attr_id';
|
public const PRIMARYFIELD ='projectmanagement_project_attr_id';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace Modules\ProjectManagement\Models;
|
namespace Modules\ProjectManagement\Models;
|
||||||
|
|
||||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Project mapper class.
|
* Project mapper class.
|
||||||
|
|
@ -24,7 +24,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||||
* @link https://orange-management.org
|
* @link https://orange-management.org
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
final class ProjectAttributeTypeL11nMapper extends DataMapperAbstract
|
final class ProjectAttributeTypeL11nMapper extends DataMapperFactory
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Columns.
|
* Columns.
|
||||||
|
|
@ -32,7 +32,7 @@ final class ProjectAttributeTypeL11nMapper extends DataMapperAbstract
|
||||||
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static array $columns = [
|
public const COLUMNS = [
|
||||||
'projectmanagement_project_attr_type_l11n_id' => ['name' => 'projectmanagement_project_attr_type_l11n_id', 'type' => 'int', 'internal' => 'id'],
|
'projectmanagement_project_attr_type_l11n_id' => ['name' => 'projectmanagement_project_attr_type_l11n_id', 'type' => 'int', 'internal' => 'id'],
|
||||||
'projectmanagement_project_attr_type_l11n_title' => ['name' => 'projectmanagement_project_attr_type_l11n_title', 'type' => 'string', 'internal' => 'title', 'autocomplete' => true],
|
'projectmanagement_project_attr_type_l11n_title' => ['name' => 'projectmanagement_project_attr_type_l11n_title', 'type' => 'string', 'internal' => 'title', 'autocomplete' => true],
|
||||||
'projectmanagement_project_attr_type_l11n_type' => ['name' => 'projectmanagement_project_attr_type_l11n_type', 'type' => 'int', 'internal' => 'type'],
|
'projectmanagement_project_attr_type_l11n_type' => ['name' => 'projectmanagement_project_attr_type_l11n_type', 'type' => 'int', 'internal' => 'type'],
|
||||||
|
|
@ -45,7 +45,7 @@ final class ProjectAttributeTypeL11nMapper extends DataMapperAbstract
|
||||||
* @var string
|
* @var string
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static string $table = 'projectmanagement_project_attr_type_l11n';
|
public const TABLE = 'projectmanagement_project_attr_type_l11n';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Primary field name.
|
* Primary field name.
|
||||||
|
|
@ -53,5 +53,5 @@ final class ProjectAttributeTypeL11nMapper extends DataMapperAbstract
|
||||||
* @var string
|
* @var string
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static string $primaryField = 'projectmanagement_project_attr_type_l11n_id';
|
public const PRIMARYFIELD ='projectmanagement_project_attr_type_l11n_id';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace Modules\ProjectManagement\Models;
|
namespace Modules\ProjectManagement\Models;
|
||||||
|
|
||||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Project mapper class.
|
* Project mapper class.
|
||||||
|
|
@ -24,7 +24,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||||
* @link https://orange-management.org
|
* @link https://orange-management.org
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
final class ProjectAttributeTypeMapper extends DataMapperAbstract
|
final class ProjectAttributeTypeMapper extends DataMapperFactory
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Columns.
|
* Columns.
|
||||||
|
|
@ -32,7 +32,7 @@ final class ProjectAttributeTypeMapper extends DataMapperAbstract
|
||||||
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static array $columns = [
|
public const COLUMNS = [
|
||||||
'projectmanagement_project_attr_type_id' => ['name' => 'projectmanagement_project_attr_type_id', 'type' => 'int', 'internal' => 'id'],
|
'projectmanagement_project_attr_type_id' => ['name' => 'projectmanagement_project_attr_type_id', 'type' => 'int', 'internal' => 'id'],
|
||||||
'projectmanagement_project_attr_type_name' => ['name' => 'projectmanagement_project_attr_type_name', 'type' => 'string', 'internal' => 'name', 'autocomplete' => true],
|
'projectmanagement_project_attr_type_name' => ['name' => 'projectmanagement_project_attr_type_name', 'type' => 'string', 'internal' => 'name', 'autocomplete' => true],
|
||||||
'projectmanagement_project_attr_type_fields' => ['name' => 'projectmanagement_project_attr_type_fields', 'type' => 'int', 'internal' => 'fields'],
|
'projectmanagement_project_attr_type_fields' => ['name' => 'projectmanagement_project_attr_type_fields', 'type' => 'int', 'internal' => 'fields'],
|
||||||
|
|
@ -47,21 +47,19 @@ final class ProjectAttributeTypeMapper extends DataMapperAbstract
|
||||||
* @var array<string, array{mapper:string, table:string, self?:?string, external?:?string, column?:string}>
|
* @var array<string, array{mapper:string, table:string, self?:?string, external?:?string, column?:string}>
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static array $hasMany = [
|
public const HAS_MANY = [
|
||||||
'l11n' => [
|
'l11n' => [
|
||||||
'mapper' => ProjectAttributeTypeL11nMapper::class,
|
'mapper' => ProjectAttributeTypeL11nMapper::class,
|
||||||
'table' => 'projectmanagement_project_attr_type_l11n',
|
'table' => 'projectmanagement_project_attr_type_l11n',
|
||||||
'self' => 'projectmanagement_project_attr_type_l11n_type',
|
'self' => 'projectmanagement_project_attr_type_l11n_type',
|
||||||
'column' => 'title',
|
'column' => 'title',
|
||||||
'conditional' => true,
|
|
||||||
'external' => null,
|
'external' => null,
|
||||||
],
|
],
|
||||||
'defaults' => [
|
'defaults' => [
|
||||||
'mapper' => ProjectAttributeValueMapper::class,
|
'mapper' => ProjectAttributeValueMapper::class,
|
||||||
'table' => 'projectmanagement_project_attr_default',
|
'table' => 'projectmanagement_project_attr_default',
|
||||||
'self' => 'projectmanagement_project_attr_default_type',
|
'self' => 'projectmanagement_project_attr_default_type',
|
||||||
'external' => 'projectmanagement_project_attr_default_value',
|
'external' => 'projectmanagement_project_attr_default_value'
|
||||||
'conditional' => false,
|
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -71,7 +69,7 @@ final class ProjectAttributeTypeMapper extends DataMapperAbstract
|
||||||
* @var string
|
* @var string
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static string $table = 'projectmanagement_project_attr_type';
|
public const TABLE = 'projectmanagement_project_attr_type';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Primary field name.
|
* Primary field name.
|
||||||
|
|
@ -79,5 +77,5 @@ final class ProjectAttributeTypeMapper extends DataMapperAbstract
|
||||||
* @var string
|
* @var string
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static string $primaryField = 'projectmanagement_project_attr_type_id';
|
public const PRIMARYFIELD ='projectmanagement_project_attr_type_id';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace Modules\ProjectManagement\Models;
|
namespace Modules\ProjectManagement\Models;
|
||||||
|
|
||||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Project mapper class.
|
* Project mapper class.
|
||||||
|
|
@ -24,7 +24,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||||
* @link https: //orange-management.org
|
* @link https: //orange-management.org
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
final class ProjectAttributeValueMapper extends DataMapperAbstract
|
final class ProjectAttributeValueMapper extends DataMapperFactory
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Columns.
|
* Columns.
|
||||||
|
|
@ -32,7 +32,7 @@ final class ProjectAttributeValueMapper extends DataMapperAbstract
|
||||||
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static array $columns = [
|
public const COLUMNS = [
|
||||||
'projectmanagement_project_attr_value_id' => ['name' => 'projectmanagement_project_attr_value_id', 'type' => 'int', 'internal' => 'id'],
|
'projectmanagement_project_attr_value_id' => ['name' => 'projectmanagement_project_attr_value_id', 'type' => 'int', 'internal' => 'id'],
|
||||||
'projectmanagement_project_attr_value_default' => ['name' => 'projectmanagement_project_attr_value_default', 'type' => 'bool', 'internal' => 'isDefault'],
|
'projectmanagement_project_attr_value_default' => ['name' => 'projectmanagement_project_attr_value_default', 'type' => 'bool', 'internal' => 'isDefault'],
|
||||||
'projectmanagement_project_attr_value_type' => ['name' => 'projectmanagement_project_attr_value_type', 'type' => 'int', 'internal' => 'type'],
|
'projectmanagement_project_attr_value_type' => ['name' => 'projectmanagement_project_attr_value_type', 'type' => 'int', 'internal' => 'type'],
|
||||||
|
|
@ -50,7 +50,7 @@ final class ProjectAttributeValueMapper extends DataMapperAbstract
|
||||||
* @var string
|
* @var string
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static string $table = 'projectmanagement_project_attr_value';
|
public const TABLE = 'projectmanagement_project_attr_value';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Primary field name.
|
* Primary field name.
|
||||||
|
|
@ -58,5 +58,5 @@ final class ProjectAttributeValueMapper extends DataMapperAbstract
|
||||||
* @var string
|
* @var string
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static string $primaryField = 'projectmanagement_project_attr_value_id';
|
public const PRIMARYFIELD ='projectmanagement_project_attr_value_id';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ use Modules\Admin\Models\AccountMapper;
|
||||||
use Modules\Calendar\Models\CalendarMapper;
|
use Modules\Calendar\Models\CalendarMapper;
|
||||||
use Modules\Media\Models\MediaMapper;
|
use Modules\Media\Models\MediaMapper;
|
||||||
use Modules\Tasks\Models\TaskMapper;
|
use Modules\Tasks\Models\TaskMapper;
|
||||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mapper class.
|
* Mapper class.
|
||||||
|
|
@ -28,7 +28,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||||
* @link https://orange-management.org
|
* @link https://orange-management.org
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
final class ProjectMapper extends DataMapperAbstract
|
final class ProjectMapper extends DataMapperFactory
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Columns.
|
* Columns.
|
||||||
|
|
@ -36,7 +36,7 @@ final class ProjectMapper extends DataMapperAbstract
|
||||||
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static array $columns = [
|
public const COLUMNS = [
|
||||||
'projectmanagement_project_id' => ['name' => 'projectmanagement_project_id', 'type' => 'int', 'internal' => 'id'],
|
'projectmanagement_project_id' => ['name' => 'projectmanagement_project_id', 'type' => 'int', 'internal' => 'id'],
|
||||||
'projectmanagement_project_name' => ['name' => 'projectmanagement_project_name', 'type' => 'string', 'internal' => 'name'],
|
'projectmanagement_project_name' => ['name' => 'projectmanagement_project_name', 'type' => 'string', 'internal' => 'name'],
|
||||||
'projectmanagement_project_description' => ['name' => 'projectmanagement_project_description', 'type' => 'string', 'internal' => 'description'],
|
'projectmanagement_project_description' => ['name' => 'projectmanagement_project_description', 'type' => 'string', 'internal' => 'description'],
|
||||||
|
|
@ -61,7 +61,7 @@ final class ProjectMapper extends DataMapperAbstract
|
||||||
* @var array<string, array{mapper:string, table:string, self?:?string, external?:?string, column?:string}>
|
* @var array<string, array{mapper:string, table:string, self?:?string, external?:?string, column?:string}>
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static array $hasMany = [
|
public const HAS_MANY = [
|
||||||
'tasks' => [
|
'tasks' => [
|
||||||
'mapper' => TaskMapper::class,
|
'mapper' => TaskMapper::class,
|
||||||
'table' => 'projectmanagement_task_relation',
|
'table' => 'projectmanagement_task_relation',
|
||||||
|
|
@ -89,7 +89,7 @@ final class ProjectMapper extends DataMapperAbstract
|
||||||
* @var array<string, array{mapper:string, external:string, by?:string, column?:string, conditional?:bool}>
|
* @var array<string, array{mapper:string, external:string, by?:string, column?:string, conditional?:bool}>
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static array $ownsOne = [
|
public const OWNS_ONE = [
|
||||||
'calendar' => [
|
'calendar' => [
|
||||||
'mapper' => CalendarMapper::class,
|
'mapper' => CalendarMapper::class,
|
||||||
'external' => 'projectmanagement_project_calendar',
|
'external' => 'projectmanagement_project_calendar',
|
||||||
|
|
@ -102,7 +102,7 @@ final class ProjectMapper extends DataMapperAbstract
|
||||||
* @var array<string, array{mapper:string, external:string}>
|
* @var array<string, array{mapper:string, external:string}>
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static array $belongsTo = [
|
public const BELONGS_TO = [
|
||||||
'createdBy' => [
|
'createdBy' => [
|
||||||
'mapper' => AccountMapper::class,
|
'mapper' => AccountMapper::class,
|
||||||
'external' => 'projectmanagement_project_created_by',
|
'external' => 'projectmanagement_project_created_by',
|
||||||
|
|
@ -115,7 +115,7 @@ final class ProjectMapper extends DataMapperAbstract
|
||||||
* @var string
|
* @var string
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static string $table = 'projectmanagement_project';
|
public const TABLE = 'projectmanagement_project';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created at.
|
* Created at.
|
||||||
|
|
@ -123,7 +123,7 @@ final class ProjectMapper extends DataMapperAbstract
|
||||||
* @var string
|
* @var string
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static string $createdAt = 'projectmanagement_project_created_at';
|
public const CREATED_AT = 'projectmanagement_project_created_at';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Primary field name.
|
* Primary field name.
|
||||||
|
|
@ -131,5 +131,5 @@ final class ProjectMapper extends DataMapperAbstract
|
||||||
* @var string
|
* @var string
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected static string $primaryField = 'projectmanagement_project_id';
|
public const PRIMARYFIELD ='projectmanagement_project_id';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ require_once __DIR__ . '/../vendor/autoload.php';
|
||||||
require_once __DIR__ . '/Autoloader.php';
|
require_once __DIR__ . '/Autoloader.php';
|
||||||
|
|
||||||
use phpOMS\DataStorage\Database\DatabasePool;
|
use phpOMS\DataStorage\Database\DatabasePool;
|
||||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||||
use phpOMS\DataStorage\Session\HttpSession;
|
use phpOMS\DataStorage\Session\HttpSession;
|
||||||
|
|
||||||
$CONFIG = [
|
$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('insert', $CONFIG['db']['core']['masters']['insert']);
|
||||||
$GLOBALS['dbpool']->create('schema', $CONFIG['db']['core']['masters']['schema']);
|
$GLOBALS['dbpool']->create('schema', $CONFIG['db']['core']['masters']['schema']);
|
||||||
|
|
||||||
DataMapperAbstract::setConnection($GLOBALS['dbpool']->get());
|
DataMapperFactory::db($GLOBALS['dbpool']->get());
|
||||||
|
|
||||||
$GLOBALS['frameworkpath'] = '/phpOMS/';
|
$GLOBALS['frameworkpath'] = '/phpOMS/';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@ use Modules\ProjectManagement\Models\ProgressType;
|
||||||
use Modules\ProjectManagement\Models\Project;
|
use Modules\ProjectManagement\Models\Project;
|
||||||
use Modules\ProjectManagement\Models\ProjectMapper;
|
use Modules\ProjectManagement\Models\ProjectMapper;
|
||||||
use Modules\Tasks\Models\Task;
|
use Modules\Tasks\Models\Task;
|
||||||
|
use phpOMS\DataStorage\Database\Query\OrderType;
|
||||||
use phpOMS\Localization\Money;
|
use phpOMS\Localization\Money;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -72,11 +73,11 @@ final class ProjectMapperTest extends \PHPUnit\Framework\TestCase
|
||||||
$media->name = 'Project Media';
|
$media->name = 'Project Media';
|
||||||
$project->addMedia($media);
|
$project->addMedia($media);
|
||||||
|
|
||||||
$id = ProjectMapper::create($project);
|
$id = ProjectMapper::create()->execute($project);
|
||||||
self::assertGreaterThan(0, $project->getId());
|
self::assertGreaterThan(0, $project->getId());
|
||||||
self::assertEquals($id, $project->getId());
|
self::assertEquals($id, $project->getId());
|
||||||
|
|
||||||
$projectR = ProjectMapper::get($project->getId());
|
$projectR = ProjectMapper::get()->with('media')->where('id', $project->getId())->execute();
|
||||||
|
|
||||||
self::assertEquals($project->getName(), $projectR->getName());
|
self::assertEquals($project->getName(), $projectR->getName());
|
||||||
self::assertEquals($project->description, $projectR->description);
|
self::assertEquals($project->description, $projectR->description);
|
||||||
|
|
@ -102,7 +103,7 @@ final class ProjectMapperTest extends \PHPUnit\Framework\TestCase
|
||||||
*/
|
*/
|
||||||
public function testNewest() : void
|
public function testNewest() : void
|
||||||
{
|
{
|
||||||
$newest = ProjectMapper::getNewest(1);
|
$newest = ProjectMapper::getAll()->sort('id', OrderType::DESC)->limit(1)->execute();
|
||||||
|
|
||||||
self::assertCount(1, $newest);
|
self::assertCount(1, $newest);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user