bug and media fixes

This commit is contained in:
Dennis Eichhorn 2021-10-29 14:49:55 +02:00
parent 60f74e0470
commit a3bdbe8e12
8 changed files with 41 additions and 42 deletions

View File

@ -181,12 +181,13 @@ final class ApiController extends Controller
$comment->title = (string) ($request->getData('title') ?? ''); $comment->title = (string) ($request->getData('title') ?? '');
$comment->contentRaw = (string) ($request->getData('plain') ?? ''); $comment->contentRaw = (string) ($request->getData('plain') ?? '');
$comment->content = Markdown::parse((string) ($request->getData('plain') ?? '')); $comment->content = Markdown::parse((string) ($request->getData('plain') ?? ''));
$comment->ref = $request->getData('ref') !== null ? (int) $request->getData('ref') : null; $comment->ref = $request->getData('ref') !== null ? (int) $request->getData('ref') : null;
$comment->list = (int) ($request->getData('list') ?? 0); $comment->list = (int) ($request->getData('list') ?? 0);
if (!empty($uploadedFiles = $request->getFiles() ?? [])) { if (!empty($uploadedFiles = $request->getFiles() ?? [])) {
$uploaded = $this->app->moduleManager->get('Media')->uploadFiles( $uploaded = $this->app->moduleManager->get('Media')->uploadFiles(
[''], [],
[],
$uploadedFiles, $uploadedFiles,
$request->header->account, $request->header->account,
__DIR__ . '/../../../Modules/Media/Files/Modules/Comments', __DIR__ . '/../../../Modules/Media/Files/Modules/Comments',
@ -239,11 +240,11 @@ final class ApiController extends Controller
*/ */
private function updateCommentFromRequest(RequestAbstract $request) : Comment private function updateCommentFromRequest(RequestAbstract $request) : Comment
{ {
$comment = CommentMapper::get((int) $request->getData('id')); $comment = CommentMapper::get((int) $request->getData('id'));
$comment->title = $request->getData('title') ?? $comment->getTitle(); $comment->title = $request->getData('title') ?? $comment->getTitle();
$comment->contentRaw = $request->getData('plain') ?? $comment->getContentRaw(); $comment->contentRaw = $request->getData('plain') ?? $comment->getContentRaw();
$comment->content = Markdown::parse((string) ($request->getData('plain') ?? $comment->getPlain())); $comment->content = Markdown::parse((string) ($request->getData('plain') ?? $comment->getPlain()));
$comment->ref = $request->getData('ref') ?? $comment->ref; $comment->ref = $request->getData('ref') ?? $comment->ref;
return $comment; return $comment;
} }

View File

@ -157,19 +157,18 @@ class Comment
return $this->status; return $this->status;
} }
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function jsonSerialize() : array public function jsonSerialize() : array
{ {
return [ return [
'id' => $this->id, 'id' => $this->id,
'title' => $this->title, 'title' => $this->title,
'content' => $this->content, 'content' => $this->content,
'list' => $this->list, 'list' => $this->list,
'ref' => $this->ref, 'ref' => $this->ref,
'status' => $this->status, 'status' => $this->status,
'createdAt' => $this->createdAt, 'createdAt' => $this->createdAt,
'createdBy' => $this->createdBy, 'createdBy' => $this->createdBy,
]; ];

View File

@ -15,7 +15,6 @@ declare(strict_types=1);
namespace Modules\Comments\Models; namespace Modules\Comments\Models;
use Modules\Admin\Models\Account; use Modules\Admin\Models\Account;
use Modules\Admin\Models\NullAccount;
/** /**
* Comment vote class. * Comment vote class.

View File

@ -392,4 +392,4 @@ function phpServe() : void
}); });
} }
phpServe(); \phpServe();

View File

@ -16,22 +16,22 @@ namespace Modules\Comments\tests\Controller;
use Model\CoreSettings; use Model\CoreSettings;
use Modules\Admin\Models\AccountPermission; use Modules\Admin\Models\AccountPermission;
use phpOMS\DataStorage\Session\HttpSession;
use phpOMS\Account\Account; use phpOMS\Account\Account;
use phpOMS\Account\AccountManager; use phpOMS\Account\AccountManager;
use phpOMS\Account\PermissionType; use phpOMS\Account\PermissionType;
use phpOMS\Application\ApplicationAbstract; use phpOMS\Application\ApplicationAbstract;
use phpOMS\DataStorage\Session\HttpSession;
use phpOMS\Dispatcher\Dispatcher; use phpOMS\Dispatcher\Dispatcher;
use phpOMS\Event\EventManager; use phpOMS\Event\EventManager;
use phpOMS\Module\ModuleAbstract;
use phpOMS\Module\ModuleManager;
use phpOMS\Router\WebRouter;
use phpOMS\Utils\TestUtils;
use phpOMS\Message\Http\HttpRequest; use phpOMS\Message\Http\HttpRequest;
use phpOMS\Message\Http\HttpResponse; use phpOMS\Message\Http\HttpResponse;
use phpOMS\Message\Http\RequestStatusCode; use phpOMS\Message\Http\RequestStatusCode;
use phpOMS\Uri\HttpUri; use phpOMS\Module\ModuleAbstract;
use phpOMS\Module\ModuleManager;
use phpOMS\Router\WebRouter;
use phpOMS\System\MimeType; use phpOMS\System\MimeType;
use phpOMS\Uri\HttpUri;
use phpOMS\Utils\TestUtils;
/** /**
* @testdox Modules\Comments\tests\Controller\ApiControllerTest: Comments api controller * @testdox Modules\Comments\tests\Controller\ApiControllerTest: Comments api controller

View File

@ -34,8 +34,8 @@ final class CommentMapperTest extends \PHPUnit\Framework\TestCase
$comment->createdBy = new NullAccount(1); $comment->createdBy = new NullAccount(1);
$comment->title = 'Test Title'; $comment->title = 'Test Title';
$comment->content = 'Test Content'; $comment->content = 'Test Content';
$comment->ref = null; $comment->ref = null;
$comment->list = new CommentList(); $comment->list = new CommentList();
$id = CommentMapper::create($comment); $id = CommentMapper::create($comment);
self::assertGreaterThan(0, $comment->getId()); self::assertGreaterThan(0, $comment->getId());

View File

@ -15,10 +15,10 @@ declare(strict_types=1);
namespace Modules\Comments\tests\Models; namespace Modules\Comments\tests\Models;
use Modules\Admin\Models\NullAccount; use Modules\Admin\Models\NullAccount;
use Modules\Media\Models\Media;
use Modules\Comments\Models\Comment; use Modules\Comments\Models\Comment;
use Modules\Comments\Models\CommentStatus; use Modules\Comments\Models\CommentStatus;
use Modules\Comments\Models\NullComment; use Modules\Comments\Models\NullComment;
use Modules\Media\Models\Media;
/** /**
* @internal * @internal
@ -132,10 +132,10 @@ final class CommentTest extends \PHPUnit\Framework\TestCase
*/ */
public function testSerialize() : void public function testSerialize() : void
{ {
$this->comment->title = 'Title'; $this->comment->title = 'Title';
$this->comment->content = 'Content'; $this->comment->content = 'Content';
$this->comment->list = 2; $this->comment->list = 2;
$this->comment->ref = 1; $this->comment->ref = 1;
$this->comment->createdBy = new NullAccount(2); $this->comment->createdBy = new NullAccount(2);
$serialized = $this->comment->jsonSerialize(); $serialized = $this->comment->jsonSerialize();
@ -144,12 +144,12 @@ final class CommentTest extends \PHPUnit\Framework\TestCase
self::assertEquals( self::assertEquals(
[ [
'id' => 0, 'id' => 0,
'title' => 'Title', 'title' => 'Title',
'content' => 'Content', 'content' => 'Content',
'list' => 2, 'list' => 2,
'ref' => 1, 'ref' => 1,
'status' => CommentStatus::VISIBLE, 'status' => CommentStatus::VISIBLE,
], ],
$serialized $serialized
); );

View File

@ -15,9 +15,9 @@ declare(strict_types=1);
namespace Modules\Comments\tests\Models; namespace Modules\Comments\tests\Models;
use Modules\Admin\Models\NullAccount; use Modules\Admin\Models\NullAccount;
use Modules\Comments\Models\Comment;
use Modules\Comments\Models\CommentList; use Modules\Comments\Models\CommentList;
use Modules\Comments\Models\CommentListMapper; use Modules\Comments\Models\CommentListMapper;
use Modules\Comments\Models\Comment;
use Modules\Comments\Models\CommentMapper; use Modules\Comments\Models\CommentMapper;
use Modules\Comments\Models\CommentVote; use Modules\Comments\Models\CommentVote;
use Modules\Comments\Models\CommentVoteMapper; use Modules\Comments\Models\CommentVoteMapper;
@ -34,18 +34,18 @@ final class CommentVoteMapperTest extends \PHPUnit\Framework\TestCase
public function testCR() : void public function testCR() : void
{ {
$list = new CommentList(); $list = new CommentList();
$lId = CommentListMapper::create($list); $lId = CommentListMapper::create($list);
$comment = new Comment(); $comment = new Comment();
$comment->title = 'TestComment'; $comment->title = 'TestComment';
$comment->createdBy = new NullAccount(1); $comment->createdBy = new NullAccount(1);
$comment->list = $lId; $comment->list = $lId;
$cId = CommentMapper::create($comment); $cId = CommentMapper::create($comment);
$vote = new CommentVote(); $vote = new CommentVote();
$vote->comment = $cId; $vote->comment = $cId;
$vote->score = 1; $vote->score = 1;
$vote->createdBy = 1; $vote->createdBy = 1;
CommentVoteMapper::create($vote); CommentVoteMapper::create($vote);