Commit 2994cad6 authored by Mat's avatar Mat

formCommande, les input sont hidden, le form est réparé >>

était cassé depuis le 'disabled => true'
parent 8eff6bdf
...@@ -116,37 +116,36 @@ class MembreController extends MasterController ...@@ -116,37 +116,36 @@ class MembreController extends MasterController
$form->handleRequest($request); $form->handleRequest($request);
/** /**
* POST * POST request
*/ */
if ($form->isSubmitted() && $form->isValid()) if ($form->isSubmitted() && $form->isValid())
{ {
$total = 0.0; $total = 0;
foreach ($commande->getCommandeLegumes() as $item) foreach ($commande->getCommandeLegumes() as $item)
{ {
/** /**
* - on évacue les légumes qui ne sont pas sélectionnés * - on évacue les légumes qui ne sont pas sélectionnés
* - soit on calcule le prix sur base de la quantité
* - soit on calcule la quantité sur base du prix * - soit on calcule la quantité sur base du prix
* - soit on calcule le prix sur base de la quantité
*/ */
if ( $item->getQuantite() === 0.0 && $item->getPrix() === 0.0 ) if ( $item->getQuantite() === "0" && $item->getPrix() === "0" )
{ {
$commande->removeCommandeLegumes($item); $commande->removeCommandeLegumes($item);
} else { } else {
if ($item->getPrix() === 0.0) if ($item->getQuantite() === "0")
{ {
$item->setPrix(
round($item->getPrixUnitaire() * $item->getQuantite(), 2)
);
} else {
$item->setQuantite( $item->setQuantite(
round($item->getPrix() / $item->getPrixUnitaire(), 3) round($item->getPrix() / $item->getPrixUnitaire(), 3)
); );
} else {
$item->setPrix(
round($item->getPrixUnitaire() * $item->getQuantite(), 2)
);
} }
$total += $item->getPrix(); $total += $item->getPrix();
} }
} }
$commande->setPrixTotal($total); $commande->setPrixTotal($total);
dump($commande);
$em = $this->getDoctrine()->getManager(); $em = $this->getDoctrine()->getManager();
$em->persist($commande); $em->persist($commande);
......
...@@ -4,8 +4,7 @@ namespace PotageBundle\Form\Membre; ...@@ -4,8 +4,7 @@ namespace PotageBundle\Form\Membre;
use PotageBundle\Entity\CommandeLegumes; use PotageBundle\Entity\CommandeLegumes;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\MoneyType; use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\Form\Extension\Core\Type\NumberType;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\OptionsResolver\OptionsResolver;
...@@ -14,14 +13,9 @@ class CommandeLegumesType extends AbstractType ...@@ -14,14 +13,9 @@ class CommandeLegumesType extends AbstractType
public function buildForm(FormBuilderInterface $builder, array $options) public function buildForm(FormBuilderInterface $builder, array $options)
{ {
$builder $builder
->add('quantite', NumberType::class, array( ->add('quantite', HiddenType::class, array(
'scale' => 3, //décimales
'disabled' => true,
)) ))
->add('prix', MoneyType::class, array( ->add('prix', HiddenType::class, array(
'currency' => 'EUR',
'scale' => 2,
'disabled' => true,
)) ))
; ;
} }
......
...@@ -22,8 +22,8 @@ class CommandeType extends AbstractType ...@@ -22,8 +22,8 @@ class CommandeType extends AbstractType
'allow_delete' => true, 'allow_delete' => true,
)) ))
->add('sauver', SubmitType::class, array( ->add('sauver', SubmitType::class, array(
'label' => 'Enregistrer', 'label' => 'Enregistrer la commande',
'attr' => array('class' => 'btn btn-dark mb-2') 'attr' => array('class' => 'btn btn-lg btn-block btn-primary mb-2')
)) ))
; ;
} }
...@@ -31,9 +31,11 @@ class CommandeType extends AbstractType ...@@ -31,9 +31,11 @@ class CommandeType extends AbstractType
public function configureOptions(OptionsResolver $resolver) public function configureOptions(OptionsResolver $resolver)
{ {
parent::configureOptions($resolver); parent::configureOptions($resolver);
$resolver->setDefault('data_class', Commande::class); $resolver->setDefaults(array(
$resolver->setDefault('attr', array( 'data_class' => Commande::class,
'class' => 'formulaire formulaire_commande', 'attr' => array(
'class' => 'formulaire_commande',
)
)); ));
} }
......
...@@ -32,13 +32,13 @@ ...@@ -32,13 +32,13 @@
</tbody> </tbody>
</table> </table>
<button type="button" class="btn btn-lg btn-block btn-primary float-right">Envoyer la commande</button> <button type="submit" id="commande_sauver" name="commande[sauver]" class="btn btn-lg btn-block btn-primary mb-2"><i class="fas fa-shopping-bag fa-fw"></i> Enregistrer la commande</button>
#} #}
{{ form_start(formCommande) }} {{ form_start(formCommande) }}
<ul id="commandeLegumes"> <ul id="commandeLegumes">
{% for legume in formCommande.commandeLegumes %} {% for legume in formCommande.commandeLegumes %}
<li class="formItem" data-legume-id="{{ legume.vars.data.offreLegume.id }}"> <li class="formItem hidden" data-legume-id="{{ legume.vars.data.offreLegume.id }}">
{{ form_row(legume.quantite) }} {{ form_row(legume.quantite) }}
{{ form_row(legume.prix) }} {{ form_row(legume.prix) }}
</li> </li>
......
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