From 7159034e9e1b2b9e0f61efeef2acce5651fd756e Mon Sep 17 00:00:00 2001 From: iglocska Date: Wed, 13 Jan 2021 14:18:26 +0100 Subject: [PATCH] chg: [CRUD component] internal changes - removed saveMetaFields function from the component - fixed issues with associations being patched in automatically for add/edit --- src/Controller/Component/CRUDComponent.php | 27 ++++++++-------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/src/Controller/Component/CRUDComponent.php b/src/Controller/Component/CRUDComponent.php index 3378ad2..8e69794 100644 --- a/src/Controller/Component/CRUDComponent.php +++ b/src/Controller/Component/CRUDComponent.php @@ -75,7 +75,12 @@ class CRUDComponent extends Component $this->Controller->set('fields', $params['fields']); } if ($this->request->is('post')) { - $patchEntityParams = []; + $patchEntityParams = [ + 'associated' => [] + ]; + if (!empty($params['id'])) { + unset($params['id']); + } $input = $this->__massageInput($params); if (!empty($params['fields'])) { $patchEntityParams['fields'] = $params['fields']; @@ -136,21 +141,7 @@ class CRUDComponent extends Component private function saveMetaFields($id, $input) { - foreach ($input['metaFields'] as $metaField => $values) { - if (!is_array($values)) { - $values = [$values]; - } - foreach ($values as $value) { - if ($value !== '') { - $temp = $this->MetaFields->newEmptyEntity(); - $temp->field = $metaField; - $temp->value = $value; - $temp->scope = $this->Table->metaFields; - $temp->parent_id = $id; - $this->MetaFields->save($temp); - } - } - } + $this->Table->saveMetaFields($id, $input); } private function __massageInput($params) @@ -182,7 +173,9 @@ class CRUDComponent extends Component $this->Controller->set('fields', $params['fields']); } if ($this->request->is(['post', 'put'])) { - $patchEntityParams = []; + $patchEntityParams = [ + 'associated' => [] + ]; $input = $this->__massageInput($params); if (!empty($params['fields'])) { $patchEntityParams['fields'] = $params['fields'];