add inline forms
This commit is contained in:
parent
e3a909f18c
commit
a1d889e7df
|
@ -43,6 +43,7 @@ class CategoryAdminController extends CrudController
|
||||||
->setMaxPerPage('index', 100)
|
->setMaxPerPage('index', 100)
|
||||||
|
|
||||||
->setView('form', 'blog/category_admin/_form.html.twig')
|
->setView('form', 'blog/category_admin/_form.html.twig')
|
||||||
|
->setDoubleClick('index', true)
|
||||||
|
|
||||||
->setDefaultSort('index', 'title', 'asc')
|
->setDefaultSort('index', 'title', 'asc')
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,10 @@ use App\Core\Entity\EntityInterface;
|
||||||
use App\Entity\Blog\Post;
|
use App\Entity\Blog\Post;
|
||||||
use App\Analytic\DateRangeAnalytic;
|
use App\Analytic\DateRangeAnalytic;
|
||||||
use App\Core\Repository\Site\NodeRepository;
|
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')]
|
#[Route(path: '/admin/blog/post')]
|
||||||
class PostAdminController extends CrudController
|
class PostAdminController extends CrudController
|
||||||
|
@ -37,6 +41,7 @@ class PostAdminController extends CrudController
|
||||||
|
|
||||||
->setPageRoute('index', 'admin_blog_post_index')
|
->setPageRoute('index', 'admin_blog_post_index')
|
||||||
->setPageRoute('edit', 'admin_blog_post_edit')
|
->setPageRoute('edit', 'admin_blog_post_edit')
|
||||||
|
->setPageRoute('inline_edit', 'admin_blog_post_inline_edit')
|
||||||
->setPageRoute('new', 'admin_blog_post_new')
|
->setPageRoute('new', 'admin_blog_post_new')
|
||||||
->setPageRoute('show', 'admin_blog_post_show')
|
->setPageRoute('show', 'admin_blog_post_show')
|
||||||
->setPageRoute('delete', 'admin_blog_post_delete')
|
->setPageRoute('delete', 'admin_blog_post_delete')
|
||||||
|
@ -54,6 +59,7 @@ class PostAdminController extends CrudController
|
||||||
->setView('edit', 'blog/post_admin/edit.html.twig')
|
->setView('edit', 'blog/post_admin/edit.html.twig')
|
||||||
->setView('show', 'blog/post_admin/show.html.twig')
|
->setView('show', 'blog/post_admin/show.html.twig')
|
||||||
->setView('index', 'blog/post_admin/index.html.twig')
|
->setView('index', 'blog/post_admin/index.html.twig')
|
||||||
|
->setDoubleClick('index', true)
|
||||||
|
|
||||||
->setDefaultSort('index', 'id', 'desc')
|
->setDefaultSort('index', 'id', 'desc')
|
||||||
->setField('index', 'Titre', TextField::class, [
|
->setField('index', 'Titre', TextField::class, [
|
||||||
|
@ -79,11 +85,47 @@ class PostAdminController extends CrudController
|
||||||
'format' => 'd/m/Y H:i',
|
'format' => 'd/m/Y H:i',
|
||||||
'sort' => ['publishedAt', '.publishedAt'],
|
'sort' => ['publishedAt', '.publishedAt'],
|
||||||
'attr' => ['class' => 'miw-200'],
|
'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, [
|
->setField('index', 'Status', TextField::class, [
|
||||||
'view' => 'blog/post_admin/field/status.html.twig',
|
'view' => 'blog/post_admin/field/status.html.twig',
|
||||||
'sort' => ['status', '.status'],
|
'sort' => ['status', '.status'],
|
||||||
'attr' => ['class' => 'miw-100'],
|
'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) {
|
->setBatchAction('index', 'delete', 'Delete', function(EntityInterface $entity, EntityManager $manager) {
|
||||||
$manager->delete($entity);
|
$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')]
|
#[Route(path: '/show/{entity}', name: 'admin_blog_post_show')]
|
||||||
public function show(Entity $entity): Response
|
public function show(Entity $entity): Response
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue