public function listAction()
 {
     /* @var $grid \ZfcDatagrid\Datagrid */
     /* @var $em EntityManager */
     $serviceLocator = $this->getServiceLocator();
     $config = $serviceLocator->get('config');
     $entityClass = $config['zfcuser']['userEntityClass'];
     $grid = $serviceLocator->get('ZfcDatagrid\\Datagrid');
     $em = $serviceLocator->get(EntityManager::class);
     $userAliasDql = 'u';
     $qb = $em->getRepository($entityClass)->createQueryBuilder($userAliasDql);
     $grid->setTitle('Users');
     $columnCollection = new ColumnCollection();
     $buttonCollection = new ButtonCollection();
     $colId = new Column\Select('id', $userAliasDql);
     $colId->setLabel('User ID');
     $colId->setWidth(1);
     $columnCollection->put(ColumnCollection::$ID_COLUMN_ID, $colId);
     $colUsername = new Column\Select('username', $userAliasDql);
     $colUsername->setLabel('Username');
     $columnCollection->put(ColumnCollection::$ID_COLUMN_USERNAME, $colUsername);
     $colEmail = new Column\Select('email', $userAliasDql);
     $colEmail->setLabel('Email');
     $columnCollection->put(ColumnCollection::$ID_COLUMN_EMAIL, $colEmail);
     $actions = new Column\Action();
     $actions->setLabel('#Action');
     $actions->setWidth(3);
     $columnCollection->put(ColumnCollection::$ID_COLUMN_ACTIONS, $actions, -1000);
     $editBtn = new Column\Action\Button();
     $editBtn->setLabel('Edit');
     $editBtn->setAttribute('class', 'btn btn-primary btn-sm');
     $editBtn->setLink($this->url()->fromRoute('zfcadmin/zfcuseradmin/edit', array('userId' => $editBtn->getColumnValuePlaceholder($colId))));
     $buttonCollection->put(ButtonCollection::$ID_EDIT_BTN, $editBtn);
     $deleteBtn = new Column\Action\Button();
     $deleteBtn->setLabel('Delete');
     $deleteBtn->setAttribute('class', 'btn btn-danger btn-sm delete-btn');
     $deleteBtn->setLink($this->url()->fromRoute('zfcadmin/zfcuseradmin/remove', array('userId' => $deleteBtn->getColumnValuePlaceholder($colId))));
     $buttonCollection->put(ButtonCollection::$ID_DELETE_BTN, $deleteBtn);
     $events = $this->createPrivateEventManager(ListEvent::class);
     $events->trigger(ListEvent::$EVENT_NAME, $this, array('queryBuilder' => $qb, 'buttonCollection' => $buttonCollection, 'columnCollection' => $columnCollection, 'userAliasDql' => $userAliasDql));
     foreach ($buttonCollection->getIterator() as $btn) {
         $actions->addAction($btn);
     }
     foreach ($columnCollection->getIterator() as $column) {
         $grid->addColumn($column);
     }
     //$grid->addColumn($actions);
     $grid->setDataSource($qb);
     // Finalizing
     $grid->setToolbarTemplateVariables(array('addUrl' => $this->url()->fromRoute('zfcadmin/zfcuseradmin/create')));
     return $grid->getResponse();
 }
Beispiel #2
0
 public function listAction()
 {
     $request = $this->getRequest();
     if ($request->isPost()) {
         $postData = $request->getPost();
         if ($postData->btnAdd === 'add') {
             $this->redirect()->toRoute('backend_role');
         }
     }
     $sl = $this->getServiceLocator();
     $dbAdapter = $sl->get('Zend\\Db\\Adapter\\Adapter');
     $grid = $sl->get('ZfcDatagrid\\Datagrid');
     $grid->setDefaultItemsPerPage(5);
     $grid->setToolbarTemplate('layout/list-toolbar');
     $grid->setDataSource($sl->get('Backend\\Model\\RoleTable')->getRoleList(), $dbAdapter);
     $col = new Column\Select('id', 'r');
     $col->setLabel('id');
     $col->setWidth(25);
     $col->setIdentity(true);
     $col->setSortDefault(1, 'ASC');
     $grid->addColumn($col);
     $col = new Column\Select('name', 'r');
     $col->setLabel('Role');
     $col->setWidth(25);
     $grid->addColumn($col);
     $editBtn = new Column\Action\Button();
     $editBtn->setLabel('Edit');
     $editBtn->setAttribute('class', 'btn btn-primary');
     $editBtn->setAttribute('href', '/backend/role/edit/id/' . $editBtn->getRowIdPlaceholder());
     $delBtn = new Column\Action\Button();
     $delBtn->setLabel('Delete');
     $delBtn->setAttribute('class', 'btn btn-danger');
     $delBtn->setAttribute('href', '/backend/role/delete/id/' . $delBtn->getRowIdPlaceholder());
     $col = new Column\Action();
     $col->addAction($editBtn);
     $col->addAction($delBtn);
     $grid->addColumn($col);
     return $grid->getResponse();
 }
Beispiel #3
0
 /**
  * Create service
  *
  * @param ServiceLocatorInterface $sm
  * @return mixed
  */
 public function createService(ServiceLocatorInterface $sm)
 {
     $dataGrid = new \ZfcDatagrid\Service\DatagridFactory();
     $dataGrid = $dataGrid->createService($sm);
     $dataGrid->setTitle('Seo');
     $dataGrid->setDefaultItemsPerPage(20);
     $em = $sm->get('doctrine.entitymanager.orm_default');
     $qb = $em->createQueryBuilder();
     $qb->select('s');
     $qb->from('Seo\\Entity\\Seo', 's');
     $dataGrid->setDataSource($qb);
     $col = new Column\Select('id', 's');
     $col->setWidth(1);
     $col->setSortDefault(1, 'DESC');
     $col->setIdentity();
     $col->setHidden(false);
     $col->setLabel('Id');
     $dataGrid->addColumn($col);
     $col = new Column\Select('pageId', 's');
     $col->setLabel('PageId');
     $dataGrid->addColumn($col);
     $col = new Column\Select('type', 's');
     $col->setLabel('Type');
     //    $col->setReplaceValues(array(
     //        'BUILDER' => 'Builder',
     //        'JOB' => 'Job',
     //        'HOMEOWNER' => 'Homeowner'
     //    ));
     $dataGrid->addColumn($col);
     $col = new Column\Select('title', 's');
     $col->setLabel('Title');
     $dataGrid->addColumn($col);
     $col = new Column\Select('description', 's');
     $col->setLabel('Description');
     $dataGrid->addColumn($col);
     $col = new Column\Select('keywords', 's');
     $col->setLabel('Keywords');
     $dataGrid->addColumn($col);
     $action2 = new Column\Action\Icon();
     $action2->setIconClass('icon-edit');
     $action2->setAttribute('href', "/seo/update/" . $action2->getRowIdPlaceholder());
     $action2->setAttribute('data-toggle', 'modal');
     $action2->setAttribute('data-target', '#updateModal');
     $action3 = new Column\Action\Icon();
     $action3->setIconClass('icon-remove');
     $action3->setAttribute('href', '/seo/remove/' . $action3->getRowIdPlaceholder());
     $action3->setAttribute('data-toggle', 'modal');
     $action3->setAttribute('data-target', '#removeModal');
     $col = new Column\Action();
     $col->setLabel('Actions');
     $col->setWidth(1);
     $col->addAction($action2);
     $col->addAction($action3);
     $dataGrid->addColumn($col);
     return $dataGrid;
 }
Beispiel #4
0
 /**
  * Consumers list
  *
  * @return \ZfcDatagrid\Datagrid
  */
 public function getDatagrid()
 {
     $grid = $this->getGrid();
     $grid->setId('dummyGrid');
     $dbAdapter = $this->adapter;
     $select = new Select();
     $select->from(array('c' => 'dummy'));
     $RecordsPerPage = $this->settings->getValueByParameter('Dummy', 'recordsperpage');
     $grid->setDefaultItemsPerPage($RecordsPerPage);
     $grid->setDataSource($select, $dbAdapter);
     $colId = new Column\Select('id', 'c');
     $colId->setLabel('Id');
     $colId->setIdentity();
     $grid->addColumn($colId);
     $col = new Column\Select('name', 'c');
     $col->setLabel(_('Name'));
     $col->setWidth(15);
     $grid->addColumn($col);
     $colType = new Type\DateTime('Y-m-d H:i:s', \IntlDateFormatter::SHORT, \IntlDateFormatter::SHORT);
     $colType->setSourceTimezone('Europe/Rome');
     $colType->setOutputTimezone('UTC');
     $colType->setLocale('it_IT');
     $col = new Column\Select('createdat', 'c');
     $col->setType($colType);
     $col->setLabel(_('Created At'));
     $grid->addColumn($col);
     // Add actions to the grid
     $showaction = new Column\Action\Button();
     $showaction->setAttribute('href', "/admin/dummy/edit/" . $showaction->getColumnValuePlaceholder(new Column\Select('id', 'c')));
     $showaction->setAttribute('class', 'btn btn-xs btn-success');
     $showaction->setLabel(_('edit'));
     $delaction = new Column\Action\Button();
     $delaction->setAttribute('href', '/admin/dummy/delete/' . $delaction->getRowIdPlaceholder());
     $delaction->setAttribute('onclick', "return confirm('Are you sure?')");
     $delaction->setAttribute('class', 'btn btn-xs btn-danger');
     $delaction->setLabel(_('delete'));
     $col = new Column\Action();
     $col->addAction($showaction);
     $col->addAction($delaction);
     $grid->addColumn($col);
     $grid->setToolbarTemplate('');
     return $grid;
 }
Beispiel #5
0
 public function testAction()
 {
     $rowData = $this->rowWithId;
     $rowData['action'] = '';
     $helper = new TableRow();
     $helper->setServiceLocator($this->serviceLocator);
     // must be instanceof Column\Select...
     $myCol = new Column\Select('myCol');
     $action = new Column\Action\Checkbox();
     $action->setLink('http://example.com');
     $colAction = new Column\Action();
     $colAction->addAction($action);
     $cols = [$myCol, $colAction];
     $html = $helper($rowData, $cols);
     $this->assertContains('<input type="checkbox"', $html);
     // row action
     $cols = [$myCol, $colAction];
     $html = $helper($rowData, $cols, $action);
     $this->assertContains('<a href="http://example.com', $html);
 }
 /**
  * Consumers list
  *
  * @return \ZfcDatagrid\Datagrid
  */
 public function getDatagrid()
 {
     $grid = $this->getGrid();
     $grid->setId('profileDatagrid');
     $dbAdapter = $this->adapter;
     $select = new Select();
     $select->from(array('p' => 'profile'));
     $RecordsPerEvent = $this->settings->getValueByParameter('profile', 'recordsperevent');
     $grid->setDefaultItemsPerPage($RecordsPerEvent);
     $grid->setDataSource($select, $dbAdapter);
     $colId = new Column\Select('id', 'p');
     $colId->setLabel('Id');
     $colId->setIdentity();
     $grid->addColumn($colId);
     $col = new Column\Select('name', 'p');
     $col->setLabel(_('Name'));
     $col->setWidth(15);
     $grid->addColumn($col);
     $col = new Column\Select('address', 'p');
     $col->setLabel(_('Address'));
     $grid->addColumn($col);
     $colType = new Type\DateTime('Y-m-d H:i:s', \IntlDateFormatter::SHORT, \IntlDateFormatter::SHORT);
     $colType->setSourceTimezone('Europe/Rome');
     $colType->setOutputTimezone('UTC');
     $colType->setLocale('it_IT');
     $col = new Column\Select('createdat', 'p');
     $col->setType($colType);
     $col->setLabel(_('Created At'));
     $grid->addColumn($col);
     $col = new Column\Select('updatedat', 'p');
     $col->setType($colType);
     $col->setLabel(_('Updated At'));
     $grid->addColumn($col);
     $col = new Column\Select('public', 'p');
     $col->setType(new \ZfcDatagrid\Column\Type\PhpString());
     $col->setLabel(_('Public'));
     $col->setTranslationEnabled(true);
     $col->setFilterSelectOptions(array('' => '-', '0' => _('No'), '1' => _('Yes')));
     $col->setReplaceValues(array('' => '-', '0' => _('No'), '1' => _('Yes')));
     $grid->addColumn($col);
     // Add actions to the grid
     $showaction = new Column\Action\Button();
     $showaction->setAttribute('href', "/admin/profile/edit/" . $showaction->getColumnValuePlaceholder(new Column\Select('id', 'p')));
     $showaction->setAttribute('class', 'btn btn-xs btn-success');
     $showaction->setLabel(_('Edit'));
     $delaction = new Column\Action\Button();
     $delaction->setAttribute('href', '/admin/profile/delete/' . $delaction->getRowIdPlaceholder());
     $delaction->setAttribute('onclick', "return confirm('" . _('Are you sure?') . "')");
     $delaction->setAttribute('class', 'btn btn-xs btn-danger');
     $delaction->setLabel(_('Delete'));
     $col = new Column\Action();
     $col->addAction($showaction);
     $col->addAction($delaction);
     $grid->addColumn($col);
     $grid->setToolbarTemplate('');
     return $grid;
 }
 /**
  * Consumers list
  *
  * @return \ZfcDatagrid\Datagrid
  */
 public function getDatagrid()
 {
     $grid = $this->getGrid();
     $grid->setId('cmspagecategoryGrid');
     $dbAdapter = $this->adapter;
     $select = new Select();
     $select->from(array('c' => 'cms_page_category'));
     $grid->setDefaultItemsPerPage(100);
     $grid->setDataSource($select, $dbAdapter);
     $colId = new Column\Select('id', 'c');
     $colId->setLabel('Id');
     $colId->setIdentity();
     $grid->addColumn($colId);
     $col = new Column\Select('category', 'c');
     $col->setLabel(_('Category'));
     $col->setWidth(15);
     $grid->addColumn($col);
     $col = new Column\Select('visible', 'c');
     $col->setType(new \ZfcDatagrid\Column\Type\String());
     $col->setLabel(_('Visible'));
     $col->setTranslationEnabled(true);
     $col->setFilterSelectOptions(array('' => '-', '0' => 'No', '1' => 'Yes'));
     $col->setReplaceValues(array('' => '-', '0' => 'No', '1' => 'Yes'));
     $grid->addColumn($col);
     // Add actions to the grid
     $showaction = new Column\Action\Button();
     $showaction->setAttribute('href', "/admin/cmscategory/edit/" . $showaction->getColumnValuePlaceholder(new Column\Select('id', 'c')));
     $showaction->setAttribute('class', 'btn btn-xs btn-success');
     $showaction->setLabel(_('edit'));
     $delaction = new Column\Action\Button();
     $delaction->setAttribute('href', '/admin/cmscategory/delete/' . $delaction->getRowIdPlaceholder());
     $delaction->setAttribute('onclick', "return confirm('Are you sure?')");
     $delaction->setAttribute('class', 'btn btn-xs btn-danger');
     $delaction->setLabel(_('delete'));
     $col = new Column\Action();
     $col->addAction($showaction);
     $col->addAction($delaction);
     $grid->addColumn($col);
     $grid->setToolbarTemplate('');
     return $grid;
 }
 private function createGrid()
 {
     $dbAdapter = $this->getServiceLocator()->get('Zend\\Db\\Adapter\\Adapter');
     $select = new Select();
     $select->from(array('l' => 'base_languages'));
     $grid = $this->getServiceLocator()->get('ZfcDatagrid\\Datagrid');
     $grid->setDefaultItemsPerPage(100);
     $grid->setDataSource($select, $dbAdapter);
     $colId = new Column\Select('id', 'l');
     $colId->setLabel('Id');
     $colId->setIdentity();
     $grid->addColumn($colId);
     $col = new Column\Select('language', 'l');
     $col->setLabel(_('Title'));
     $col->setWidth(15);
     $grid->addColumn($col);
     $col = new Column\Select('locale', 'l');
     $col->setLabel(_('Locale'));
     $grid->addColumn($col);
     $col = new Column\Select('base', 'l');
     $col->setType(new \ZfcDatagrid\Column\Type\String());
     $col->setLabel(_('Base'));
     $col->setTranslationEnabled(true);
     $col->setFilterSelectOptions(array('' => '-', '0' => 'No', '1' => 'Yes'));
     $col->setReplaceValues(array('' => '-', '0' => 'No', '1' => 'Yes'));
     $grid->addColumn($col);
     $col = new Column\Select('active', 'l');
     $col->setType(new \ZfcDatagrid\Column\Type\String());
     $col->setLabel(_('Active'));
     $col->setTranslationEnabled(true);
     $col->setFilterSelectOptions(array('' => '-', '0' => 'No', '1' => 'Yes'));
     $col->setReplaceValues(array('' => '-', '0' => 'No', '1' => 'Yes'));
     $grid->addColumn($col);
     // Add actions to the grid
     $showaction = new Column\Action\Button();
     $showaction->setAttribute('href', "/admin/languages/edit/" . $showaction->getColumnValuePlaceholder(new Column\Select('id', 'l')));
     $showaction->setAttribute('class', 'btn btn-xs btn-success');
     $showaction->setLabel($this->translator->translate('edit'));
     $delaction = new Column\Action\Button();
     $delaction->setAttribute('href', '/admin/languages/delete/' . $delaction->getRowIdPlaceholder());
     $delaction->setAttribute('onclick', "return confirm('Are you sure?')");
     $delaction->setAttribute('class', 'btn btn-xs btn-danger');
     $delaction->setLabel($this->translator->translate('delete'));
     $col = new Column\Action();
     $col->addAction($showaction);
     $col->addAction($delaction);
     $grid->addColumn($col);
     $grid->setToolbarTemplate('');
     return $grid;
 }
 /**
  * Product list
  *
  * @return \ZfcDatagrid\Datagrid
  */
 public function getDatagrid()
 {
     $grid = $this->getGrid();
     $grid->setId('productGrid');
     $dbAdapter = $this->adapter;
     $select = new Select();
     $select->from(array('p' => 'product_attributes'));
     $RecordsPerPage = $this->settings->getValueByParameter('product_attributes', 'recordsperpage');
     $grid->setDefaultItemsPerPage($RecordsPerPage);
     $grid->setDataSource($select, $dbAdapter);
     $colId = new Column\Select('id', 'p');
     $colId->setLabel('Id');
     $colId->setIdentity();
     $grid->addColumn($colId);
     $col = new Column\Select('name', 'p');
     $col->setLabel(_('Name'));
     $col->setWidth(15);
     $grid->addColumn($col);
     $col = new Column\Select('type', 'p');
     $col->setLabel(_('Type'));
     $col->setWidth(5);
     $grid->addColumn($col);
     $col = new Column\Select('quick_search', 'p');
     $col->setLabel(_('Search'));
     $col->setWidth(5);
     $col->setFilterSelectOptions(array('' => '-', '0' => _('No'), '1' => _('Yes')));
     $col->setReplaceValues(array('' => '-', '0' => _('No'), '1' => _('Yes')));
     $grid->addColumn($col);
     $col = new Column\Select('label', 'p');
     $col->setLabel(_('Label'));
     $col->setWidth(15);
     $grid->addColumn($col);
     $col = new Column\Select('is_user_defined', 'p');
     $col->setLabel(_('Is User Defined'));
     $col->setWidth(5);
     $col->setFilterSelectOptions(array('' => '-', '0' => _('No'), '1' => _('Yes')));
     $col->setReplaceValues(array('' => '-', '0' => _('No'), '1' => _('Yes')));
     $grid->addColumn($col);
     $col = new Column\Select('is_required', 'p');
     $col->setLabel(_('Is Required'));
     $col->setWidth(5);
     $col->setFilterSelectOptions(array('' => '-', '0' => _('No'), '1' => _('Yes')));
     $col->setReplaceValues(array('' => '-', '0' => _('No'), '1' => _('Yes')));
     $grid->addColumn($col);
     // Add actions to the grid
     $showaction = new Column\Action\Button();
     $showaction->setAttribute('href', "/admin/product/attributes/edit/" . $showaction->getColumnValuePlaceholder(new Column\Select('id', 'p')));
     $showaction->setAttribute('class', 'btn btn-xs btn-success');
     $showaction->setLabel(_('edit'));
     $delaction = new Column\Action\Button();
     $delaction->setAttribute('href', '/admin/product/attributes/delete/' . $delaction->getRowIdPlaceholder());
     $delaction->setAttribute('onclick', "return confirm('Are you sure?')");
     $delaction->setAttribute('class', 'btn btn-xs btn-danger');
     $delaction->setLabel(_('delete'));
     $col = new Column\Action();
     $col->addAction($showaction);
     $col->addAction($delaction);
     $grid->addColumn($col);
     $grid->setToolbarTemplate('');
     return $grid;
 }
 /**
  * Consumers list
  *
  * @return \ZfcDatagrid\Datagrid
  */
 public function getDatagrid()
 {
     $grid = $this->getGrid();
     $grid->setTitle('Customers');
     $grid->setId('customerGrid');
     $grid->setToolbarTemplateVariables(array('globalActions' => array(_('New Customer') => '/admin/customer/add'), array(_('New Customer') => '/admin/customer/add')));
     $dbAdapter = $this->adapter;
     $select = new Select();
     $select->from(array('c' => 'customer'));
     $select->join('user', 'c.user_id = user.user_id', array('email'), 'left');
     $select->join('base_status', 'status_id = base_status.id', array('id'), 'left');
     // Status array
     $arrStatus = array();
     $status = $this->statusservice->findAll('customers');
     foreach ($status as $s) {
         $arrStatus[$s->getId()] = $s->getStatus();
     }
     $grid->setDefaultItemsPerPage($this->settings->getValueByParameter('Customer', 'recordsperpage'));
     $grid->setDataSource($select, $dbAdapter);
     $col = new Column\Select('id', 'c');
     $col->setLabel('Id');
     $col->setIdentity();
     $grid->addColumn($col);
     $col = new Column\Select('company', 'c');
     $col->setLabel(_('Company'));
     $col->setWidth(40);
     $grid->addColumn($col);
     $col = new Column\Select('firstname', 'c');
     $col->setLabel(_('Last name'));
     $col->setWidth(15);
     $grid->addColumn($col);
     $col = new Column\Select('lastname', 'c');
     $col->setLabel(_('First name'));
     $col->setWidth(15);
     $grid->addColumn($col);
     $colType = new Type\DateTime('Y-m-d H:i:s', \IntlDateFormatter::SHORT, \IntlDateFormatter::SHORT);
     $colType->setSourceTimezone('Europe/Rome');
     $colType->setOutputTimezone('UTC');
     $colType->setLocale('it_IT');
     $col = new Column\Select('id', 'base_status');
     $col->setLabel('Status');
     $col->setWidth(10);
     $col->setReplaceValues($arrStatus);
     $col->setFilterSelectOptions($arrStatus);
     $col->setTranslationEnabled(true);
     $grid->addColumn($col);
     $col = new Column\Select('email', 'user');
     $col->setLabel(_('Email'));
     $col->addFormatter(new Formatter\Email());
     $col->addStyle(new Style\Bold());
     $col->setWidth(15);
     $grid->addColumn($col);
     $col = new Column\Select('createdat', 'c');
     $col->setType($colType);
     $col->setLabel(_('Created At'));
     $grid->addColumn($col);
     // Add actions to the grid
     $showaction = new Column\Action\Icon();
     $showaction->setAttribute('href', "/admin/customer/edit/" . $showaction->getColumnValuePlaceholder(new Column\Select('id', 'c')));
     $showaction->setAttribute('class', 'btn btn-xs btn-success');
     $showaction->setIconClass('glyphicon glyphicon-pencil');
     $delaction = new Column\Action\Icon();
     $delaction->setAttribute('href', '/admin/customer/delete/' . $delaction->getRowIdPlaceholder());
     $delaction->setAttribute('onclick', "return confirm('Are you sure?')");
     $delaction->setAttribute('class', 'btn btn-xs btn-danger');
     $delaction->setIconClass('glyphicon glyphicon-remove');
     $col = new Column\Action();
     $col->addAction($showaction);
     $col->addAction($delaction);
     $grid->addColumn($col);
     $grid->addMassAction(new Action\Mass(_('Enable'), '/admin/customer/massaction/enable', true));
     $grid->addMassAction(new Action\Mass(_('Disable'), '/admin/customer/massaction/disable', true));
     $grid->addMassAction(new Action\Mass(_('Delete'), '/admin/customer/massaction/delete', true));
     #$grid->setToolbarTemplateVariables(['myVariable' => 123]);
     #$grid->setToolbarTemplate('zfc-datagrid/toolbar/customer');
     return $grid;
 }
 /**
  * Consumers list
  *
  * @return \ZfcDatagrid\Datagrid
  */
 public function getDatagrid()
 {
     $grid = $this->getGrid();
     $grid->setId('contactGrid');
     $dbAdapter = $this->adapter;
     $select = new Select();
     $select->from(array('c' => 'customer_group'));
     $grid = $this->getGrid();
     $grid->setDefaultItemsPerPage(10);
     $grid->setDataSource($select, $dbAdapter);
     $colId = new Column\Select('id', 'c');
     $colId->setLabel('Id');
     $colId->setIdentity();
     $grid->addColumn($colId);
     $col = new Column\Select('name', 'c');
     $col->setLabel(_('Name'));
     $grid->addColumn($col);
     $col = new Column\Select('enabled', 'c');
     $col->setLabel(_('Enabled'));
     $col->setWidth(15);
     $col->setFilterSelectOptions(array('' => '-', '0' => _('No'), '1' => _('Yes')));
     $col->setReplaceValues(array('' => '-', '0' => _('No'), '1' => _('Yes')));
     $grid->addColumn($col);
     // Add actions to the grid
     $showaction = new Column\Action\Button();
     $showaction->setAttribute('href', "/admin/customer/group/edit/" . $showaction->getColumnValuePlaceholder(new Column\Select('id', 'c')));
     $showaction->setAttribute('class', 'btn btn-xs btn-success');
     $showaction->setLabel(_('edit'));
     $delaction = new Column\Action\Button();
     $delaction->setAttribute('href', '/admin/customer/group/delete/' . $delaction->getRowIdPlaceholder());
     $delaction->setAttribute('onclick', "return confirm('Are you sure?')");
     $delaction->setAttribute('class', 'btn btn-xs btn-danger');
     $delaction->setLabel(_('delete'));
     $col = new Column\Action();
     $col->addAction($showaction);
     $col->addAction($delaction);
     $grid->addColumn($col);
     $grid->setToolbarTemplate('');
     return $grid;
 }
Beispiel #12
0
 public function testAddRemoveAction()
 {
     $column = new Column\Action();
     $this->assertCount(0, $column->getActions());
     $action = $this->getMock('ZfcDatagrid\\Column\\Action\\Button');
     $column->addAction($action);
     $this->assertCount(1, $column->getActions());
     $action2 = $this->getMock('ZfcDatagrid\\Column\\Action\\Button');
     $column->addAction($action2);
     $action3 = $this->getMock('ZfcDatagrid\\Column\\Action\\Button');
     $column->addAction($action3);
     $this->assertCount(3, $column->getActions());
     $this->assertEquals($action2, $column->getAction(1));
     $column->removeAction(2);
     $this->assertCount(2, $column->getActions());
     $actions = [$this->getMock('ZfcDatagrid\\Column\\Action\\Button'), $this->getMock('ZfcDatagrid\\Column\\Action\\Button')];
     $column->setActions($actions);
     $this->assertEquals($actions, $column->getActions());
     $column->clearActions();
     $this->assertCount(0, $column->getActions());
 }
Beispiel #13
0
 /**
  * Consumers list
  *
  * @return \ZfcDatagrid\Datagrid
  */
 public function getDatagrid()
 {
     $grid = $this->getGrid();
     $grid->setId('cmsblockGrid');
     $dbAdapter = $this->adapter;
     $select = new Select();
     $select->from(array('b' => 'cms_block'))->join(array('l' => 'base_languages'), 'b.language_id = l.id', array('language'), 'left');
     $grid->setDefaultItemsPerPage(100);
     $grid->setDataSource($select, $dbAdapter);
     $colId = new Column\Select('id', 'b');
     $colId->setLabel('Id');
     $colId->setIdentity();
     $grid->addColumn($colId);
     $col = new Column\Select('title', 'b');
     $col->setLabel(_('Title'));
     $col->setWidth(15);
     $grid->addColumn($col);
     $col = new Column\Select('placeholder', 'b');
     $col->setLabel(_('Placeholder'));
     $grid->addColumn($col);
     $colType = new Type\DateTime('Y-m-d H:i:s', \IntlDateFormatter::SHORT, \IntlDateFormatter::SHORT);
     $colType->setSourceTimezone('Europe/Rome');
     $colType->setOutputTimezone('UTC');
     $colType->setLocale('it_IT');
     $col = new Column\Select('createdat', 'b');
     $col->setType($colType);
     $col->setLabel(_('Created At'));
     $grid->addColumn($col);
     $col = new Column\Select('updatedat', 'b');
     $col->setType($colType);
     $col->setLabel(_('Updated At'));
     $grid->addColumn($col);
     $col = new Column\Select('language', 'l');
     $col->setLabel(_('Language'));
     $col->addStyle(new Style\Bold());
     $grid->addColumn($col);
     $col = new Column\Select('visible', 'b');
     $col->setType(new \ZfcDatagrid\Column\Type\String());
     $col->setLabel(_('Visible'));
     $col->setTranslationEnabled(true);
     $col->setFilterSelectOptions(array('' => '-', '0' => 'No', '1' => 'Yes'));
     $col->setReplaceValues(array('' => '-', '0' => 'No', '1' => 'Yes'));
     $grid->addColumn($col);
     // Add actions to the grid
     $showaction = new Column\Action\Button();
     $showaction->setAttribute('href', "/admin/cmsblocks/edit/" . $showaction->getColumnValuePlaceholder(new Column\Select('id', 'b')));
     $showaction->setAttribute('class', 'btn btn-xs btn-success');
     $showaction->setLabel(_('edit'));
     $delaction = new Column\Action\Button();
     $delaction->setAttribute('href', '/admin/cmsblocks/delete/' . $delaction->getRowIdPlaceholder());
     $delaction->setAttribute('onclick', "return confirm('Are you sure?')");
     $delaction->setAttribute('class', 'btn btn-xs btn-danger');
     $delaction->setLabel(_('delete'));
     $col = new Column\Action();
     $col->addAction($showaction);
     $col->addAction($delaction);
     $grid->addColumn($col);
     $grid->setToolbarTemplate('');
     return $grid;
 }
Beispiel #14
0
 /**
  * Product list
  *
  * @return \ZfcDatagrid\Datagrid
  */
 public function getDatagrid()
 {
     $eavProduct = new \Product\Model\EavProduct($this->tableGateway);
     $records = array();
     $result = array();
     $customAttributes = array();
     $grid = $this->getGrid();
     $grid->setId('productGrid');
     $dbAdapter = $this->adapter;
     $select = new Select();
     $select->from(array('p' => 'product'));
     // execute the query
     $sql = new \Zend\Db\Sql\Sql($this->adapter);
     $stmt = $sql->prepareStatementForSqlObject($select);
     $results = $stmt->execute();
     // execute the main query
     $records = $this->tableGateway->select($select);
     // load the attributes from the preferences
     $columnsAttributesIdx = $this->settings->getValueByParameter('product', 'attributes');
     if (!empty($columnsAttributesIdx)) {
         // get from the database the custom attributes set as product preferences ($columnsAttributesIdx)
         $selectedAttributes = $this->attributes->findbyIdx(json_decode($columnsAttributesIdx, true));
         $selectedAttributes->buffer();
         // Get the selected product attribute values ONLY
         $attributes = $eavProduct->loadAttributes($results, $selectedAttributes);
         $attributesValues = $attributes->toArray();
         // loop the selected product attribute records
         foreach ($attributesValues as $recordId => $attributeValue) {
             // loop the record selected values
             foreach ($attributeValue as $id => $value) {
                 // get the attribute information
                 $theAttribute = $eavProduct->getAttribute($id);
                 // create a temporary array of data to merge with the main datagrid array
                 $customAttributes[$recordId][$theAttribute->getName()] = $value;
                 // Create a custom column on the grid
                 $col = new Column\Select($theAttribute->getName());
                 $col->setLabel(_($theAttribute->getLabel()));
                 $grid->addColumn($col);
             }
         }
         // Merge the temporary array with the main datagrid array
         foreach ($records as $record) {
             $result[] = array_merge($record->getArrayCopy(), $customAttributes[$record->getId()]);
         }
     }
     $RecordsPerPage = $this->settings->getValueByParameter('product', 'recordsperpage');
     $grid->setDefaultItemsPerPage($RecordsPerPage);
     $grid->setDataSource($result);
     $colId = new Column\Select('id');
     $colId->setLabel('Id');
     $colId->setIdentity();
     $grid->addColumn($colId);
     $colType = new Type\DateTime('Y-m-d H:i:s', \IntlDateFormatter::SHORT, \IntlDateFormatter::SHORT);
     $colType->setSourceTimezone('Europe/Rome');
     $colType->setOutputTimezone('UTC');
     $colType->setLocale('it_IT');
     $col = new Column\Select('createdat');
     $col->setType($colType);
     $col->setLabel(_('Created At'));
     $col->setWidth(15);
     $grid->addColumn($col);
     // Add actions to the grid
     $showaction = new Column\Action\Button();
     $showaction->setAttribute('href', "/admin/product/edit/" . $showaction->getColumnValuePlaceholder(new Column\Select('id')));
     $showaction->setAttribute('class', 'btn btn-xs btn-success');
     $showaction->setLabel(_('edit'));
     $delaction = new Column\Action\Button();
     $delaction->setAttribute('href', '/admin/product/delete/' . $delaction->getRowIdPlaceholder());
     $delaction->setAttribute('onclick', "return confirm('Are you sure?')");
     $delaction->setAttribute('class', 'btn btn-xs btn-danger');
     $delaction->setLabel(_('delete'));
     $col = new Column\Action();
     $col->addAction($showaction);
     $col->addAction($delaction);
     $grid->addColumn($col);
     $grid->setToolbarTemplate('');
     return $grid;
 }