This commit is contained in:
Dennis Eichhorn 2024-04-12 00:52:07 +00:00
parent 2ad03a43a6
commit f5353aec2d
5 changed files with 28 additions and 26 deletions

View File

@ -5,7 +5,7 @@
"type": 2,
"subtype": 1,
"name": "QA",
"uri": "{/base}/qa/dashboard?{?}",
"uri": "{/base}/qa/dashboard",
"target": "self",
"icon": null,
"order": 50,
@ -19,7 +19,7 @@
"type": 3,
"subtype": 1,
"name": "QA",
"uri": "{/base}/qa/dashboard?{?}",
"uri": "{/base}/qa/dashboard",
"target": "self",
"icon": null,
"order": 1,
@ -34,7 +34,7 @@
"type": 3,
"subtype": 1,
"name": "Create",
"uri": "{/base}/qa/question/create?{?}",
"uri": "{/base}/qa/question/create",
"target": "self",
"icon": null,
"order": 5,
@ -49,7 +49,7 @@
"type": 3,
"subtype": 1,
"name": "Apps",
"uri": "{/base}/qa/app/list?{?}",
"uri": "{/base}/qa/app/list",
"target": "self",
"icon": null,
"order": 20,

View File

@ -54,7 +54,7 @@ return [
],
],
],
'^/qa/question(\?.*$|$)' => [
'^/qa/question/view(\?.*$|$)' => [
[
'dest' => '\Modules\QA\Controller\BackendController:viewQADoc',
'verb' => RouteVerb::GET,

View File

@ -189,17 +189,18 @@ final class ApiController extends Controller
$question->tags = $this->app->moduleManager->get('Tag', 'Api')->createTagsFromRequest($request);
}
if (!empty($uploadedFiles = $request->files)) {
// @todo implement subfolders
if (!empty($request->files)) {
$uploaded = $this->app->moduleManager->get('Media', 'Api')->uploadFiles(
[],
[],
$uploadedFiles,
$request->header->account,
__DIR__ . '/../../../Modules/Media/Files/Modules/QA',
'/Modules/QA',
names: [],
fileNames: [],
files: $request->files,
account: $request->header->account,
basePath: __DIR__ . '/../../../Modules/Media/Files/Modules/QA',
virtualPath: '/Modules/QA',
);
foreach ($uploaded as $media) {
foreach ($uploaded->sources as $media) {
$question->files[] = $media;
}
}
@ -287,14 +288,15 @@ final class ApiController extends Controller
$answer->status = QAAnswerStatus::tryFromValue($request->getDataInt('status')) ?? QAAnswerStatus::ACTIVE;
$answer->createdBy = new Profile(new NullAccount($request->header->account));
if (!empty($uploadedFiles = $request->files)) {
// @todo Implement subdirectories
if (!empty($request->files)) {
$uploaded = $this->app->moduleManager->get('Media', 'Api')->uploadFiles(
[],
[],
$uploadedFiles,
$request->header->account,
__DIR__ . '/../../../Modules/Media/Files/Modules/QA',
'/Modules/QA',
names: [],
fileNames: [],
files: $request->files,
account: $request->header->account,
basePath: __DIR__ . '/../../../Modules/Media/Files/Modules/QA',
virtualPath: '/Modules/QA',
);
foreach ($uploaded as $media) {

View File

@ -14,16 +14,16 @@ declare(strict_types=1);
use phpOMS\Uri\UriFactory;
/** @var \Modules\QA\Modles\QAQuestion[] $questions */
/** @var \Modules\QA\Modules\QAQuestion[] $questions */
$questions = $this->data['questions'];
/** @var \Modules\QA\Modles\QAApp[] $apps */
/** @var \Modules\QA\Modules\QAApp[] $apps */
$apps = $this->data['apps'];
echo $this->data['nav']->render(); ?>
<div class="row">
<div class="col-xs-12 box">
<div class="col-xs-12 col-md-4 box">
<select name="app">
<option value="0"><?= $this->getHtml('All'); ?>
<?php foreach ($apps as $app) : ?>
@ -50,7 +50,7 @@ echo $this->data['nav']->render(); ?>
</div>
</div>
<div class="title">
<a href="<?= UriFactory::build('{/base}/qa/question?{?}&id=' . $question->id); ?>"><?= $this->printHtml($question->name); ?></a>
<a href="<?= UriFactory::build('{/base}/qa/question/view?{?}&id=' . $question->id); ?>"><?= $this->printHtml($question->name); ?></a>
</div>
</div>
</div>
@ -59,7 +59,7 @@ echo $this->data['nav']->render(); ?>
<?php foreach ($question->tags as $tag) :
if ($tag->id === 0) { continue; }
?>
<span class="tag">
<span class="tag" style="background: <?= $this->printHtml($tag->color); ?>">
<?= empty($tag->icon) ? '' : '<i class="g-icon">' . $this->printHtml($tag->icon) . '</i>'; ?>
<?= $this->printHtml($tag->getL11n()); ?>
</span>

View File

@ -82,7 +82,7 @@ echo $this->data['nav']->render();
foreach ($question->tags as $tag) :
if ($tag->id === 0) { continue; }
?>
<span class="tag">
<span class="tag" style="background: <?= $this->printHtml($tag->color); ?>">
<?= empty($tag->icon) ? '' : '<i class="g-icon">' . $this->printHtml($tag->icon) . '</i>'; ?>
<?= $this->printHtml($tag->getL11n()); ?>
</span>