Browse Source

[Producer] Bug commande produit indisponible

develop
Guillaume Bourgeois 1 month ago
parent
commit
574e81d896
3 changed files with 14 additions and 7 deletions
  1. +4
    -1
      producer/controllers/OrderController.php
  2. +1
    -1
      producer/views/order/order.php
  3. +9
    -5
      producer/web/js/vuejs/order-order.js

+ 4
- 1
producer/controllers/OrderController.php View File



$availableProducts = $orderModule->findProductDistributionsByDistribution($distribution); $availableProducts = $orderModule->findProductDistributionsByDistribution($distribution);
foreach ($productsArray as $product) { foreach ($productsArray as $product) {
if (isset($availableProducts[$product->id])) {
if (isset($availableProducts[$product->id])
&& $availableProducts[$product->id]
&& $availableProducts[$product->id]['active']) {

$productOrder = new ProductOrder(); $productOrder = new ProductOrder();
$productOrder->id_order = $order->id; $productOrder->id_order = $order->id;
$productOrder->id_product = $product->id; $productOrder->id_product = $product->id;

+ 1
- 1
producer/views/order/order.php View File

<template v-if="priceTotal() > 0"> <template v-if="priceTotal() > 0">
<h3>Résumé</h3> <h3>Résumé</h3>
<ul> <ul>
<li v-for="product in products" v-if="product.quantity_form > 0">
<li v-for="product in products" v-if="isProductAvailable(product) && product.quantity_form > 0">
<span class="quantity">{{ product.quantity_form }} {{ product.unit == 'piece' ? 'p.' : product.unit }}</span> <span class="quantity">{{ product.quantity_form }} {{ product.unit == 'piece' ? 'p.' : product.unit }}</span>
<span class="name">{{ product.name }}</span> <span class="name">{{ product.name }}</span>
<!--<span class="other"> <!--<span class="other">

+ 9
- 5
producer/web/js/vuejs/order-order.js View File

}, },
oneProductOrdered: function() { oneProductOrdered: function() {
for(var key in this.products) { for(var key in this.products) {
if(this.products[key].quantity_form > 0) {
if(this.isProductAvailable(this.products[key])
&& this.products[key].quantity_form > 0) {
return true ; return true ;
} }
} }
countProductOrdered: function() { countProductOrdered: function() {
var count = 0 ; var count = 0 ;
for(var key in this.products) { for(var key in this.products) {
if(this.products[key].quantity_form > 0) {
if(this.isProductAvailable(this.products[key])
&& this.products[key].quantity_form > 0) {
if(this.products[key].unit != 'piece') { if(this.products[key].unit != 'piece') {
count ++ ; count ++ ;
} }
var price = 0 ; var price = 0 ;
for(var key in this.products) { for(var key in this.products) {
var quantity = this.products[key].quantity_form; var quantity = this.products[key].quantity_form;
if(quantity > 0) {
if(this.isProductAvailable(this.products[key]) && quantity > 0) {
price += (quantity / this.products[key].unit_coefficient) * this.getBestProductPrice(this.products[key].id, this.products[key].quantity_form); price += (quantity / this.products[key].unit_coefficient) * this.getBestProductPrice(this.products[key].id, this.products[key].quantity_form);
} }
} }
getProductsArray: function() { getProductsArray: function() {
var productsArray = {} ; var productsArray = {} ;
for(var key in this.products) { for(var key in this.products) {
if( this.products[key].quantity_form != null &&
this.products[key].quantity_form > 0) {
if( this.isProductAvailable(this.products[key])
&& this.products[key].quantity_form != null
&& this.products[key].quantity_form > 0) {

productsArray[this.products[key].id] = this.products[key].quantity_form ; productsArray[this.products[key].id] = this.products[key].quantity_form ;
} }
} }

Loading…
Cancel
Save