Browse Source

[Producer] Bug commande produit indisponible

develop
Guillaume Bourgeois 2 months 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

@@ -431,7 +431,10 @@ class OrderController extends ProducerBaseController

$availableProducts = $orderModule->findProductDistributionsByDistribution($distribution);
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->id_order = $order->id;
$productOrder->id_product = $product->id;

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

@@ -433,7 +433,7 @@ $this->setMeta('description', $producerModule->getSeoGenerator()->generateMetaDe
<template v-if="priceTotal() > 0">
<h3>Résumé</h3>
<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="name">{{ product.name }}</span>
<!--<span class="other">

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

@@ -539,7 +539,8 @@ var app = new Vue({
},
oneProductOrdered: function() {
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 ;
}
}
@@ -548,7 +549,8 @@ var app = new Vue({
countProductOrdered: function() {
var count = 0 ;
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') {
count ++ ;
}
@@ -563,7 +565,7 @@ var app = new Vue({
var price = 0 ;
for(var key in this.products) {
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);
}
}
@@ -727,8 +729,10 @@ var app = new Vue({
getProductsArray: function() {
var productsArray = {} ;
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 ;
}
}

Loading…
Cancel
Save