mirror of
https://github.com/Karaka-Management/oms-Knowledgebase.git
synced 2026-02-10 07:18:43 +00:00
Started implementing Orange-Management/Orange-Management#222 read is already working
This commit is contained in:
parent
34accbca98
commit
7131ec0411
|
|
@ -22,6 +22,7 @@ use Modules\Knowledgebase\Models\WikiDocMapper;
|
||||||
use Modules\Knowledgebase\Models\WikiStatus;
|
use Modules\Knowledgebase\Models\WikiStatus;
|
||||||
use Modules\Tag\Models\NullTag;
|
use Modules\Tag\Models\NullTag;
|
||||||
use Modules\Tag\Models\Tag;
|
use Modules\Tag\Models\Tag;
|
||||||
|
use phpOMS\Message\Http\HttpResponse;
|
||||||
use phpOMS\Message\NotificationLevel;
|
use phpOMS\Message\NotificationLevel;
|
||||||
use phpOMS\Message\RequestAbstract;
|
use phpOMS\Message\RequestAbstract;
|
||||||
use phpOMS\Message\ResponseAbstract;
|
use phpOMS\Message\ResponseAbstract;
|
||||||
|
|
@ -63,7 +64,7 @@ final class ApiController extends Controller
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$doc = $this->createWikiDocFromRequest($request);
|
$doc = $this->createWikiDocFromRequest($request, $response, $data);
|
||||||
$this->createModel($request->getHeader()->getAccount(), $doc, WikiDocMapper::class, 'doc');
|
$this->createModel($request->getHeader()->getAccount(), $doc, WikiDocMapper::class, 'doc');
|
||||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Wiki', 'Wiki successfully created.', $doc);
|
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Wiki', 'Wiki successfully created.', $doc);
|
||||||
}
|
}
|
||||||
|
|
@ -77,7 +78,7 @@ final class ApiController extends Controller
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public function createWikiDocFromRequest(RequestAbstract $request) : WikiDoc
|
public function createWikiDocFromRequest(RequestAbstract $request, ResponseAbstract $response, $data = null) : WikiDoc
|
||||||
{
|
{
|
||||||
$doc = new WikiDoc();
|
$doc = new WikiDoc();
|
||||||
$doc->setName((string) $request->getData('title'));
|
$doc->setName((string) $request->getData('title'));
|
||||||
|
|
@ -89,11 +90,14 @@ final class ApiController extends Controller
|
||||||
|
|
||||||
if (!empty($tags = $request->getDataJson('tags'))) {
|
if (!empty($tags = $request->getDataJson('tags'))) {
|
||||||
foreach ($tags as $tag) {
|
foreach ($tags as $tag) {
|
||||||
if (!\is_numeric($tag['id'])) {
|
if (!isset($tag['id'])) {
|
||||||
$tagObj = new Tag();
|
$request->setData('title', $tag['title'], true);
|
||||||
$tagObj->setTitle($tag['id']);
|
$request->setData('color', $tag['color'], true);
|
||||||
$tagObj->setColor($tag['color']);
|
$request->setData('language', $tag['language'], true);
|
||||||
$doc->addTag($tagObj);
|
|
||||||
|
$internalResponse = new HttpResponse();
|
||||||
|
$this->app->moduleManager->get('Tag')->apiTagCreate($request, $internalResponse, $data);
|
||||||
|
$doc->addTag($internalResponse->get($request->getUri()->__toString())['response']);
|
||||||
} else {
|
} else {
|
||||||
$doc->addTag(new NullTag((int) $tag['id']));
|
$doc->addTag(new NullTag((int) $tag['id']));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ use Modules\Knowledgebase\Models\WikiDocMapper;
|
||||||
use phpOMS\Account\PermissionType;
|
use phpOMS\Account\PermissionType;
|
||||||
use phpOMS\Asset\AssetType;
|
use phpOMS\Asset\AssetType;
|
||||||
use phpOMS\Contract\RenderableInterface;
|
use phpOMS\Contract\RenderableInterface;
|
||||||
|
use phpOMS\Localization\ISO639x1Enum;
|
||||||
use phpOMS\Message\Http\RequestStatusCode;
|
use phpOMS\Message\Http\RequestStatusCode;
|
||||||
use phpOMS\Message\RequestAbstract;
|
use phpOMS\Message\RequestAbstract;
|
||||||
use phpOMS\Message\ResponseAbstract;
|
use phpOMS\Message\ResponseAbstract;
|
||||||
|
|
@ -84,7 +85,7 @@ final class BackendController extends Controller
|
||||||
$categories = WikiCategoryMapper::getAll();
|
$categories = WikiCategoryMapper::getAll();
|
||||||
$view->setData('categories', $categories);
|
$view->setData('categories', $categories);
|
||||||
|
|
||||||
$documents = WikiDocMapper::getNewest(50);
|
$documents = WikiDocMapper::withConditional('language', $response->getHeader()->getL11n()->getLanguage())::getNewest(50);
|
||||||
$view->setData('docs', $documents);
|
$view->setData('docs', $documents);
|
||||||
|
|
||||||
return $view;
|
return $view;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user