Commit 517a741d by Frédéric

Flux form

parent a4a35e57
...@@ -4,8 +4,8 @@ namespace Bolt\Extension\Appolo\Tourinsoft\Controller\Backend; ...@@ -4,8 +4,8 @@ namespace Bolt\Extension\Appolo\Tourinsoft\Controller\Backend;
use Bolt\Application; use Bolt\Application;
use Bolt\Controller\Backend\BackendBase; use Bolt\Controller\Backend\BackendBase;
use Bolt\Extension\Appolo\Tourinsoft\Form\FluxType;
use Bolt\Extension\Appolo\Tourinsoft\Storage\Entity\Flux; use Bolt\Extension\Appolo\Tourinsoft\Storage\Entity\Flux;
use Bolt\Extension\Appolo\Tourinsoft\Storage\Repository\FluxRepository;
use Bolt\Extension\Appolo\Tourinsoft\Synchronisation\Synchronisation; use Bolt\Extension\Appolo\Tourinsoft\Synchronisation\Synchronisation;
use Silex\ControllerCollection; use Silex\ControllerCollection;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
...@@ -65,10 +65,9 @@ class FluxController extends BackendBase ...@@ -65,10 +65,9 @@ class FluxController extends BackendBase
* @throws \Exception * @throws \Exception
*/ */
public function add(Request $request) { public function add(Request $request) {
$flux = $this->getRepository(Flux::class)->findAll(); $form = $this->createFormBuilder(FluxType::class, new Flux())
->getForm()
$form = $this->createForm('Bolt\Extension\Appolo\Tourinsoft\Form\FluxType', new Flux()); ->handleRequest($request);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) if ($form->isSubmitted() && $form->isValid())
{ {
...@@ -81,8 +80,7 @@ class FluxController extends BackendBase ...@@ -81,8 +80,7 @@ class FluxController extends BackendBase
} }
return $this->render('@tourinsoft/Backend/flux/add.html.twig', [], [ return $this->render('@tourinsoft/Backend/flux/add.html.twig', [], [
'form' => $form->createView(), 'form' => $form->createView()
'flux' => $flux
]); ]);
} }
...@@ -99,7 +97,7 @@ class FluxController extends BackendBase ...@@ -99,7 +97,7 @@ class FluxController extends BackendBase
return $this->redirectToRoute('tourinsoft_admin_flux_index'); return $this->redirectToRoute('tourinsoft_admin_flux_index');
} }
$form = $this->createForm('Bolt\Extension\Appolo\Tourinsoft\Form\FluxType', $flux); $form = $this->createForm(FluxType::class, $flux, ['edit_mode' => true]);
$form->handleRequest($request); $form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) if ($form->isSubmitted() && $form->isValid())
......
...@@ -6,6 +6,7 @@ use Symfony\Component\Form\AbstractType; ...@@ -6,6 +6,7 @@ use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\NotBlank;
class FluxType extends AbstractType class FluxType extends AbstractType
{ {
...@@ -20,28 +21,68 @@ class FluxType extends AbstractType ...@@ -20,28 +21,68 @@ class FluxType extends AbstractType
TextType::class, TextType::class,
[ [
'label' => 'Titre', 'label' => 'Titre',
'required' => false 'required' => true,
'attr' => [
'class' => 'form-control'
],
'label_attr' => [
'class' => 'main control-label col-xs-12'
],
'constraints' => array(
new NotBlank([
'message' => 'Le titre est requis.'
])
),
]) ])
->add( ->add(
'code', 'code',
TextType::class, TextType::class,
[ [
'label' => 'Code', 'label' => 'Code',
'required' => false 'required' => false,
'attr' => [
'class' => 'form-control'
],
'label_attr' => [
'class' => 'main control-label col-xs-12'
]
]) ])
->add( ->add(
'key', 'key',
TextType::class, TextType::class,
[ [
'label' => 'Key', 'label' => 'Key',
'required' => false 'required' => true,
'attr' => [
'class' => 'form-control'
],
'label_attr' => [
'class' => 'main control-label col-xs-12'
],
'constraints' => array(
new NotBlank([
'message' => 'La clé est requise.'
])
),
]) ])
->add( ->add(
'contentType', 'contentType',
TextType::class, TextType::class,
[ [
'label' => 'Content Type', 'label' => 'Content Type',
'required' => false 'required' => true,
'read_only' => $options['edit_mode'],
'attr' => [
'class' => 'form-control'
],
'label_attr' => [
'class' => 'main control-label col-xs-12'
],
'constraints' => array(
new NotBlank([
'message' => 'Le type de contenu est requis.'
])
),
]) ])
; ;
} }
...@@ -51,7 +92,9 @@ class FluxType extends AbstractType ...@@ -51,7 +92,9 @@ class FluxType extends AbstractType
*/ */
public function configureOptions(OptionsResolver $resolver) public function configureOptions(OptionsResolver $resolver)
{ {
$resolver->setDefaults([]); $resolver->setDefaults([
'edit_mode' => false
]);
} }
/* /*
......
...@@ -12,25 +12,47 @@ ...@@ -12,25 +12,47 @@
{% block page_main %} {% block page_main %}
{{ form_start(form) }} {{ form_start(form) }}
<div class="col-md-8"> <div class="col-md-8">
<div data-bolt-fieldset="text">
<fieldset class="form-group bolt-field-text">
{{ form_label(form.title) }} {{ form_label(form.title) }}
<div class="col-xs-12">
{{ form_widget(form.title) }} {{ form_widget(form.title) }}
{{ form_errors(form.title) }} {{ form_errors(form.title) }}
</div> </div>
<div class="col-md-8"> </fieldset>
</div>
<div data-bolt-fieldset="text">
<fieldset class="form-group bolt-field-text">
{{ form_label(form.code) }} {{ form_label(form.code) }}
<div class="col-xs-12">
{{ form_widget(form.code) }} {{ form_widget(form.code) }}
{{ form_errors(form.code) }} {{ form_errors(form.code) }}
</div> </div>
<div class="col-md-8"> </fieldset>
</div>
<div data-bolt-fieldset="text">
<fieldset class="form-group bolt-field-text">
{{ form_label(form.key) }} {{ form_label(form.key) }}
<div class="col-xs-12">
{{ form_widget(form.key) }} {{ form_widget(form.key) }}
{{ form_errors(form.key) }} {{ form_errors(form.key) }}
</div> </div>
<div class="col-md-8"> </fieldset>
</div>
<div data-bolt-fieldset="text">
<fieldset class="form-group bolt-field-text">
{{ form_label(form.contentType) }} {{ form_label(form.contentType) }}
<div class="col-xs-12">
{{ form_widget(form.contentType) }} {{ form_widget(form.contentType) }}
{{ form_errors(form.contentType) }} {{ form_errors(form.contentType) }}
</div> </div>
</fieldset>
</div>
</div>
<!-- sidebar --> <!-- sidebar -->
<aside class="col-md-4"> <aside class="col-md-4">
<div class="panel panel-default panel-news"> <div class="panel panel-default panel-news">
...@@ -39,7 +61,7 @@ ...@@ -39,7 +61,7 @@
{{ __('Actions') }} {{ __('Actions') }}
</div> </div>
<div class="panel-body"> <div class="panel-body">
<button type="submit" class="btn btn-primary"> Valider l'ajout </button> <button type="submit" class="btn btn-primary"> Valider la modification </button>
<br/> <br/>
<a class="btn btn-default" style="margin-top: 1em;" href="{{ path('tourinsoft_admin_flux_index') }}"> <a class="btn btn-default" style="margin-top: 1em;" href="{{ path('tourinsoft_admin_flux_index') }}">
<i class="fa fa-undo" aria-hidden="true"></i> {{ __('Retour à la liste des flux') }} <i class="fa fa-undo" aria-hidden="true"></i> {{ __('Retour à la liste des flux') }}
......
...@@ -12,25 +12,47 @@ ...@@ -12,25 +12,47 @@
{% block page_main %} {% block page_main %}
{{ form_start(form) }} {{ form_start(form) }}
<div class="col-md-8"> <div class="col-md-8">
<div data-bolt-fieldset="text">
<fieldset class="form-group bolt-field-text">
{{ form_label(form.title) }} {{ form_label(form.title) }}
<div class="col-xs-12">
{{ form_widget(form.title) }} {{ form_widget(form.title) }}
{{ form_errors(form.title) }} {{ form_errors(form.title) }}
</div> </div>
<div class="col-md-8"> </fieldset>
</div>
<div data-bolt-fieldset="text">
<fieldset class="form-group bolt-field-text">
{{ form_label(form.code) }} {{ form_label(form.code) }}
<div class="col-xs-12">
{{ form_widget(form.code) }} {{ form_widget(form.code) }}
{{ form_errors(form.code) }} {{ form_errors(form.code) }}
</div> </div>
<div class="col-md-8"> </fieldset>
</div>
<div data-bolt-fieldset="text">
<fieldset class="form-group bolt-field-text">
{{ form_label(form.key) }} {{ form_label(form.key) }}
<div class="col-xs-12">
{{ form_widget(form.key) }} {{ form_widget(form.key) }}
{{ form_errors(form.key) }} {{ form_errors(form.key) }}
</div> </div>
<div class="col-md-8"> </fieldset>
</div>
<div data-bolt-fieldset="text">
<fieldset class="form-group bolt-field-text">
{{ form_label(form.contentType) }} {{ form_label(form.contentType) }}
{{ form_widget(form.contentType, {'attr': {'readonly' : 'true'} }) }} <div class="col-xs-12">
{{ form_widget(form.contentType) }}
{{ form_errors(form.contentType) }} {{ form_errors(form.contentType) }}
</div> </div>
</fieldset>
</div>
</div>
<!-- sidebar --> <!-- sidebar -->
<aside class="col-md-4"> <aside class="col-md-4">
<div class="panel panel-default panel-news"> <div class="panel panel-default panel-news">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment