This commit is contained in:
2024-11-25 15:17:41 +03:00
parent 1bc7662be0
commit 745707ee09
8 changed files with 81 additions and 39 deletions

View File

@ -2,6 +2,7 @@
namespace kernel;
use Illuminate\Database\Eloquent\Model;
use kernel\helpers\Debug;
use kernel\models\Option;
use kernel\modules\option\service\OptionService;
@ -148,38 +149,38 @@ class EntityRelation
return false;
}
public function renderFormInputsBySlug(string $slug): void
public function renderFormInputsBySlug(string $entity, string $slug, Model $model): void
{
$moduleClass = $this->getAdditionalPropertyClassBySlug($slug);
if ($moduleClass and method_exists($moduleClass, "formInputs")) {
$moduleClass->formInputs();
$moduleClass->formInputs($entity, $model);
}
}
public function renderEntityAdditionalPropertyFormBySlug(string $slug): void
{
$relations = $this->getEntityRelationsBySlug($slug);
if ($relations){
foreach ($relations as $relation){
$this->renderFormInputsBySlug($relation);
}
}
}
public function saveEntityRelationBySlug(string $slug, string $entity, Request $request): void
{
$moduleClass = $this->getAdditionalPropertyClassBySlug($slug);
if ($moduleClass and method_exists($moduleClass, "saveInputs")) {
$moduleClass->saveInputs($entity, $request);
}
}
public function saveEntityRelation(string $entity, Request $request): void
public function renderEntityAdditionalPropertyFormBySlug(string $entity, Model $model = null): void
{
$relations = $this->getEntityRelationsBySlug($entity);
if ($relations){
foreach ($relations as $relation){
$this->saveEntityRelationBySlug($relation, $entity, $request);
$this->renderFormInputsBySlug($entity, $relation, $model);
}
}
}
public function saveEntityRelationBySlug(string $slug, string $entity, Model $model, Request $request): void
{
$moduleClass = $this->getAdditionalPropertyClassBySlug($slug);
if ($moduleClass and method_exists($moduleClass, "saveInputs")) {
$moduleClass->saveInputs($entity, $model, $request);
}
}
public function saveEntityRelation(string $entity, Model $model, Request $request): void
{
$relations = $this->getEntityRelationsBySlug($entity);
if ($relations){
foreach ($relations as $relation){
$this->saveEntityRelationBySlug($relation, $entity, $model, $request);
}
}
}