Commit 517a741d by Frédéric

Flux form

parent a4a35e57
......@@ -4,8 +4,8 @@ namespace Bolt\Extension\Appolo\Tourinsoft\Controller\Backend;
use Bolt\Application;
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\Repository\FluxRepository;
use Bolt\Extension\Appolo\Tourinsoft\Synchronisation\Synchronisation;
use Silex\ControllerCollection;
use Symfony\Component\HttpFoundation\Request;
......@@ -65,10 +65,9 @@ class FluxController extends BackendBase
* @throws \Exception
*/
public function add(Request $request) {
$flux = $this->getRepository(Flux::class)->findAll();
$form = $this->createForm('Bolt\Extension\Appolo\Tourinsoft\Form\FluxType', new Flux());
$form->handleRequest($request);
$form = $this->createFormBuilder(FluxType::class, new Flux())
->getForm()
->handleRequest($request);
if ($form->isSubmitted() && $form->isValid())
{
......@@ -81,8 +80,7 @@ class FluxController extends BackendBase
}
return $this->render('@tourinsoft/Backend/flux/add.html.twig', [], [
'form' => $form->createView(),
'flux' => $flux
'form' => $form->createView()
]);
}
......@@ -99,7 +97,7 @@ class FluxController extends BackendBase
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);
if ($form->isSubmitted() && $form->isValid())
......
......@@ -6,6 +6,7 @@ use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\NotBlank;
class FluxType extends AbstractType
{
......@@ -20,28 +21,68 @@ class FluxType extends AbstractType
TextType::class,
[
'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(
'code',
TextType::class,
[
'label' => 'Code',
'required' => false
'required' => false,
'attr' => [
'class' => 'form-control'
],
'label_attr' => [
'class' => 'main control-label col-xs-12'
]
])
->add(
'key',
TextType::class,
[
'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(
'contentType',
TextType::class,
[
'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
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([]);
$resolver->setDefaults([
'edit_mode' => false
]);
}
/*
......
......@@ -12,25 +12,47 @@
{% block page_main %}
{{ form_start(form) }}
<div class="col-md-8">
<div data-bolt-fieldset="text">
<fieldset class="form-group bolt-field-text">
{{ form_label(form.title) }}
<div class="col-xs-12">
{{ form_widget(form.title) }}
{{ form_errors(form.title) }}
</div>
<div class="col-md-8">
</fieldset>
</div>
<div data-bolt-fieldset="text">
<fieldset class="form-group bolt-field-text">
{{ form_label(form.code) }}
<div class="col-xs-12">
{{ form_widget(form.code) }}
{{ form_errors(form.code) }}
</div>
<div class="col-md-8">
</fieldset>
</div>
<div data-bolt-fieldset="text">
<fieldset class="form-group bolt-field-text">
{{ form_label(form.key) }}
<div class="col-xs-12">
{{ form_widget(form.key) }}
{{ form_errors(form.key) }}
</div>
<div class="col-md-8">
</fieldset>
</div>
<div data-bolt-fieldset="text">
<fieldset class="form-group bolt-field-text">
{{ form_label(form.contentType) }}
<div class="col-xs-12">
{{ form_widget(form.contentType) }}
{{ form_errors(form.contentType) }}
</div>
</fieldset>
</div>
</div>
<!-- sidebar -->
<aside class="col-md-4">
<div class="panel panel-default panel-news">
......@@ -39,7 +61,7 @@
{{ __('Actions') }}
</div>
<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/>
<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') }}
......
......@@ -12,25 +12,47 @@
{% block page_main %}
{{ form_start(form) }}
<div class="col-md-8">
<div data-bolt-fieldset="text">
<fieldset class="form-group bolt-field-text">
{{ form_label(form.title) }}
<div class="col-xs-12">
{{ form_widget(form.title) }}
{{ form_errors(form.title) }}
</div>
<div class="col-md-8">
</fieldset>
</div>
<div data-bolt-fieldset="text">
<fieldset class="form-group bolt-field-text">
{{ form_label(form.code) }}
<div class="col-xs-12">
{{ form_widget(form.code) }}
{{ form_errors(form.code) }}
</div>
<div class="col-md-8">
</fieldset>
</div>
<div data-bolt-fieldset="text">
<fieldset class="form-group bolt-field-text">
{{ form_label(form.key) }}
<div class="col-xs-12">
{{ form_widget(form.key) }}
{{ form_errors(form.key) }}
</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_widget(form.contentType, {'attr': {'readonly' : 'true'} }) }}
<div class="col-xs-12">
{{ form_widget(form.contentType) }}
{{ form_errors(form.contentType) }}
</div>
</fieldset>
</div>
</div>
<!-- sidebar -->
<aside class="col-md-4">
<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