Commit b6db17e590e12ba7b2534985f406c6ecd593c558

Authored by Anastasia
1 parent 72ce46f7

order in admin

controllers/OrderController.php
@@ -404,6 +404,22 @@ @@ -404,6 +404,22 @@
404 return $sum; 404 return $sum;
405 } 405 }
406 406
  407 + public function actionDeleteFromOrder()
  408 + {
  409 + $id = \Yii::$app->request->post('id');
  410 + $variant = \Yii::$app->request->post('variant');
  411 + $product = OrderProduct::find()
  412 + ->where(
  413 + [
  414 + 'order_id' => $id,
  415 + 'variant_id' => $variant,
  416 + ]
  417 + )
  418 + ->one()
  419 + ->delete();
  420 + return 'ok';
  421 + }
  422 +
407 /** 423 /**
408 * Finds the Order model based on its primary key value. 424 * Finds the Order model based on its primary key value.
409 * If the model is not found, a 404 HTTP exception will be thrown. 425 * If the model is not found, a 404 HTTP exception will be thrown.
views/order/_form.php
@@ -150,6 +150,10 @@ JS; @@ -150,6 +150,10 @@ JS;
150 '#', 150 '#',
151 [ 151 [
152 'class' => 'remove-order-product', 152 'class' => 'remove-order-product',
  153 + 'data' => [
  154 + 'variant' => $orderProduct->variant->id,
  155 + 'id' => $model->id,
  156 + ],
153 ] 157 ]
154 ) 158 )
155 ?> 159 ?>
@@ -4,13 +4,35 @@ $(function() { @@ -4,13 +4,35 @@ $(function() {
4 e.preventDefault(); 4 e.preventDefault();
5 var current_price = parseInt($(this).parents('.row-order-product').data('price')); 5 var current_price = parseInt($(this).parents('.row-order-product').data('price'));
6 var number = parseInt($(this).parents('.row-order-product').children('.col-md-3').children('.form-group').children('input').val()); 6 var number = parseInt($(this).parents('.row-order-product').children('.col-md-3').children('.form-group').children('input').val());
7 - $(this)  
8 - .parents('.row-order-product')  
9 - .remove();  
10 - var total_price = parseInt($(".sum_all").children('p').text());  
11 - total_price = total_price - (current_price * number);  
12 - console.log(number);  
13 - $(".sum_all").children('p').text(total_price); 7 + var id = $(this)
  8 + .data('id');
  9 + var variant = $(this)
  10 + .data('variant');
  11 + var selector = '#order-product-pjax';
  12 + $.post('/admin/order/delete-from-order', {
  13 + id: id,
  14 + variant: variant
  15 + }, function(data) {
  16 + var total_price = parseInt($(".sum_all")
  17 + .children('p')
  18 + .text());
  19 + total_price = total_price - (current_price * number);
  20 + console.log(number);
  21 + $(".sum_all")
  22 + .children('p')
  23 + .text(total_price);
  24 + $.pjax.reload(selector, {
  25 + timeout: 5000,
  26 + fragment: selector
  27 + });
  28 +
  29 + });
  30 +
  31 +
  32 +
  33 +
  34 +
  35 +
14 }); 36 });
15 $(document) 37 $(document)
16 .on('click', '.variant-to-order', function(e) { 38 .on('click', '.variant-to-order', function(e) {