Commit 554b676f authored by Mat's avatar Mat

calcul du prix, arrondi et total

parent d8d2a470
......@@ -114,18 +114,34 @@ class MembreController extends MasterController
$form = $this->createForm(CommandeType::class, $commande);
$form->handleRequest($request);
/**
* POST
*/
if ($form->isSubmitted() && $form->isValid())
{
dump($form);
$total = 0.0;
foreach ($commande->getCommandeLegumes() as $item)
{
if ($item->getQuantite() === 0.0) {
/**
* - 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
*/
if ( $item->getQuantite() === 0.0 && $item->getPrix() === 0.0 )
{
$commande->removeCommandeLegumes($item);
}
else {
$item->setPrix($item->getPrixUnitaire() * $item->getQuantite());
} else {
if ($item->getPrix() === 0.0)
{
$item->setPrix(
round($item->getPrixUnitaire() * $item->getQuantite(), 2)
);
} else {
$item->setQuantite(
round($item->getPrix() / $item->getPrixUnitaire(), 3)
);
}
$total += $item->getPrix();
}
}
......
......@@ -5,7 +5,7 @@ namespace PotageBundle\Form\Membre;
use PotageBundle\Entity\CommandeLegumes;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\MoneyType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\NumberType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
......@@ -23,9 +23,12 @@ class CommandeLegumesType extends AbstractType
'disabled' => true,
))
*/
->add('quantite')
->add('quantite', NumberType::class, array(
'scale' => 3, //décimales
))
->add('prix', MoneyType::class, array(
'currency' => 'EUR'
'currency' => 'EUR',
'scale' => 2
))
;
}
......
......@@ -14,7 +14,12 @@ class CommandeType extends AbstractType
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('prixTotal')
/*
->add('prixTotal', MoneyType::class, array(
'currency' => 'EUR',
'scale' => 2
))
*/
->add('commandeLegumes', CollectionType::class, array(
'entry_type' => CommandeLegumesType::class,
'entry_options' => array('label' => false),
......
......@@ -55,7 +55,9 @@
</li>
{% endfor %}
</ul>
{{ form_row(formCommande.prixTotal) }}
{#
{{ form_row(formCommande.prixTotal) }}
#}
{{ form_end(formCommande) }}
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