mirror of
https://github.com/Karaka-Management/oms-Kanban.git
synced 2026-02-18 21:28:40 +00:00
fixes Orange-Management/phpOMS#224 and fixes Orange-Management/phpOMS#212
This commit is contained in:
parent
b1f53c89bc
commit
dc5b332b71
|
|
@ -14,17 +14,18 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace Modules\Kanban\Controller;
|
namespace Modules\Kanban\Controller;
|
||||||
|
|
||||||
|
use Modules\Admin\Models\NullAccount;
|
||||||
use Modules\Kanban\Models\BoardStatus;
|
use Modules\Kanban\Models\BoardStatus;
|
||||||
use Modules\Kanban\Models\CardStatus;
|
use Modules\Kanban\Models\CardStatus;
|
||||||
use Modules\Kanban\Models\CardType;
|
use Modules\Kanban\Models\CardType;
|
||||||
use Modules\Kanban\Models\KanbanBoard;
|
use Modules\Kanban\Models\KanbanBoard;
|
||||||
use Modules\Kanban\Models\KanbanBoardMapper;
|
use Modules\Kanban\Models\KanbanBoardMapper;
|
||||||
use Modules\Kanban\Models\KanbanCard;
|
|
||||||
|
|
||||||
|
use Modules\Kanban\Models\KanbanCard;
|
||||||
use Modules\Kanban\Models\KanbanCardMapper;
|
use Modules\Kanban\Models\KanbanCardMapper;
|
||||||
use Modules\Kanban\Models\KanbanColumn;
|
use Modules\Kanban\Models\KanbanColumn;
|
||||||
use Modules\Kanban\Models\KanbanColumnMapper;
|
|
||||||
|
|
||||||
|
use Modules\Kanban\Models\KanbanColumnMapper;
|
||||||
use phpOMS\Message\NotificationLevel;
|
use phpOMS\Message\NotificationLevel;
|
||||||
use phpOMS\Message\RequestAbstract;
|
use phpOMS\Message\RequestAbstract;
|
||||||
use phpOMS\Message\ResponseAbstract;
|
use phpOMS\Message\ResponseAbstract;
|
||||||
|
|
@ -89,7 +90,7 @@ final class ApiController extends Controller
|
||||||
$card->setRef((int) ($request->getData('ref') ?? 0));
|
$card->setRef((int) ($request->getData('ref') ?? 0));
|
||||||
$card->setStatus((int) ($request->getData('status') ?? CardStatus::ACTIVE));
|
$card->setStatus((int) ($request->getData('status') ?? CardStatus::ACTIVE));
|
||||||
$card->setType((int) ($request->getData('type') ?? CardType::TEXT));
|
$card->setType((int) ($request->getData('type') ?? CardType::TEXT));
|
||||||
$card->setCreatedBy($request->getHeader()->getAccount());
|
$card->setCreatedBy(new NullAccount($request->getHeader()->getAccount()));
|
||||||
|
|
||||||
return $card;
|
return $card;
|
||||||
}
|
}
|
||||||
|
|
@ -165,7 +166,7 @@ final class ApiController extends Controller
|
||||||
$board->setDescription((string) ($request->getData('plain') ?? ''));
|
$board->setDescription((string) ($request->getData('plain') ?? ''));
|
||||||
$board->setOrder((int) ($request->getData('order') ?? 1));
|
$board->setOrder((int) ($request->getData('order') ?? 1));
|
||||||
$board->setStatus((int) ($request->getData('status') ?? BoardStatus::ACTIVE));
|
$board->setStatus((int) ($request->getData('status') ?? BoardStatus::ACTIVE));
|
||||||
$board->setCreatedBy($request->getHeader()->getAccount());
|
$board->setCreatedBy(new NullAccount($request->getHeader()->getAccount()));
|
||||||
|
|
||||||
return $board;
|
return $board;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,9 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace Modules\Kanban\Models;
|
namespace Modules\Kanban\Models;
|
||||||
|
|
||||||
|
use Modules\Admin\Models\Account;
|
||||||
|
use Modules\Admin\Models\NullAccount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Task class.
|
* Task class.
|
||||||
*
|
*
|
||||||
|
|
@ -51,11 +54,11 @@ class KanbanBoard implements \JsonSerializable
|
||||||
*/
|
*/
|
||||||
private string $description = '';
|
private string $description = '';
|
||||||
|
|
||||||
private $createdBy = 0;
|
private Account $createdBy;
|
||||||
|
|
||||||
private $createdAt = null;
|
private \DateTime $createdAt;
|
||||||
|
|
||||||
private $columns = [];
|
private array $columns = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
|
|
@ -65,6 +68,7 @@ class KanbanBoard implements \JsonSerializable
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->createdAt = new \DateTime('now');
|
$this->createdAt = new \DateTime('now');
|
||||||
|
$this->createdBy = new NullAccount();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -186,11 +190,11 @@ class KanbanBoard implements \JsonSerializable
|
||||||
/**
|
/**
|
||||||
* Get created by
|
* Get created by
|
||||||
*
|
*
|
||||||
* @return int|\phpOMS\Account\Account
|
* @return Account
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public function getCreatedBy()
|
public function getCreatedBy() : Account
|
||||||
{
|
{
|
||||||
return $this->createdBy;
|
return $this->createdBy;
|
||||||
}
|
}
|
||||||
|
|
@ -198,15 +202,15 @@ class KanbanBoard implements \JsonSerializable
|
||||||
/**
|
/**
|
||||||
* Set created by
|
* Set created by
|
||||||
*
|
*
|
||||||
* @param mixed $id Created by
|
* @param Account $account Created by
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public function setCreatedBy($id) : void
|
public function setCreatedBy(Account $account) : void
|
||||||
{
|
{
|
||||||
$this->createdBy = $id;
|
$this->createdBy = $account;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ final class KanbanBoardMapper extends DataMapperAbstract
|
||||||
'kanban_board_desc' => ['name' => 'kanban_board_desc', 'type' => 'string', 'internal' => 'description'],
|
'kanban_board_desc' => ['name' => 'kanban_board_desc', 'type' => 'string', 'internal' => 'description'],
|
||||||
'kanban_board_status' => ['name' => 'kanban_board_status', 'type' => 'int', 'internal' => 'status'],
|
'kanban_board_status' => ['name' => 'kanban_board_status', 'type' => 'int', 'internal' => 'status'],
|
||||||
'kanban_board_order' => ['name' => 'kanban_board_order', 'type' => 'int', 'internal' => 'order'],
|
'kanban_board_order' => ['name' => 'kanban_board_order', 'type' => 'int', 'internal' => 'order'],
|
||||||
'kanban_board_created_by' => ['name' => 'kanban_board_created_by', 'type' => 'int', 'internal' => 'createdBy'],
|
'kanban_board_created_by' => ['name' => 'kanban_board_created_by', 'type' => 'int', 'internal' => 'createdBy', 'readonly' => true],
|
||||||
'kanban_board_created_at' => ['name' => 'kanban_board_created_at', 'type' => 'DateTime', 'internal' => 'createdAt', 'readonly' => true],
|
'kanban_board_created_at' => ['name' => 'kanban_board_created_at', 'type' => 'DateTime', 'internal' => 'createdAt', 'readonly' => true],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,8 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace Modules\Kanban\Models;
|
namespace Modules\Kanban\Models;
|
||||||
|
|
||||||
|
use Modules\Admin\Models\Account;
|
||||||
|
use Modules\Admin\Models\NullAccount;
|
||||||
use Modules\Tasks\Models\Task;
|
use Modules\Tasks\Models\Task;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -59,15 +61,15 @@ class KanbanCard implements \JsonSerializable
|
||||||
|
|
||||||
private $ref = 0;
|
private $ref = 0;
|
||||||
|
|
||||||
private $createdBy = 0;
|
private Account $createdBy;
|
||||||
|
|
||||||
private $createdAt = null;
|
private \DateTime $createdAt;
|
||||||
|
|
||||||
private $comments = [];
|
private array $comments = [];
|
||||||
|
|
||||||
private $labels = [];
|
private array $labels = [];
|
||||||
|
|
||||||
private $media = [];
|
private array $media = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
|
|
@ -77,6 +79,7 @@ class KanbanCard implements \JsonSerializable
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->createdAt = new \DateTime('now');
|
$this->createdAt = new \DateTime('now');
|
||||||
|
$this->createdBy = new NullAccount();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -276,11 +279,11 @@ class KanbanCard implements \JsonSerializable
|
||||||
/**
|
/**
|
||||||
* Get created by
|
* Get created by
|
||||||
*
|
*
|
||||||
* @return int|\phpOMS\Account\Account
|
* @return Account
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public function getCreatedBy()
|
public function getCreatedBy() : Account
|
||||||
{
|
{
|
||||||
return $this->createdBy;
|
return $this->createdBy;
|
||||||
}
|
}
|
||||||
|
|
@ -288,15 +291,15 @@ class KanbanCard implements \JsonSerializable
|
||||||
/**
|
/**
|
||||||
* Set created by
|
* Set created by
|
||||||
*
|
*
|
||||||
* @param mixed $id Created by
|
* @param Account $account Created by
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public function setCreatedBy($id) : void
|
public function setCreatedBy(Account $account) : void
|
||||||
{
|
{
|
||||||
$this->createdBy = $id;
|
$this->createdBy = $account;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,9 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace Modules\Kanban\Models;
|
namespace Modules\Kanban\Models;
|
||||||
|
|
||||||
|
use Modules\Admin\Models\Account;
|
||||||
|
use Modules\Admin\Models\NullAccount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Task class.
|
* Task class.
|
||||||
*
|
*
|
||||||
|
|
@ -41,11 +44,11 @@ class KanbanCardComment implements \JsonSerializable
|
||||||
|
|
||||||
private $card = 0;
|
private $card = 0;
|
||||||
|
|
||||||
private $createdBy = 0;
|
private Account $createdBy;
|
||||||
|
|
||||||
private $createdAt = null;
|
private \DateTime $createdAt;
|
||||||
|
|
||||||
private $media = [];
|
private array $media = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
|
|
@ -55,6 +58,7 @@ class KanbanCardComment implements \JsonSerializable
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->createdAt = new \DateTime('now');
|
$this->createdAt = new \DateTime('now');
|
||||||
|
$this->createdBy = new NullAccount();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -124,11 +128,11 @@ class KanbanCardComment implements \JsonSerializable
|
||||||
/**
|
/**
|
||||||
* Get created by
|
* Get created by
|
||||||
*
|
*
|
||||||
* @return int|\phpOMS\Account\Account
|
* @return Account
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public function getCreatedBy() : int
|
public function getCreatedBy() : Account
|
||||||
{
|
{
|
||||||
return $this->createdBy;
|
return $this->createdBy;
|
||||||
}
|
}
|
||||||
|
|
@ -136,15 +140,15 @@ class KanbanCardComment implements \JsonSerializable
|
||||||
/**
|
/**
|
||||||
* Set created by
|
* Set created by
|
||||||
*
|
*
|
||||||
* @param mixed $id Created by
|
* @param Account $account Created by
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public function setCreatedBy($id) : void
|
public function setCreatedBy(Account $account) : void
|
||||||
{
|
{
|
||||||
$this->createdBy = $id;
|
$this->createdBy = $account;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace Modules\Kanban\Models;
|
namespace Modules\Kanban\Models;
|
||||||
|
|
||||||
|
use Modules\Admin\Models\AccountMapper;
|
||||||
use Modules\Media\Models\MediaMapper;
|
use Modules\Media\Models\MediaMapper;
|
||||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||||
|
|
||||||
|
|
@ -38,7 +39,7 @@ final class KanbanCardCommentMapper extends DataMapperAbstract
|
||||||
'kanban_card_comment_description' => ['name' => 'kanban_card_comment_description', 'type' => 'string', 'internal' => 'description'],
|
'kanban_card_comment_description' => ['name' => 'kanban_card_comment_description', 'type' => 'string', 'internal' => 'description'],
|
||||||
'kanban_card_comment_card' => ['name' => 'kanban_card_comment_card', 'type' => 'int', 'internal' => 'card'],
|
'kanban_card_comment_card' => ['name' => 'kanban_card_comment_card', 'type' => 'int', 'internal' => 'card'],
|
||||||
'kanban_card_comment_created_at' => ['name' => 'kanban_card_comment_created_at', 'type' => 'DateTime', 'internal' => 'createdAt', 'readonly' => true],
|
'kanban_card_comment_created_at' => ['name' => 'kanban_card_comment_created_at', 'type' => 'DateTime', 'internal' => 'createdAt', 'readonly' => true],
|
||||||
'kanban_card_comment_created_by' => ['name' => 'kanban_card_comment_created_by', 'type' => 'int', 'internal' => 'createdBy'],
|
'kanban_card_comment_created_by' => ['name' => 'kanban_card_comment_created_by', 'type' => 'int', 'internal' => 'createdBy', 'readonly' => true],
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -56,6 +57,19 @@ final class KanbanCardCommentMapper extends DataMapperAbstract
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Belongs to.
|
||||||
|
*
|
||||||
|
* @var array<string, array{mapper:string, self:string}>
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
protected static array $belongsTo = [
|
||||||
|
'createdBy' => [
|
||||||
|
'mapper' => AccountMapper::class,
|
||||||
|
'self' => 'kanban_card_comment_created_by',
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Primary table.
|
* Primary table.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ final class KanbanCardMapper extends DataMapperAbstract
|
||||||
'kanban_card_ref' => ['name' => 'kanban_card_ref', 'type' => 'int', 'internal' => 'ref'],
|
'kanban_card_ref' => ['name' => 'kanban_card_ref', 'type' => 'int', 'internal' => 'ref'],
|
||||||
'kanban_card_column' => ['name' => 'kanban_card_column', 'type' => 'int', 'internal' => 'column'],
|
'kanban_card_column' => ['name' => 'kanban_card_column', 'type' => 'int', 'internal' => 'column'],
|
||||||
'kanban_card_created_at' => ['name' => 'kanban_card_created_at', 'type' => 'DateTime', 'internal' => 'createdAt', 'readonly' => true],
|
'kanban_card_created_at' => ['name' => 'kanban_card_created_at', 'type' => 'DateTime', 'internal' => 'createdAt', 'readonly' => true],
|
||||||
'kanban_card_created_by' => ['name' => 'kanban_card_created_by', 'type' => 'int', 'internal' => 'createdBy'],
|
'kanban_card_created_by' => ['name' => 'kanban_card_created_by', 'type' => 'int', 'internal' => 'createdBy', 'readonly' => true],
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user