/** * Loads the datagrid with the groups */ private function loadDataGrid() { // create datagrid $this->dataGrid = new BackendDataGridDB(BackendMailmotorModel::QRY_DATAGRID_BROWSE_GROUPS); $this->dataGrid->setColumnsHidden(array('language', 'is_default')); // sorting columns $this->dataGrid->setSortingColumns(array('name', 'created_on'), 'created_on'); $this->dataGrid->setSortParameter('desc'); // check if this action is allowed if (BackendAuthentication::isAllowedAction('Addresses')) { // set column URLs $this->dataGrid->setColumnURL('name', BackendModel::createURLForAction('Addresses') . '&group_id=[id]'); } // set the datagrid ID so we don't run into trouble with multiple datagrids that use mass actions $this->dataGrid->setAttributes(array('id' => 'dgGroups')); // add the multicheckbox column $this->dataGrid->setMassActionCheckboxes('checkbox', '[id]', BackendMailmotorModel::getDefaultGroupIds()); $this->dataGrid->setColumnsSequence('checkbox', 'name', 'created_on', 'language'); // add mass action dropdown $ddmMassAction = new \SpoonFormDropdown('action', array('delete' => BL::lbl('Delete')), 'delete'); $this->dataGrid->setMassAction($ddmMassAction); // set column functions $this->dataGrid->setColumnFunction(array(new BackendDataGridFunctions(), 'getTimeAgo'), array('[created_on]'), 'created_on', true); // check if this action is allowed if (BackendAuthentication::isAllowedAction('CustomFields')) { $this->dataGrid->addColumnAction('custom_fields', null, BL::lbl('CustomFields'), BackendModel::createURLForAction('CustomFields') . '&group_id=[id]', BL::lbl('CustomFields'), array('class' => 'button icon iconEdit linkButton')); } // check if this action is allowed if (BackendAuthentication::isAllowedAction('ExportAddresses')) { $this->dataGrid->addColumnAction('export', null, BL::lbl('Export'), BackendModel::createURLForAction('ExportAddresses') . '&id=[id]', BL::lbl('Export'), array('class' => 'button icon iconExport linkButton')); } // check if this action is allowed if (BackendAuthentication::isAllowedAction('EditGroup')) { $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('EditGroup') . '&id=[id]', BL::lbl('Edit')); } // add styles $this->dataGrid->setColumnAttributes('name', array('class' => 'title')); // set paging limit $this->dataGrid->setPagingLimit(self::PAGING_LIMIT); }