public function handleAjaxRequest(Request $request) { $var = $this->getVar(); $column_list = $this->getChildren('column'); $object_list = $this->getValue(); /** * Retrieve QuerySet */ if ($object_list instanceof QuerySet) { $length = $request->get('length'); if ($length > 0) { $object_list->limit($request->get('start'), $length); } } /** * Handle search. */ foreach ($request->get('columns') as $number => $column) { if ($column['searchable'] == 'true' && !empty($column['search']['value'])) { $filter = $column['name']; //$regex = $column['search']['regex']; $value = $column['search']['value']; $object_list->filter($filter, 'like', $value . '%'); } } /** * Generate columns content. */ $data = array(); foreach ($object_list as $v) { $this->setContext($var, $v); $item = array(); foreach ($column_list as $column) { $item[] = $column->render(); } $data[] = $item; } /** * Generate dataTable output. */ if ($object_list instanceof QuerySet) { $recordsTotal = $object_list->getTotalCount(); $recordsFiltered = $recordsTotal; } else { $recordsTotal = count($data); $recordsFiltered = $recordsTotal; } $results = array('draw' => (int) $request->get('draw'), 'recordsTotal' => $recordsTotal, 'recordsFiltered' => $recordsFiltered, 'data' => $data); echo json_encode($results); return TRUE; }
public function handleAjaxRequest(Request $request) { $name = $this->getName(); $value_name = $this->getAttribute('value'); $variables = $this->fetchVariables($value_name); $variable = reset($variables); $raw = explode('.', $variable); $last = array_pop($raw); $variable = join('.', $raw); $object = $this->fetchValue('#{' . $variable . '}'); if (!$object instanceof \Biome\Core\ORM\Models) { throw new \Exception('Unable to fetch the object from the variable: ' . $variable); } $object->{$last} = $request->get($name); $results = array(); if ($object->save()) { $results['success'] = 'Success!'; $results['value'] = $object->{$last}; } else { $results['errors'] = $object->getErrors(); } echo json_encode($results); return TRUE; }
protected function saveValue(Request $request) { $last = NULL; $object = $this->getObject($last); $name = $this->getName(); if ($object->{$last} instanceof \Biome\Core\ORM\Models) { $model = $last; $last .= '_id'; } else { $model = substr($last, 0, -3); } if ($request->get($name, NULL) === NULL) { throw new \Exception('Parameter ' . $name . ' not sent!'); } $new_value = $request->get($name); if (!empty($new_value)) { $object->{$last} = $new_value; } else { $object->{$last} = NULL; } $results = array(); if ($object->save()) { $new_value = $object->{$last}; $results['success'] = 'Success!'; $results['value'] = $new_value; if ($object->hasField($model)) { $results['content'] = (string) $object->{$model}; } } else { $results['errors'] = $object->getErrors(); } return $results; }