diff --git a/Controller/ApiController.php b/Controller/ApiController.php
index 0ceb387..d12cb4d 100755
--- a/Controller/ApiController.php
+++ b/Controller/ApiController.php
@@ -24,6 +24,7 @@ use phpOMS\Message\NotificationLevel;
use phpOMS\Message\RequestAbstract;
use phpOMS\Message\ResponseAbstract;
use phpOMS\Model\Message\FormValidation;
+use Modules\Admin\Models\NullAccount;
/**
* Api controller for the dashboard module.
@@ -94,7 +95,7 @@ final class ApiController extends Controller
{
$board = new DashboardBoard();
$board->title = (string) ($request->getData('title') ?? '');
- $board->account = $request->header->account;
+ $board->account = new NullAccount($request->header->account);
$board->setStatus(DashboardBoardStatus::ACTIVE);
return $board;
diff --git a/Models/DashboardBoard.php b/Models/DashboardBoard.php
index c8bda1e..336ecc8 100755
--- a/Models/DashboardBoard.php
+++ b/Models/DashboardBoard.php
@@ -14,6 +14,8 @@ declare(strict_types=1);
namespace Modules\Dashboard\Models;
+use Modules\Admin\Models\Account;
+use Modules\Admin\Models\NullAccount;
use phpOMS\Stdlib\Base\Exception\InvalidEnumValue;
/**
@@ -45,10 +47,10 @@ class DashboardBoard implements \JsonSerializable
/**
* Account.
*
- * @var null|int
+ * @var Account
* @since 1.0.0
*/
- public ?int $account = null;
+ public Account $account;
/**
* Status.
@@ -66,6 +68,16 @@ class DashboardBoard implements \JsonSerializable
*/
protected array $components = [];
+ /**
+ * Cosntructor.
+ *
+ * @since 1.0.0
+ */
+ public function __construct()
+ {
+ $this->account = new NullAccount();
+ }
+
/**
* Get id
*
diff --git a/Theme/Backend/dashboard.tpl.php b/Theme/Backend/dashboard.tpl.php
index bc53579..ffe1a81 100755
--- a/Theme/Backend/dashboard.tpl.php
+++ b/Theme/Backend/dashboard.tpl.php
@@ -1,6 +1,9 @@
-getData('panels'); ?>
-
- = $panel->render(); ?>
-
+ getData('panels');
+ if (empty($panels)) : ?>
+
+
+ = $panel->render(); ?>
+
\ No newline at end of file
diff --git a/tests/Models/DashboardBoardTest.php b/tests/Models/DashboardBoardTest.php
index 50b8660..80238be 100644
--- a/tests/Models/DashboardBoardTest.php
+++ b/tests/Models/DashboardBoardTest.php
@@ -10,6 +10,7 @@
* @version 1.0.0
* @link https://orange-management.org
*/
+
declare(strict_types=1);
namespace Modules\Dashboard\tests\Models;
@@ -17,6 +18,7 @@ namespace Modules\Dashboard\tests\Models;
use Modules\Dashboard\Models\DashboardBoard;
use Modules\Dashboard\Models\DashboardBoardStatus;
use Modules\Dashboard\Models\DashboardComponent;
+use Modules\Admin\Models\NullAccount;
/**
* @internal
@@ -28,7 +30,7 @@ final class DashboardBoardTest extends \PHPUnit\Framework\TestCase
/**
* {@inheritdoc}
*/
- protected function setUp() : void
+ protected function setUp(): void
{
$this->board = new DashboardBoard();
}
@@ -37,13 +39,13 @@ final class DashboardBoardTest extends \PHPUnit\Framework\TestCase
* @covers Modules\Dashboard\Models\DashboardBoard
* @group module
*/
- public function testDefault() : void
+ public function testDefault(): void
{
self::assertEquals(0, $this->board->getId());
self::assertEquals('', $this->board->title);
- self::assertNull($this->board->account);
self::assertEquals([], $this->board->getComponents());
self::assertEquals(DashboardBoardStatus::ACTIVE, $this->board->getStatus());
+ self::assertInstanceOf('\Modules\Admin\Models\NullAccount', $this->board->account);
self::assertInstanceOf('\Modules\Dashboard\Models\NullDashboardComponent', $this->board->getComponent(0));
}
@@ -51,7 +53,7 @@ final class DashboardBoardTest extends \PHPUnit\Framework\TestCase
* @covers Modules\Dashboard\Models\DashboardBoard
* @group module
*/
- public function testStatusInputOutput() : void
+ public function testStatusInputOutput(): void
{
$this->board->setStatus(DashboardBoardStatus::INACTIVE);
self::assertEquals(DashboardBoardStatus::INACTIVE, $this->board->getStatus());
@@ -61,7 +63,7 @@ final class DashboardBoardTest extends \PHPUnit\Framework\TestCase
* @covers Modules\Dashboard\Models\DashboardBoard
* @group module
*/
- public function testInvalidStatus() : void
+ public function testInvalidStatus(): void
{
$this->expectException(\phpOMS\Stdlib\Base\Exception\InvalidEnumValue::class);
$this->board->setStatus(999);
@@ -71,7 +73,7 @@ final class DashboardBoardTest extends \PHPUnit\Framework\TestCase
* @covers Modules\Dashboard\Models\DashboardBoard
* @group module
*/
- public function testComponentInputOutput() : void
+ public function testComponentInputOutput(): void
{
$id = $this->board->addComponent($temp = new DashboardComponent());
self::assertEquals($temp, $this->board->getComponent($id));
@@ -84,16 +86,16 @@ final class DashboardBoardTest extends \PHPUnit\Framework\TestCase
* @covers Modules\Dashboard\Models\DashboardBoard
* @group module
*/
- public function testSerialize() : void
+ public function testSerialize(): void
{
$this->board->title = 'Title';
- $this->board->account = 2;
+ $this->board->account = new NullAccount(2);
$this->board->setStatus(DashboardBoardStatus::INACTIVE);
self::assertEquals(
[
'id' => 0,
- 'account' => 2,
+ 'account' => $this->board->account,
'title' => 'Title',
'status' => DashboardBoardStatus::INACTIVE,
'components' => [],