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

View File

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