fix: [Component:CRUD] Allow saving metaFields

pull/37/head
mokaddem 2021-01-15 14:40:03 +01:00
parent 9873561ac5
commit ff84f87d33
2 changed files with 6 additions and 6 deletions

View File

@ -161,7 +161,7 @@ class CRUDComponent extends Component
private function saveMetaFields($id, $input) private function saveMetaFields($id, $input)
{ {
$this->Table->saveMetaFields($id, $input); $this->Table->saveMetaFields($id, $input, $this->Table);
} }
private function __massageInput($params) private function __massageInput($params)
@ -206,11 +206,11 @@ class CRUDComponent extends Component
if ($savedData !== false) { if ($savedData !== false) {
$message = __('{0} `{1}` updated.', $this->ObjectAlias, $savedData->{$this->Table->getDisplayField()}); $message = __('{0} `{1}` updated.', $this->ObjectAlias, $savedData->{$this->Table->getDisplayField()});
if (!empty($input['metaFields'])) { if (!empty($input['metaFields'])) {
$this->MetaFields->deleteAll(['scope' => $this->Table->metaFields, 'parent_id' => $data->id]); $this->MetaFields->deleteAll(['scope' => $this->Table->metaFields, 'parent_id' => $savedData->id]);
$this->saveMetaFields($data->id, $input); $this->saveMetaFields($savedData->id, $input);
} }
if ($this->Controller->ParamHandler->isRest()) { if ($this->Controller->ParamHandler->isRest()) {
$this->Controller->restResponsePayload = $this->RestResponse->viewData($data, 'json'); $this->Controller->restResponsePayload = $this->RestResponse->viewData($savedData, 'json');
} else if ($this->Controller->ParamHandler->isAjax()) { } else if ($this->Controller->ParamHandler->isAjax()) {
$this->Controller->ajaxResponsePayload = $this->Controller->RestResponse->ajaxSuccessResponse($this->ObjectAlias, 'edit', $savedData, $message); $this->Controller->ajaxResponsePayload = $this->Controller->RestResponse->ajaxSuccessResponse($this->ObjectAlias, 'edit', $savedData, $message);
} else { } else {

View File

@ -36,11 +36,11 @@ class AppTable extends Table
$temp = $this->MetaFields->newEmptyEntity(); $temp = $this->MetaFields->newEmptyEntity();
$temp->field = $metaField; $temp->field = $metaField;
$temp->value = $value; $temp->value = $value;
$temp->scope = $this->Table->metaFields; $temp->scope = $this->metaFields;
$temp->parent_id = $id; $temp->parent_id = $id;
$temp->meta_template_id = $templateID; $temp->meta_template_id = $templateID;
$temp->meta_template_field_id = $fieldNameToId[$metaField]; $temp->meta_template_field_id = $fieldNameToId[$metaField];
$this->MetaFields->save($temp); $res = $this->MetaFields->save($temp);
} }
} }
} }