Пример #1
0
 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;
 }
Пример #2
0
 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;
 }
Пример #3
0
 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;
 }