private function loadDataGrid()
{
// fetch query and parameters
list($query, $parameters) = $this->buildQuery();
// create datagrid
$this->dgProfiles = new BackendDataGridDB($query, $parameters);
// overrule default URL
$this->dgProfiles->setURL(BackendModel::createURLForAction(null, null, null, array('offset' => '[offset]', 'order' => '[order]', 'sort' => '[sort]', 'email' => $this->filter['email'], 'status' => $this->filter['status'], 'group' => $this->filter['group']), false));
// sorting columns
$this->dgProfiles->setSortingColumns(array('email', 'display_name', 'status', 'registered_on'), 'email');
// set column function
$this->dgProfiles->setColumnFunction(array(new BackendDataGridFunctions(), 'getLongDate'), array('[registered_on]'), 'registered_on', true);
// add the mass action controls
$this->dgProfiles->setMassActionCheckboxes('check', '[id]');
$ddmMassAction = new \SpoonFormDropdown('action', array('addToGroup' => BL::getLabel('AddToGroup'), 'delete' => BL::getLabel('Delete')), 'addToGroup', false, 'form-control', 'form-control danger');
$ddmMassAction->setAttribute('id', 'massAction');
$ddmMassAction->setOptionAttributes('addToGroup', array('data-target' => '#confirmAddToGroup'));
$ddmMassAction->setOptionAttributes('delete', array('data-target' => '#confirmDelete'));
$this->dgProfiles->setMassAction($ddmMassAction);
// check if this action is allowed
if (BackendAuthentication::isAllowedAction('Edit')) {
// set column URLs
$this->dgProfiles->setColumnURL('email', BackendModel::createURLForAction('Edit') . '&id=[id]');
// add columns
$this->dgProfiles->addColumn('edit', null, BL::getLabel('Edit'), BackendModel::createURLForAction('Edit', null, null, null) . '&id=[id]', BL::getLabel('Edit'));
}
}