Merge branch 'develop' of https://github.com/Karaka-Management/oms-Tag into develop

This commit is contained in:
Dennis Eichhorn 2023-05-30 13:59:08 +00:00
commit c97c780a1f
7 changed files with 27 additions and 45 deletions

View File

@ -116,14 +116,14 @@ final class ApiController extends Controller
public function apiTagCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{
if (!empty($val = $this->validateTagCreate($request))) {
$response->set('tag_create', new FormValidation($val));
$response->data['tag_create'] = new FormValidation($val);
$response->header->status = RequestStatusCode::R_400;
return;
}
$tag = $this->createTagFromRequest($request);
$tag->setL11n($request->getDataString('title') ?? '', $request->getDataString('language') ?? $request->getLanguage());
$tag->setL11n($request->getDataString('title') ?? '', $request->getDataString('language') ?? $request->header->l11n->language);
$this->createModel($request->header->account, $tag, TagMapper::class, 'tag', $request->getOrigin());
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Tag', 'Tag successfully created', $tag);
@ -166,7 +166,7 @@ final class ApiController extends Controller
public function apiTagL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{
if (!empty($val = $this->validateTagL11nCreate($request))) {
$response->set('tag_l11n_create', new FormValidation($val));
$response->data['tag_l11n_create'] = new FormValidation($val);
$response->header->status = RequestStatusCode::R_400;
return;
@ -210,7 +210,7 @@ final class ApiController extends Controller
$tagL11n = new BaseStringL11n();
$tagL11n->ref = $request->getDataInt('tag') ?? 0;
$tagL11n->setLanguage(
$request->getDataString('language') ?? $request->getLanguage()
$request->getDataString('language') ?? $request->header->l11n->language
);
$tagL11n->content = $request->getDataString('title') ?? '';
@ -276,7 +276,7 @@ final class ApiController extends Controller
/** @var \Modules\Tag\Models\Tag[] $tags */
$tags = TagMapper::getAll()
->with('title')
->where('title/language', $request->getLanguage())
->where('title/language', $request->header->l11n->language)
->where('title/content', '%' . ($request->getDataString('search') ?? '') . '%', 'LIKE')
->execute();

View File

@ -49,7 +49,7 @@ final class BackendController extends Controller
$view = new View($this->app->l11nManager, $request, $response);
$view->setTemplate('/Modules/Tag/Theme/Backend/tag-create');
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1007501001, $request, $response));
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1007501001, $request, $response);
return $view;
}
@ -71,35 +71,29 @@ final class BackendController extends Controller
$view = new View($this->app->l11nManager, $request, $response);
$view->setTemplate('/Modules/Tag/Theme/Backend/tag-list');
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1007501001, $request, $response));
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1007501001, $request, $response);
if ($request->getData('ptype') === 'p') {
$view->setData('tags',
TagMapper::getAll()
$view->data['tags'] = TagMapper::getAll()
->with('title')
->where('id', $request->getDataInt('id') ?? 0, '<')
->where('title/language', $request->getLanguage())
->where('title/language', $request->header->l11n->language)
->limit(25)
->execute()
);
->execute();
} elseif ($request->getData('ptype') === 'n') {
$view->setData('tags',
TagMapper::getAll()
$view->data['tags'] = TagMapper::getAll()
->with('title')
->where('id', $request->getDataInt('id') ?? 0, '>')
->where('title/language', $request->getLanguage())
->where('title/language', $request->header->l11n->language)
->limit(25)
->execute()
);
->execute();
} else {
$view->setData('tags',
TagMapper::getAll()
$view->data['tags'] = TagMapper::getAll()
->with('title')
->where('id', 0, '>')
->where('title/language', $request->getLanguage())
->where('title/language', $request->header->l11n->language)
->limit(25)
->execute()
);
->execute();
}
return $view;
@ -125,19 +119,19 @@ final class BackendController extends Controller
$tag = TagMapper::get()
->with('title')
->where('id', (int) $request->getData('id'))
->where('title/language', $response->getLanguage())
->where('title/language', $response->header->l11n->language)
->execute();
$view->setTemplate('/Modules/Tag/Theme/Backend/tag-single');
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1007501001, $request, $response));
$view->addData('tag', $tag);
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1007501001, $request, $response);
$view->data['tag'] = $tag;
/** @var \phpOMS\Localization\BaseStringL11n[] $l11n */
$l11n = TagL11nMapper::getAll()
->where('ref', $tag->id)
->execute();
$view->addData('l11n', $l11n);
$view->data['l11n'] = $l11n;
return $view;
}

View File

@ -102,18 +102,6 @@ class Tag implements \JsonSerializable
$this->type = $type;
}
/**
* Get id
*
* @return int
*
* @since 1.0.0
*/
public function getId() : int
{
return $this->id;
}
/**
* @return string
*

View File

@ -15,7 +15,7 @@ declare(strict_types=1);
use phpOMS\Uri\UriFactory;
/** @var \phpOMS\Views\View $this */
echo $this->getData('nav')->render(); ?>
echo $this->data['nav']->render(); ?>
<div class="row">
<div class="col-xs-12 col-md-6">
<div class="portlet">

View File

@ -18,12 +18,12 @@ use phpOMS\Uri\UriFactory;
* @var \phpOMS\Views\View $this
* @var \Modules\Tag\Models\Tag[] $tags
*/
$tags = $this->getData('tags');
$tags = $this->data['tags'];
$previous = empty($tags) ? '{/base}/tag/list' : '{/base}/tag/list?{?}&id=' . \reset($tags)->id . '&ptype=p';
$next = empty($tags) ? '{/base}/tag/list' : '{/base}/tag/list?{?}&id=' . \end($tags)->id . '&ptype=n';
echo $this->getData('nav')->render(); ?>
echo $this->data['nav']->render(); ?>
<div class="row">
<div class="col-xs-12">
<div class="portlet">

View File

@ -16,11 +16,11 @@ use phpOMS\Localization\ISO639Enum;
use phpOMS\Uri\UriFactory;
/** @var \Modules\Tag\Models\Tag */
$tag = $this->getData('tag');
$l11n = $this->getData('l11n') ?? [];
$tag = $this->data['tag'];
$l11n = $this->data['l11n'] ?? [];
/** @var \phpOMS\Views\View $this */
echo $this->getData('nav')->render(); ?>
echo $this->data['nav']->render(); ?>
<div class="row">
<div class="col-xs-12 col-md-6">
<div class="portlet">

View File

@ -51,6 +51,6 @@ final class TagL11nMapperTest extends \PHPUnit\Framework\TestCase
$l11nR = TagL11nMapper::get()->where('id', $l11n->id)->execute();
self::assertEquals($l11n->content, $l11nR->content);
self::assertEquals($l11n->getLanguage(), $l11nR->getLanguage());
self::assertEquals($l11n->language, $l11nR->getLanguage());
}
}