mirror of
https://github.com/Karaka-Management/oms-Knowledgebase.git
synced 2026-02-14 09:18:40 +00:00
basic tags drafted
This commit is contained in:
parent
b071eaac0d
commit
5b9ef62204
|
|
@ -102,5 +102,31 @@
|
||||||
"foreignKey": "wiki_app_id"
|
"foreignKey": "wiki_app_id"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wiki_tag": {
|
||||||
|
"name": "wiki_tag",
|
||||||
|
"fields": {
|
||||||
|
"wiki_tag_id": {
|
||||||
|
"name": "wiki_tag_id",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false,
|
||||||
|
"primary": true,
|
||||||
|
"autoincrement": true
|
||||||
|
},
|
||||||
|
"wiki_tag_dst": {
|
||||||
|
"name": "wiki_tag_dst",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false,
|
||||||
|
"foreignTable": "wiki_article",
|
||||||
|
"foreignKey": "wiki_article_id"
|
||||||
|
},
|
||||||
|
"wiki_tag_src": {
|
||||||
|
"name": "wiki_tag_src",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false,
|
||||||
|
"foreignTable": "tag",
|
||||||
|
"foreignKey": "tag_id"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -19,6 +19,7 @@ use Modules\Knowledgebase\Models\WikiCategoryMapper;
|
||||||
use Modules\Knowledgebase\Models\WikiDoc;
|
use Modules\Knowledgebase\Models\WikiDoc;
|
||||||
use Modules\Knowledgebase\Models\WikiDocMapper;
|
use Modules\Knowledgebase\Models\WikiDocMapper;
|
||||||
use Modules\Knowledgebase\Models\WikiStatus;
|
use Modules\Knowledgebase\Models\WikiStatus;
|
||||||
|
use Modules\Tag\Models\Tag;
|
||||||
use phpOMS\Message\NotificationLevel;
|
use phpOMS\Message\NotificationLevel;
|
||||||
use phpOMS\Message\RequestAbstract;
|
use phpOMS\Message\RequestAbstract;
|
||||||
use phpOMS\Message\ResponseAbstract;
|
use phpOMS\Message\ResponseAbstract;
|
||||||
|
|
@ -84,8 +85,17 @@ final class ApiController extends Controller
|
||||||
$doc->setLanguage((string) ($request->getData('language') ?? $request->getHeader()->getL11n()->getLanguage()));
|
$doc->setLanguage((string) ($request->getData('language') ?? $request->getHeader()->getL11n()->getLanguage()));
|
||||||
$doc->setStatus((int) ($request->getData('status') ?? WikiStatus::INACTIVE));
|
$doc->setStatus((int) ($request->getData('status') ?? WikiStatus::INACTIVE));
|
||||||
|
|
||||||
if ($request->getData('tags') !== null) {
|
if (!empty($tags = $request->getDataJson('tags'))) {
|
||||||
$doc->addTag((int) $request->getData('tags'));
|
foreach ($tags as $tag) {
|
||||||
|
if (!\is_numeric($tag['id'])) {
|
||||||
|
$tagObj = new Tag();
|
||||||
|
$tagObj->setTitle($tag['id']);
|
||||||
|
$tagObj->setColor($tag['color']);
|
||||||
|
$doc->addTag($tagObj);
|
||||||
|
} else {
|
||||||
|
$doc->addTag((int) $tag['id']);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $doc;
|
return $doc;
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace Modules\Knowledgebase\Models;
|
namespace Modules\Knowledgebase\Models;
|
||||||
|
|
||||||
|
use Modules\Tag\Models\TagMapper;
|
||||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -45,18 +46,17 @@ final class WikiDocMapper extends DataMapperAbstract
|
||||||
/**
|
/**
|
||||||
* Has many relation.
|
* Has many relation.
|
||||||
*
|
*
|
||||||
* @var array<string, array<string, null|string>>
|
* @var array<string, array{mapper:string, table:string, self?:?string, external?:?string}>
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
/*
|
|
||||||
protected static array $hasMany = [
|
protected static array $hasMany = [
|
||||||
'badges' => [
|
'tags' => [
|
||||||
'mapper' => BadgeMapper::class,
|
'mapper' => TagMapper::class,
|
||||||
'table' => 'wiki_article_badge',
|
'table' => 'wiki_tag',
|
||||||
'self' => 'wiki_article_badge_badge',
|
'self' => 'wiki_tag_src',
|
||||||
'external' => 'wiki_article_badge_article',
|
'external' => 'wiki_tag_dst',
|
||||||
],
|
],
|
||||||
];*/
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Has owns one relation.
|
* Has owns one relation.
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,9 @@ echo $this->getData('nav')->render(); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="portlet-foot">
|
<div class="portlet-foot">
|
||||||
<div class="overflowfix">
|
<div class="overflowfix">
|
||||||
<span class="tag">Test Tag</span>
|
<?php $tags = $doc->getTags(); foreach ($tags as $tag) : ?>
|
||||||
|
<span class="tag" style="background: <?= $this->printHtml($tag->getColor()); ?>"><?= $this->printHtml($tag->getTitle()); ?></span>
|
||||||
|
<?php endforeach; ?>
|
||||||
<a href="<?= $url; ?>" class="button floatRight">More</a>
|
<a href="<?= $url; ?>" class="button floatRight">More</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ use Modules\Knowledgebase\Models\NullWikiDoc;
|
||||||
*/
|
*/
|
||||||
$categories = $this->getData('categories') ?? [];
|
$categories = $this->getData('categories') ?? [];
|
||||||
$doc = $this->getData('document') ?? new NullWikiDoc();
|
$doc = $this->getData('document') ?? new NullWikiDoc();
|
||||||
|
$tags = $doc->getTags();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \phpOMS\Views\View $this
|
* @var \phpOMS\Views\View $this
|
||||||
|
|
@ -31,12 +32,14 @@ echo $this->getData('nav')->render();
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-12 col-md-8 col-lg-9">
|
<div class="col-xs-12 col-md-8 col-lg-9">
|
||||||
<div class="portlet">
|
<div class="portlet">
|
||||||
<div class="portlet-head"><a href="<?= $url; ?>"><?= $this->printHtml($doc->getName()); ?></a></div>
|
<div class="portlet-head"><?= $this->printHtml($doc->getName()); ?></div>
|
||||||
<div class="portlet-body">
|
<div class="portlet-body">
|
||||||
<article><?= $doc->getDoc(); ?></article>
|
<article><?= $doc->getDoc(); ?></article>
|
||||||
</div>
|
</div>
|
||||||
<div class="portlet-foot">
|
<div class="portlet-foot">
|
||||||
<span class="tag">FiBu v7.124.52334</span>
|
<?php foreach ($tags as $tag) : ?>
|
||||||
|
<span class="tag" style="background: <?= $this->printHtml($tag->getColor()); ?>"><?= $this->printHtml($tag->getTitle()); ?></span>
|
||||||
|
<?php endforeach; ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user