Your IP : 216.73.217.79


Current Path : /var/www/v3.cesa.co.za/src/ContactBundle/Admin/
Upload File :
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;
    }
}