Compare commits

..

No commits in common. "860ea1a82d84b58d12b4d534a02d1c2cf1dc806f" and "ee9d93f137e55d69b954ec93efc194e610f56008" have entirely different histories.

4 changed files with 16 additions and 19 deletions

View File

@ -2,6 +2,8 @@
namespace app\modules\tag; namespace app\modules\tag;
use itguild\forms\builders\TextInputBuilder;
use itguild\forms\Form;
use kernel\Module; use kernel\Module;
use kernel\modules\menu\service\MenuService; use kernel\modules\menu\service\MenuService;
use kernel\services\MigrationService; use kernel\services\MigrationService;
@ -35,4 +37,11 @@ class TagModule extends Module
{ {
$this->menuService->removeItemBySlug("tag"); $this->menuService->removeItemBySlug("tag");
} }
public function formInputs(): void
{
$input = TextInputBuilder::build("tags", ['class' => 'form-control', 'placeholder' => "Теги"]);
$input->setLabel("Теги");
$input->create()->render();
}
} }

View File

@ -3,6 +3,7 @@
"version": "0.2", "version": "0.2",
"author": "ITGuild", "author": "ITGuild",
"slug": "tag", "slug": "tag",
"type": "additional_property",
"description": "Tags module", "description": "Tags module",
"app_module_path": "{APP}/modules/{slug}", "app_module_path": "{APP}/modules/{slug}",
"module_class": "app\\modules\\tag\\TagModule", "module_class": "app\\modules\\tag\\TagModule",

View File

@ -53,22 +53,9 @@ class EntityRelation
return false; return false;
} }
public function removeFromEntityRelations(string $entity, string $property): bool public function removeFromEntityRelations(string $entity, string $property)
{ {
$entity_relations_info = Option::where("key", "entity_relations")->first();
if ($entity_relations_info) {
$entity_relations = json_decode($entity_relations_info->value, true);
if ($entity_relations[$entity]) {
if ($entity_relations[$entity][$property]) {
unset($entity_relations[$entity][$property]);
$entity_relations_info->value = json_encode($entity_relations, JSON_UNESCAPED_UNICODE);
$entity_relations_info->save();
return true;
}
}
}
return false;
} }
public function getEntityRelationsBySlug(string $slug) public function getEntityRelationsBySlug(string $slug)
@ -83,15 +70,14 @@ class EntityRelation
return false; return false;
} }
public function addEntityRelation(string $entity, string $property): bool public function addEntityRelation(array $data): bool
{ {
$entity_relations_info = Option::where("key", "entity_relations")->first(); $entity_relations_info = Option::where("key", "entity_relations")->first();
if ($entity_relations_info) { if ($entity_relations_info) {
$entity_relations = json_decode($entity_relations_info->value, true); $entity_relations = json_decode($entity_relations_info->value, true);
if (isset($entity_relations[$entity])) { foreach ($data as $entity => $relation) {
$entity_relations[$entity][] = $property; $entity_relations[$entity] = $relation;
} else {
$entity_relations[$entity] = $property;
} }
$entity_relations_info->value = json_encode($entity_relations, JSON_UNESCAPED_UNICODE); $entity_relations_info->value = json_encode($entity_relations, JSON_UNESCAPED_UNICODE);
$entity_relations_info->save(); $entity_relations_info->save();

View File

@ -32,6 +32,7 @@ $info_to_table['data'] = $modules_info;
$table = new \Itguild\Tables\ListJsonTable(json_encode($info_to_table, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE)); $table = new \Itguild\Tables\ListJsonTable(json_encode($info_to_table, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));
$table->addAction(function ($row, $url) use ($moduleService) { $table->addAction(function ($row, $url) use ($moduleService) {
$slug = $row['slug']; $slug = $row['slug'];
if ($moduleService->isActive($slug)) { if ($moduleService->isActive($slug)) {