<?php
namespace AdminBundle\Admin\DCAutoSite;
use AdminBundle\Admin\BasePostAdmin;
use CoreBundle\Entity\Post;
use CoreBundle\Services\Seo\AutomaticSeoGenerationAdmin;
use Sonata\AdminBundle\Form\FormMapper;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
class NewsAdmin extends BasePostAdmin
{
protected $baseRouteName = 'admin_vendor_adminbundle_dc_newsadmin';
protected $baseRoutePattern = 'dc-post-news';
protected AutomaticSeoGenerationAdmin $automaticSeoGenerationAdmin;
public function setExtraServices(AutomaticSeoGenerationAdmin $automaticSeoGenerationAdmin)
{
$this->automaticSeoGenerationAdmin = $automaticSeoGenerationAdmin;
}
/**
* @param FormMapper $formMapper
*/
protected function configureFormFields(FormMapper $formMapper): void
{
$formMapper
->tab('Основная информация')
->with(' ', ['class' => 'col-lg-6 without-box-heder'])
->add('on_portal', CheckboxType::class, ['label' => 'Показывать на портале', 'required' => false])
->end()
->end()
;
parent::configureFormFields($formMapper);
}
public function preUpdate($object): void
{
$dealer = $object->getDealer();
$service = $this->automaticSeoGenerationAdmin;
$service->setUpFields($object,$dealer);
parent::preUpdate($object);
}
/**
* @param Post $object
*/
public function postPersist($object): void
{
$dealer = $object->getDealer();
$service = $this->automaticSeoGenerationAdmin;
$service->setUpFields($object,$dealer);
parent::postPersist($object);
}
}