Sfoglia il codice sorgente

Correction : impossible de commander un produit qui n'a pas de quantité max de définie

master
keun 7 anni fa
parent
commit
618246b35f
3 ha cambiato i file con 16 aggiunte e 9 eliminazioni
  1. +4
    -3
      frontend/controllers/CommandeController.php
  2. +2
    -1
      frontend/views/commande/_form.php
  3. +10
    -5
      frontend/web/js/lechatdesnoisettes.js

+ 4
- 3
frontend/controllers/CommandeController.php Vedi File

@@ -126,9 +126,10 @@ class CommandeController extends \yii\web\Controller {

// produits
$produits = Produit::find()
->where(['actif' => 1, 'id_etablissement' => $id_etablissement])
->andWhere('vrac IS NULL OR vrac = 0')
->orderBy('order ASC')->all();
->leftJoin('production_produit', 'produit.id = production_produit.id_produit')
->where(['produit.actif' => 1, 'id_etablissement' => $id_etablissement])
->andWhere('produit.vrac IS NULL OR produit.vrac = 0')
->orderBy('produit.order ASC')->all();
$arr_produits = array();
foreach ($produits as $p)
$arr_produits[] = $p;

+ 2
- 1
frontend/views/commande/_form.php Vedi File

@@ -167,7 +167,8 @@ use common\models\Etablissement;
if (isset($produits_selec[$p->id]))
$quantite = $produits_selec[$p->id];
?>
<tr class="produit-<?php echo $p->id; ?>" data-quantite-max="<?= $quantite ?>" <?php if (count($produits_dispos) && !$produits_dispos[$p->id]['actif']): ?>style="display:none;"<?php endif; ?>>
<tr class="produit-<?php echo $p->id; ?>" data-no-limit="<?php if(!$p->quantite_max): ?>1<?php else: ?>0<?php endif; ?>" data-quantite-max="<?= $quantite ?>" <?php if (count($produits_dispos) && !$produits_dispos[$p->id]['actif']): ?>style="display:none;"<?php endif; ?>>
<td class="td-photo">
<?php if (strlen($p->photo) && file_exists(dirname(__FILE__).'/../../web/uploads/' . $p->photo)): ?><a href="<?= Yii::$app->urlManager->getBaseUrl() . '/uploads/' . $p->photo ?>" data-lightbox="produit-<?php echo $p->id; ?>"><img class="photo img-rounded" src="<?= Yii::$app->urlManager->getBaseUrl() . '/uploads/' . $p->photo ?>" alt="Photo <?= Html::encode($p->nom); ?>" /></a><?php endif; ?>
</td>

+ 10
- 5
frontend/web/js/lechatdesnoisettes.js Vedi File

@@ -305,14 +305,15 @@ function chat_systeme_commande() {
var quantite = parseInt($(this).parent().parent().find('input.quantity').val()) ;
var quantite_restante = parseInt($(this).parent().parent().parent().find('.quantite-restante .nb').html()) ;
var quantite_max = $(this).parent().parent().parent().parent().data('quantite-max') ;

var no_limit = $(this).parent().parent().parent().parent().data('no-limit') ;
if($(this).hasClass('moins') && quantite != 0) {
quantite -- ;
quantite_restante ++ ;
}
if($(this).hasClass('plus') ){
if(quantite_restante > 0) {
if(quantite_restante > 0 || no_limit) {
quantite ++ ;
quantite_restante -- ;
}
@@ -326,7 +327,7 @@ function chat_systeme_commande() {
else {
$(this).parent().parent().parent().find('.quantite-restante').hide() ;
}
if(quantite_restante == 0) {
if(quantite_restante == 0 && !no_limit) {
$(this).parent().parent().parent().find('.epuise').fadeIn() ;
}
else {
@@ -386,7 +387,10 @@ function chat_systeme_commande_produits_dispos(str_date, date) {
else $('.produit-'+id_produit).hide() ;
var quantite_restante = produit.quantite_max - produit.quantite_commandee ;
var no_limit = false ;
if(!produit.quantite_max)
no_limit = true ;
$('.produit-'+id_produit).attr('data-quantite-max',produit.quantite_max) ;
$('.produit-'+id_produit+' .quantite-restante .nb').html(quantite_restante) ;
@@ -406,7 +410,8 @@ function chat_systeme_commande_produits_dispos(str_date, date) {
}
if($('.produit-'+id_produit+' .quantite-restante').size()) {
if(parseInt($('.produit-'+id_produit+' .quantite-restante .nb').html()) > 5 || parseInt($('.produit-'+id_produit+' .quantite-restante .nb').html()) == 0) {
if(parseInt($('.produit-'+id_produit+' .quantite-restante .nb').html()) > 5 ||
parseInt($('.produit-'+id_produit+' .quantite-restante .nb').html()) <= 0) {
$('.produit-'+id_produit+' .quantite-restante').hide() ;
}
else {

Loading…
Annulla
Salva