settings for tag
This commit is contained in:
parent
0ed97877fd
commit
b981ff0c44
@ -51,11 +51,11 @@ class PhotoModule extends Module
|
||||
{
|
||||
if (isset($model->id)) {
|
||||
$value = PhotoService::getByEntity($entity, $model->id);
|
||||
echo Html::img($value, ['width' => '200px']);
|
||||
}
|
||||
echo Html::img($value, ['width' => '200px']);
|
||||
$input = FileBuilder::build("image", [
|
||||
'class' => 'form-control',
|
||||
'value' => $value,
|
||||
'value' => $value ?? '',
|
||||
]);
|
||||
$input->setLabel("Фото");
|
||||
$input->create()->render();
|
||||
|
@ -121,7 +121,7 @@ class EntityRelation
|
||||
return false;
|
||||
}
|
||||
|
||||
public function addEntityRelation(string $entity, string $property): bool
|
||||
public static function addEntityRelation(string $entity, string $property): bool
|
||||
{
|
||||
$entity_relations_info = Option::where("key", "entity_relations")->first();
|
||||
if ($entity_relations_info) {
|
||||
|
@ -8,8 +8,11 @@ use kernel\AdminController;
|
||||
use kernel\app_modules\tag\models\forms\CreateTagForm;
|
||||
use kernel\app_modules\tag\models\Tag;
|
||||
use kernel\app_modules\tag\services\TagService;
|
||||
use kernel\EntityRelation;
|
||||
use kernel\helpers\Debug;
|
||||
use kernel\models\Option;
|
||||
use kernel\modules\menu\service\MenuService;
|
||||
use kernel\Request;
|
||||
|
||||
class TagController extends AdminController
|
||||
{
|
||||
@ -100,7 +103,40 @@ class TagController extends AdminController
|
||||
|
||||
public function actionSettings(): void
|
||||
{
|
||||
$this->cgView->render('form.php');
|
||||
$this->cgView->render('settingsForm.php');
|
||||
}
|
||||
|
||||
#[NoReturn] public function actionSaveSettings(): void
|
||||
{
|
||||
$request = new Request();
|
||||
$entities = $request->post('entity');
|
||||
|
||||
$entityRelationsModel = Option::where("key", "entity_relations")->first();
|
||||
$entityRelations = json_decode($entityRelationsModel->value, true);
|
||||
|
||||
|
||||
|
||||
Debug::prn($entities);
|
||||
Debug::prn($entityRelations);
|
||||
|
||||
|
||||
if (isset($entities)) {
|
||||
foreach ($entityRelations as $entity => $property) {
|
||||
if (in_array($entity, $entities)) {
|
||||
if (!in_array('tag', $property)) {
|
||||
EntityRelation::addEntityRelation($entity, 'tag');
|
||||
}
|
||||
} else {
|
||||
EntityRelation::removePropertyFromEntityRelations($entity, array_search('tag', $property));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
foreach ($entityRelations as $entity => $property) {
|
||||
EntityRelation::removeEntityRelation($entity);
|
||||
}
|
||||
}
|
||||
|
||||
// $this->redirect("/admin/settings/tag");
|
||||
}
|
||||
|
||||
}
|
@ -28,6 +28,7 @@ App::$collector->group(["prefix" => "admin"], function (CgRouteCollector $router
|
||||
});
|
||||
App::$collector->group(["prefix" => "settings"], function (CGRouteCollector $router) {
|
||||
App::$collector->get('/tag', [\app\modules\tag\controllers\TagController::class, 'actionSettings']);
|
||||
App::$collector->post('/tag/update', [\app\modules\tag\controllers\TagController::class, 'actionSaveSettings']);
|
||||
});
|
||||
});
|
||||
});
|
42
kernel/app_modules/tag/views/tag/settingsForm.php
Normal file
42
kernel/app_modules/tag/views/tag/settingsForm.php
Normal file
@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
use itguild\forms\builders\SelectBuilder;
|
||||
use kernel\EntityRelation;
|
||||
|
||||
$form = new \itguild\forms\ActiveForm();
|
||||
$form->beginForm("/admin/settings/tag/update");
|
||||
|
||||
$form->field(\itguild\forms\inputs\Select::class, "entity[]", [
|
||||
'class' => "form-control",
|
||||
'value' => $model->entity ?? '',
|
||||
'multiple' => "multiple",
|
||||
|
||||
])
|
||||
->setLabel("Сущности")
|
||||
->setOptions(\kernel\EntityRelation::getEntityList())
|
||||
->render();
|
||||
?>
|
||||
<div class="row">
|
||||
<div class="col-sm-2">
|
||||
<?php
|
||||
$form->field(\itguild\forms\inputs\Button::class, name: "btn-submit", params: [
|
||||
'class' => "btn btn-primary ",
|
||||
'value' => 'Отправить',
|
||||
'typeInput' => 'submit'
|
||||
])
|
||||
->render();
|
||||
?>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<?php
|
||||
$form->field(\itguild\forms\inputs\Button::class, name: "btn-reset", params: [
|
||||
'class' => "btn btn-warning",
|
||||
'value' => 'Сбросить',
|
||||
'typeInput' => 'reset'
|
||||
])
|
||||
->render();
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
$form->endForm();
|
Loading…
Reference in New Issue
Block a user