Commit b6db17e590e12ba7b2534985f406c6ecd593c558
1 parent
72ce46f7
order in admin
Showing
3 changed files
with
49 additions
and
7 deletions
Show diff stats
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
web/js/order.js
| @@ -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) { |