add inline forms
This commit is contained in:
parent
e3a909f18c
commit
a1d889e7df
|
@ -43,6 +43,7 @@ class CategoryAdminController extends CrudController
|
|||
->setMaxPerPage('index', 100)
|
||||
|
||||
->setView('form', 'blog/category_admin/_form.html.twig')
|
||||
->setDoubleClick('index', true)
|
||||
|
||||
->setDefaultSort('index', 'title', 'asc')
|
||||
|
||||
|
|
|
@ -23,6 +23,10 @@ use App\Core\Entity\EntityInterface;
|
|||
use App\Entity\Blog\Post;
|
||||
use App\Analytic\DateRangeAnalytic;
|
||||
use App\Core\Repository\Site\NodeRepository;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
|
||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||
|
||||
#[Route(path: '/admin/blog/post')]
|
||||
class PostAdminController extends CrudController
|
||||
|
@ -37,6 +41,7 @@ class PostAdminController extends CrudController
|
|||
|
||||
->setPageRoute('index', 'admin_blog_post_index')
|
||||
->setPageRoute('edit', 'admin_blog_post_edit')
|
||||
->setPageRoute('inline_edit', 'admin_blog_post_inline_edit')
|
||||
->setPageRoute('new', 'admin_blog_post_new')
|
||||
->setPageRoute('show', 'admin_blog_post_show')
|
||||
->setPageRoute('delete', 'admin_blog_post_delete')
|
||||
|
@ -54,6 +59,7 @@ class PostAdminController extends CrudController
|
|||
->setView('edit', 'blog/post_admin/edit.html.twig')
|
||||
->setView('show', 'blog/post_admin/show.html.twig')
|
||||
->setView('index', 'blog/post_admin/index.html.twig')
|
||||
->setDoubleClick('index', true)
|
||||
|
||||
->setDefaultSort('index', 'id', 'desc')
|
||||
->setField('index', 'Titre', TextField::class, [
|
||||
|
@ -79,11 +85,47 @@ class PostAdminController extends CrudController
|
|||
'format' => 'd/m/Y H:i',
|
||||
'sort' => ['publishedAt', '.publishedAt'],
|
||||
'attr' => ['class' => 'miw-200'],
|
||||
'inline_form' => function(FormBuilderInterface $builder) {
|
||||
$builder->add(
|
||||
'publishedAt',
|
||||
DateTimeType::class,
|
||||
[
|
||||
'label' => 'Date de publication',
|
||||
'required' => false,
|
||||
'html5' => true,
|
||||
'widget' => 'single_text',
|
||||
'attr' => [
|
||||
'data-datetime' => '',
|
||||
],
|
||||
'constraints' => [
|
||||
],
|
||||
]
|
||||
);
|
||||
},
|
||||
])
|
||||
->setField('index', 'Status', TextField::class, [
|
||||
'view' => 'blog/post_admin/field/status.html.twig',
|
||||
'sort' => ['status', '.status'],
|
||||
'attr' => ['class' => 'miw-100'],
|
||||
'inline_form' => function(FormBuilderInterface $builder) {
|
||||
$builder->add(
|
||||
'status',
|
||||
ChoiceType::class,
|
||||
[
|
||||
'label' => 'Statut',
|
||||
'required' => true,
|
||||
'choices' => [
|
||||
'Brouillon' => Entity::DRAFT,
|
||||
'Publié' => Entity::PUBLISHED,
|
||||
],
|
||||
'attr' => [
|
||||
],
|
||||
'constraints' => [
|
||||
new NotBlank(),
|
||||
],
|
||||
]
|
||||
);
|
||||
}
|
||||
])
|
||||
->setBatchAction('index', 'delete', 'Delete', function(EntityInterface $entity, EntityManager $manager) {
|
||||
$manager->delete($entity);
|
||||
|
@ -145,6 +187,12 @@ class PostAdminController extends CrudController
|
|||
);
|
||||
}
|
||||
|
||||
#[Route(path: "/inline_edit/{entity}/{context}/{label}", name: 'admin_blog_post_inline_edit', methods: ['GET', 'POST'])]
|
||||
public function inlineEdit(string $context, string $label, Entity $entity, EntityManager $entityManager, Request $request): Response
|
||||
{
|
||||
return $this->doInlineEdit($context, $label, $entity, $entityManager, $request);
|
||||
}
|
||||
|
||||
#[Route(path: '/show/{entity}', name: 'admin_blog_post_show')]
|
||||
public function show(Entity $entity): Response
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue