Example #1
0
 /** @test */
 public function it_adds_myself_to_current_modelitem_on_create()
 {
     $modelItem = Mockery::mock('SleepingOwl\\Admin\\Models\\ModelItem');
     $modelItem->shouldReceive('addFilter')->once();
     ModelItem::$current = $modelItem;
     $filter = new Filter('field');
 }
Example #2
0
 /**
  * Render column cell
  *
  * @param $instance
  * @param int $totalCount
  * @param string $content
  * @return string
  */
 public function render($instance, $totalCount, $content = null)
 {
     if (is_null($content)) {
         $content = $this->valueFromInstance($instance, $this->name);
     }
     $content = $this->renderAppends($instance, $totalCount, $content);
     $reflect = new \ReflectionClass($instance);
     return (string) view('admin::_partials/columns/column')->with('value', $this->getValue($instance, $this->name))->with('content', $content)->with('editable', (bool) $this->inlineEdit)->with('modelAlias', $this->modelItem->getAlias())->with('attributes', $instance->getAttributes())->with('name', $this->name);
 }
Example #3
0
 /**
  * @param $modelName
  * @param $id
  * @return Redirect
  */
 public function destroy($modelName, $id)
 {
     $instance = $this->modelRepository->getInstance($id);
     if (!$this->modelItem->isDeletable($instance)) {
         return $this->redirectToTable();
     }
     try {
         $this->modelRepository->destroy($id);
     } catch (QueryException $e) {
         return $this->redirectToTable()->withMessage(Lang::get('admin::lang.table.delete-error'));
     }
     return $this->redirectToTable();
 }
Example #4
0
 /**
  * @param $name
  * @param WithJoinEloquentBuilder $query
  * @return bool
  */
 protected function inWith($name, WithJoinEloquentBuilder $query)
 {
     $eagerLoads = $this->modelItem->getWith();
     foreach ($eagerLoads as $with) {
         if (strpos($name, $with) !== 0) {
             continue;
         }
         $relation = $this->instance->{$with}();
         if ($query->isRelationSupported($relation)) {
             return true;
         }
     }
     return false;
 }
Example #5
0
 /** @test */
 public function it_render_table_attributes()
 {
     $this->admin->htmlBuilder->shouldReceive('attributes')->with([])->once()->andReturn('table-attributes');
     $this->admin->htmlBuilder->shouldReceive('attributes')->with(['data-ordering' => 'false'])->once()->andReturn('table-attributes-with-ordering');
     $modelItem = new ModelItem('\\Foo\\Bar\\Model');
     $attr = $modelItem->renderTableAttributes();
     $this->assertEquals('table-attributes', $attr);
     $modelItem = new ModelItem('\\ModelItemTestClass');
     $attr = $modelItem->renderTableAttributes();
     $this->assertEquals('table-attributes-with-ordering', $attr);
 }