Ejemplo n.º 1
0
 /**
  * Loads the datagrid with the unsent mailings
  */
 private function loadDataGridSentMailings()
 {
     // set query & parameters
     $query = BackendMailmotorModel::QRY_DATAGRID_BROWSE_SENT;
     $parameters = array('sent');
     // campaign is set
     if (!empty($this->campaign)) {
         // reset query, add to parameters
         $query = BackendMailmotorModel::QRY_DATAGRID_BROWSE_SENT_FOR_CAMPAIGN;
         $parameters[] = $this->campaign['id'];
     }
     // create datagrid
     $this->dgSentMailings = new BackendDataGridDB($query, $parameters);
     $this->dgSentMailings->setColumnsHidden(array('campaign_id', 'status'));
     // if a campaign is set, hide the campaign name in the datagrid
     if (!empty($this->campaign)) {
         $this->dgSentMailings->setColumnHidden('campaign_name');
     }
     // sorting columns
     $this->dgSentMailings->setSortingColumns(array('name', 'campaign_name', 'sent', 'language'), 'sent');
     $this->dgSentMailings->setSortParameter('desc');
     // add the multicheckbox column
     $this->dgSentMailings->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->dgSentMailings->setColumnsSequence('checkbox');
     // add mass action dropdown
     $ddmMassAction = new \SpoonFormDropdown('action', array('delete' => BL::lbl('Delete')), 'delete');
     $this->dgSentMailings->setMassAction($ddmMassAction);
     // set column functions
     $this->dgSentMailings->setColumnFunction(array(__CLASS__, 'setCampaignLink'), array('[campaign_id]', '[campaign_name]'), 'campaign_name', true);
     $this->dgSentMailings->setColumnFunction(array(new BackendDataGridFunctions(), 'getTimeAgo'), array('[sent]'), 'sent', true);
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('Copy')) {
         $this->dgSentMailings->addColumnAction('copy', null, BL::lbl('Copy'), BackendModel::createURLForAction('Copy') . '&amp;id=[id]', BL::lbl('Copy'), array('class' => 'button icon iconMailAdd linkButton'));
     }
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('EditMailingCampaign')) {
         $this->dgSentMailings->addColumnAction('edit_mailing_campaign', null, BL::lbl('Edit'), BackendModel::createURLForAction('EditMailingCampaign') . '&amp;id=[id]', BL::lbl('EditMailingCampaign'), array('class' => 'button icon iconFolderEdit linkButton'));
     }
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('Statistics')) {
         $this->dgSentMailings->addColumnAction('statistics', null, BL::lbl('Statistics'), BackendModel::createURLForAction('Statistics') . '&amp;id=[id]', BL::lbl('Statistics'), array('class' => 'button icon iconStats linkButton'));
     }
     // add styles
     $this->dgUnsentMailings->setColumnAttributes('name', array('class' => 'title'));
     // set paging limit
     $this->dgSentMailings->setPagingLimit(self::SENT_MAILINGS_PAGING_LIMIT);
 }