public function inlineUpdate($modeName, $id) { $instance = $this->modelRepository->getInstance($id); if (!$this->modelItem->isEditable($instance)) { return json_encode(['error' => true]); } try { if ($this->modelRepository->inlineUpdate($id)) { $instance = $this->modelRepository->getInstance($id); $response = ['error' => false]; $data = $this->modelRepository->getRequest()->all(); if (!empty($data['field'])) { $field = $data['field']; if (!empty($this->modelItem)) { $column = $this->modelItem->getColumnByName($field); if (!is_null($column)) { $response['value'] = $column->render($instance, NULL); } } } return json_encode($response); } } catch (ValidationException $e) { /** * TODO: implement this */ } return json_encode(['error' => true]); }
/** * @return RedirectResponse */ protected function checkCustomActionCall() { $action = Input::query('action'); $id = Input::query('id'); if (is_null($action) || is_null($id)) { return; } $column = $this->modelItem->getColumnByName($action); if (is_null($column)) { return; } if (!$column instanceof Action) { return; } $instance = $this->modelRepository->getInstance($id); $result = $column->call($instance); if (!$result instanceof RedirectResponse) { $result = Redirect::back(); } return $result; }