/** * Loads the dataGrids */ private function loadDatagrids() { // load all categories $categories = BackendFaqModel::getCategories(true); // loop categories and create a dataGrid for each one foreach ($categories as $categoryId => $categoryTitle) { $dataGrid = new BackendDataGridDB(BackendFaqModel::QRY_DATAGRID_BROWSE, array(BL::getWorkingLanguage(), $categoryId)); $dataGrid->setAttributes(array('class' => 'dataGrid sequenceByDragAndDrop')); $dataGrid->setColumnsHidden(array('category_id', 'sequence')); $dataGrid->addColumn('dragAndDropHandle', null, '<span>' . BL::lbl('Move') . '</span>'); $dataGrid->setColumnsSequence('dragAndDropHandle'); $dataGrid->setColumnAttributes('question', array('class' => 'title')); $dataGrid->setColumnAttributes('dragAndDropHandle', array('class' => 'dragAndDropHandle')); $dataGrid->setRowAttributes(array('id' => '[id]')); // check if this action is allowed if (BackendAuthentication::isAllowedAction('Edit')) { $dataGrid->setColumnURL('question', BackendModel::createURLForAction('Edit') . '&id=[id]'); $dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('Edit') . '&id=[id]', BL::lbl('Edit')); } // add dataGrid to list $this->dataGrids[] = array('id' => $categoryId, 'title' => $categoryTitle, 'content' => $dataGrid->getContent()); } // set empty datagrid $this->emptyDatagrid = new BackendDataGridArray(array(array('dragAndDropHandle' => '', 'question' => BL::msg('NoQuestionInCategory'), 'edit' => ''))); $this->emptyDatagrid->setAttributes(array('class' => 'dataGrid sequenceByDragAndDrop emptyGrid')); $this->emptyDatagrid->setHeaderLabels(array('edit' => null, 'dragAndDropHandle' => null)); }
/** * Loads the datagrid with the unsent mailings */ private function loadDataGridUnsentMailings() { // set query & parameters $query = BackendMailmotorModel::QRY_DATAGRID_BROWSE_UNSENT; $parameters = array('concept'); // campaign is set if (!empty($this->campaign)) { // reset query, add to parameters $query = BackendMailmotorModel::QRY_DATAGRID_BROWSE_UNSENT_FOR_CAMPAIGN; $parameters[] = $this->campaign['id']; } // create datagrid $this->dgUnsentMailings = new BackendDataGridDB($query, $parameters); $this->dgUnsentMailings->setColumnsHidden(array('campaign_id', 'status')); // if a campaign is set, hide the campaign name in the datagrid if (!empty($this->campaign)) { $this->dgUnsentMailings->setColumnHidden('campaign_name'); } // sorting columns $this->dgUnsentMailings->setSortingColumns(array('name', 'campaign_name', 'created_on', 'language'), 'created_on'); $this->dgUnsentMailings->setSortParameter('desc'); // check if this action is allowed if (BackendAuthentication::isAllowedAction('Edit')) { // set colum URLs $this->dgUnsentMailings->setColumnURL('name', BackendModel::createURLForAction('Edit') . '&id=[id]'); // add edit column $this->dgUnsentMailings->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('Edit') . '&id=[id]', BL::lbl('Edit')); } // add the multicheckbox column $this->dgUnsentMailings->addColumn('checkbox', '<span class="checkboxHolder"><input type="checkbox" name="toggleChecks" value="toggleChecks" /></span>', '<span><input type="checkbox" name="id[]" value="[id]" class="inputCheckbox" /></span>'); $this->dgUnsentMailings->setColumnsSequence('checkbox'); // add mass action dropdown $ddmMassAction = new \SpoonFormDropdown('action', array('delete' => BL::lbl('Delete')), 'delete'); $this->dgUnsentMailings->setMassAction($ddmMassAction); // set column functions $this->dgUnsentMailings->setColumnFunction(array(__CLASS__, 'setCampaignLink'), array('[campaign_id]', '[campaign_name]'), 'campaign_name', true); $this->dgUnsentMailings->setColumnFunction(array(new BackendDataGridFunctions(), 'getTimeAgo'), array('[created_on]'), 'created_on', true); // add styles $this->dgUnsentMailings->setColumnAttributes('name', array('class' => 'title')); // set paging limit $this->dgUnsentMailings->setPagingLimit(self::UNSENT_MAILINGS_PAGING_LIMIT); }