mirror of
https://github.com/Karaka-Management/oms-Knowledgebase.git
synced 2026-01-17 20:28:39 +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\Tag\Models\NullTag;
|
||||
use Modules\Tag\Models\Tag;
|
||||
use phpOMS\Message\Http\HttpResponse;
|
||||
use phpOMS\Message\NotificationLevel;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
use phpOMS\Message\ResponseAbstract;
|
||||
|
|
@ -63,7 +64,7 @@ final class ApiController extends Controller
|
|||
return;
|
||||
}
|
||||
|
||||
$doc = $this->createWikiDocFromRequest($request);
|
||||
$doc = $this->createWikiDocFromRequest($request, $response, $data);
|
||||
$this->createModel($request->getHeader()->getAccount(), $doc, WikiDocMapper::class, '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
|
||||
*/
|
||||
public function createWikiDocFromRequest(RequestAbstract $request) : WikiDoc
|
||||
public function createWikiDocFromRequest(RequestAbstract $request, ResponseAbstract $response, $data = null) : WikiDoc
|
||||
{
|
||||
$doc = new WikiDoc();
|
||||
$doc->setName((string) $request->getData('title'));
|
||||
|
|
@ -89,11 +90,14 @@ final class ApiController extends Controller
|
|||
|
||||
if (!empty($tags = $request->getDataJson('tags'))) {
|
||||
foreach ($tags as $tag) {
|
||||
if (!\is_numeric($tag['id'])) {
|
||||
$tagObj = new Tag();
|
||||
$tagObj->setTitle($tag['id']);
|
||||
$tagObj->setColor($tag['color']);
|
||||
$doc->addTag($tagObj);
|
||||
if (!isset($tag['id'])) {
|
||||
$request->setData('title', $tag['title'], true);
|
||||
$request->setData('color', $tag['color'], true);
|
||||
$request->setData('language', $tag['language'], true);
|
||||
|
||||
$internalResponse = new HttpResponse();
|
||||
$this->app->moduleManager->get('Tag')->apiTagCreate($request, $internalResponse, $data);
|
||||
$doc->addTag($internalResponse->get($request->getUri()->__toString())['response']);
|
||||
} else {
|
||||
$doc->addTag(new NullTag((int) $tag['id']));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ use Modules\Knowledgebase\Models\WikiDocMapper;
|
|||
use phpOMS\Account\PermissionType;
|
||||
use phpOMS\Asset\AssetType;
|
||||
use phpOMS\Contract\RenderableInterface;
|
||||
use phpOMS\Localization\ISO639x1Enum;
|
||||
use phpOMS\Message\Http\RequestStatusCode;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
use phpOMS\Message\ResponseAbstract;
|
||||
|
|
@ -84,7 +85,7 @@ final class BackendController extends Controller
|
|||
$categories = WikiCategoryMapper::getAll();
|
||||
$view->setData('categories', $categories);
|
||||
|
||||
$documents = WikiDocMapper::getNewest(50);
|
||||
$documents = WikiDocMapper::withConditional('language', $response->getHeader()->getL11n()->getLanguage())::getNewest(50);
|
||||
$view->setData('docs', $documents);
|
||||
|
||||
return $view;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user