| Current Path : /var/www/v3.cesa.co.za/src/ContactBundle/Admin/ |
| Current File : /var/www/v3.cesa.co.za/src/ContactBundle/Admin/MessageRecipientAdmin.php |
<?php
namespace App\ContactBundle\Admin;
use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Show\ShowMapper;
/**
* Message Recipient Admin
*
* @author Otto Saayman <otto@igotafrica.com>
* @package ContactBundle
* @subpackage Admin
* @version 0.0.1
*/
class MessageRecipientAdmin extends AbstractAdmin {
protected function generateBaseRouteName(bool $isChildAdmin = false): string
{
return 'message_recipient';
}
protected function generateBaseRoutePattern(bool $isChildAdmin = false): string
{
return 'message_recipient';
}
protected $container;
/**
* @return null
*/
public function setContainer($container) {
$this->container = $container;
}
protected function configureShowFields(ShowMapper $showMapper): void {
$showMapper
->add('message', null, array('label' => 'Message'))
->add('message_error_text', null, array('label' => 'Message Error'))
->add('to_e_mail')
->add('to_name')
->add('sent')
->add('date_sent')
;
}
protected function configureFormFields(FormMapper $formMapper): void {
$formMapper
->add('to_e_mail', 'email', array('label' => 'E-Mail'))
->add('to_name', null, array('label' => 'Recipient'))
->add('sent')
->add('date_sent')
->add('message_error_text', 'text', array('label' => 'Message Error', 'mapped' => false, 'required' => false))
;
}
protected function configureDatagridFilters(DatagridMapper $datagridMapper): void {
$datagridMapper
->add('to_e_mail', null, array('label' => 'E-Mail'))
->add('to_name', null, array('label' => 'Recipient'))
->add('sent')
->add('date_sent')
;
}
protected function configureListFields(ListMapper $listMapper): void {
$listMapper
->addIdentifier('message.subject', null, array('label' => 'Message Subject'))
->add('message_error_text', null, array('label' => 'Message Error'))
->add('to_e_mail')
->add('to_name')
->add('sent')
->add('date_sent')
->add('_action', 'actions', array(
'actions' => array(
'show' => array(),
'delete' => array(),
)
))
;
}
public function configureBatchActions(array $actions): array {
if (
$this->hasRoute('edit') && $this->hasAccess('edit') &&
$this->hasRoute('delete') && $this->hasAccess('delete')
) {
$actions['clearq'] = array(
'ask_confirmation' => true,
'label' => 'Clear message queue',
);
}
return $actions;
}
}