Пример #1
0
 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]);
 }
Пример #2
0
 /**
  * @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;
 }