Browse Source

[Administration] Distributions : optimisation mise à jour des quantités maximum

feature/rotating_product
Guillaume Bourgeois 5 months ago
parent
commit
63f04d9605
2 changed files with 19 additions and 3 deletions
  1. +7
    -1
      backend/controllers/DistributionController.php
  2. +12
    -2
      backend/web/js/vuejs/distribution-index.js

+ 7
- 1
backend/controllers/DistributionController.php View File

@@ -673,7 +673,13 @@ class DistributionController extends BackendController
$productDistributionModule = $this->getProductDistributionModule();
$productDistribution = $this->getProductDistribution($idProduct, $idDistribution);
$productDistributionModule->updateProductDistributionQuantityMax($productDistribution, (float) $quantityMax);
return ['success'];
return [
'quantity_remaining' => $this->getOrderModule()->getResolver()
->getProductQuantityRemaining(
$productDistribution->product,
$productDistribution->distribution
)
];
}

public function actionAjaxProcessActiveProduct(int $idDistribution, int $idProduct, int $active)

+ 12
- 2
backend/web/js/vuejs/distribution-index.js View File

@@ -351,15 +351,16 @@ if($(selector).length) {
productQuantityMaxChange: function (event) {
var app = this;
var quantityMax = event.currentTarget.value;
var idProduct = event.currentTarget.getAttribute('data-id-product');
axios.get("ajax-process-product-quantity-max", {
params: {
idDistribution: this.distribution.id,
idProduct: event.currentTarget.getAttribute('data-id-product'),
idProduct: idProduct,
quantityMax: (!quantityMax || quantityMax.length === 0) ? -1 : quantityMax
}
})
.then(function (response) {
app.init(app.idActivePointSale);
Vue.set(app.products[app.getProductIndex(idProduct)], 'quantity_remaining', response.data.quantity_remaining);
});
},
productActiveClick: function (event) {
@@ -994,6 +995,15 @@ if($(selector).length) {

return false;
},
getProductIndex: function(idProduct) {
for (var i = 0; i < this.products.length; i++) {
if (this.products[i].id == idProduct) {
return i;
}
}

return false;
},
countDocuments: function (order) {
var count = 0;


Loading…
Cancel
Save