public function actionUpdate() { $uuid = !empty(\Yii::$app->getRequest()->getQueryParam('uuid')) ? \Yii::$app->getRequest()->getQueryParam('uuid') : null; $model = new CrelishDynamicJsonModel([], ['uuid' => $uuid, 'ctype' => 'asset']); // Save content if post request. if (!empty(\Yii::$app->request->post()) && !\Yii::$app->request->isAjax) { $oldData = []; // Load old data. if (!empty($model->uuid)) { $oldData = Json::decode(file_get_contents(\Yii::getAlias('@app/workspace/data/') . DIRECTORY_SEPARATOR . 'asset' . DIRECTORY_SEPARATOR . $model->uuid . '.json')); } $model->attributes = $_POST['CrelishDynamicJsonModel'] + $oldData; if ($model->validate()) { $model->save(); \Yii::$app->session->setFlash('success', 'Asset saved successfully...'); header("Location: " . Url::to(['asset/update', 'uuid' => $model->uuid])); exit(0); } else { var_dump($model->errors); \Yii::$app->session->setFlash('error', 'Asset save failed...'); } } $alerts = ''; foreach (\Yii::$app->session->getAllFlashes() as $key => $message) { $alerts .= '<div class="c-alerts__alert c-alerts__alert--' . $key . '">' . $message . '</div>'; } return $this->render('update.twig', ['model' => $model, 'alerts' => $alerts]); }