| Current Path : /var/www/v3.cesa.co.za/src/UserBundle/Admin/ |
| Current File : /var/www/v3.cesa.co.za/src/UserBundle/Admin/ClientAdmin.php |
<?php
namespace App\UserBundle\Admin;
use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Validator\ErrorElement;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Show\ShowMapper;
/**
* Client Admin
*
* @author Otto Saayman <otto@igotafrica.com>
* @package UserBundle
* @subpackage Admin
* @version 0.0.1
*/
class ClientAdmin extends AbstractAdmin {
protected function generateBaseRouteName(bool $isChildAdmin = false): string
{
return 'client';
}
protected function generateBaseRoutePattern(bool $isChildAdmin = false): string
{
return 'client';
}
protected function configureFormFields(FormMapper $formMapper): void {
$formMapper
->add('name')
->add('public_id')
->add('user_list')
;
}
protected function configureDatagridFilters(DatagridMapper $datagridMapper): void {
$datagridMapper
->add('name')
->add('public_id')
;
}
protected function configureListFields(ListMapper $listMapper): void {
$listMapper
->addIdentifier('name')
->add('public_id')
->add('user_list')
->add('_action', 'actions', array(
'actions' => array(
'show' => array(),
'edit' => array(),
'delete' => array(),
)
))
;
}
protected function configureShowFields(ShowMapper $show): void {
$show
->add('name')
->add('public_id')
->add('secret')
;
}
public function prePersist($client): void {
$this->preUpdatePersist($client);
}
public function preUpdate($client): void {
$this->preUpdatePersist($client);
}
public function preUpdatePersist($client) {
if (is_null($client->getSecret())) {
$client->setSecret(rand(1, 100000));
}
}
}