Example #1
0
 public function testCreateNodeWithOnlyRequiredConfigUsesTheDefaultValues()
 {
     /** @var Application|\PHPUnit_Framework_MockObject_MockObject $appMock */
     $appMock = $this->getMockBuilder('Silex\\Application')->disableOriginalConstructor()->getMock();
     $appMock->expects(self::any())->method('offsetExists')->with('manager-config')->will(self::returnValue(['manager' => []]));
     $appMock->expects(self::any())->method('offsetGet')->with('manager-config')->will(self::returnValue(['manager' => ['dummy' => ['index' => ['columns' => []]]]]));
     $node = new Node($appMock, 'dummy', 'index');
     self::assertSame(10, $node->getItemPerPage());
     self::assertSame([], $node->getColumns());
     self::assertSame('dummy', $node->getDbTable());
     self::assertSame('Manager: dummy', $node->getHeader());
     self::assertSame('setting', $node->getIcon());
     self::assertEmpty($node->getQuery());
     self::assertNull($node->getSearch());
 }
 public function delete(Application $app, $dbTable, $id)
 {
     $config = new Node($app, $dbTable, 'index');
     $sql = sprintf('DELETE FROM %s WHERE %s = %s', $config->getDbTable(), $config->getPrimaryKey(), $id);
     if ($this->db->execute($sql)) {
         $app['session']->getFlashBag()->add('messageSuccess', 'Deleted with success');
         return $app->redirect($app['url_generator']->generate('manager-index', ['dbTable' => $dbTable]));
     }
 }
Example #3
0
 /**
  * {@inheritDoc}
  */
 public function fetchByConfig(Node $config, $pagination)
 {
     if ($config->getQuery()) {
         return $this->fetchAll(sprintf('%s %s', $config->getQuery(), $config->getWhere()), $pagination);
     }
     $sql = sprintf('SELECT %s FROM %s %s ORDER BY %s %s' . $pagination, implode(',', array_flip($config->getColumns())), $config->getDbTable(), $config->getWhere(), $config->getOrderColumn(), $config->getOrder());
     return $this->fetchAll($sql);
 }