Merge pull request 'Redirigiendo al resumen cuando se finaliza una compra' (#64) from redirect_to_summary_when_end_purchase_#55 into main
Reviewed-on: OneTeam/don_confiao#64
This commit is contained in:
commit
8ba20acaea
@ -27,7 +27,10 @@ class SaleView(viewsets.ModelViewSet):
|
|||||||
unit_price=unit_price
|
unit_price=unit_price
|
||||||
)
|
)
|
||||||
|
|
||||||
return Response({'message': 'Venta creada con exito'}, status=201)
|
return Response(
|
||||||
|
{'id': sale.id, 'message': 'Venta creada con exito'},
|
||||||
|
status=201
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class ProductView(viewsets.ModelViewSet):
|
class ProductView(viewsets.ModelViewSet):
|
||||||
|
@ -270,7 +270,10 @@
|
|||||||
if (response.ok) {
|
if (response.ok) {
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
console.log('Compra enviada:', data);
|
console.log('Compra enviada:', data);
|
||||||
this.$router.push("SummaryPurchase");
|
this.$router.push({
|
||||||
|
path: "/summary_purchase",
|
||||||
|
query : {id: parseInt(data.id)}
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
console.error('Error al enviar la compra:', response.statusText);
|
console.error('Error al enviar la compra:', response.statusText);
|
||||||
}
|
}
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
{{ currencyFormat(item.unit_price) }}
|
{{ currencyFormat(item.unit_price) }}
|
||||||
</template>
|
</template>
|
||||||
<template v-slot:item.subtotal="{ item }">
|
<template v-slot:item.subtotal="{ item }">
|
||||||
{{ currencyFormat(calculateSubtotal(item.price, item.quantity)) }}
|
{{ currencyFormat(calculateSubtotal(item.unit_price, item.quantity)) }}
|
||||||
</template>
|
</template>
|
||||||
</v-data-table-virtual>
|
</v-data-table-virtual>
|
||||||
</v-container>
|
</v-container>
|
||||||
@ -86,13 +86,13 @@
|
|||||||
},
|
},
|
||||||
calculateSubtotal(price, quantity) {
|
calculateSubtotal(price, quantity) {
|
||||||
price = parseFloat(price || 0);
|
price = parseFloat(price || 0);
|
||||||
quantity = parseFloat(price || 0);
|
quantity = parseFloat(quantity || 0);
|
||||||
return price * quantity;
|
return price * quantity;
|
||||||
},
|
},
|
||||||
calculateTotal(lines) {
|
calculateTotal(lines) {
|
||||||
let total = 0;
|
let total = 0;
|
||||||
lines.forEach(line => {
|
lines.forEach(line => {
|
||||||
total += this.calculateSubtotal(line.price, line.quantity);
|
total += this.calculateSubtotal(line.unit_price, line.quantity);
|
||||||
});
|
});
|
||||||
return total;
|
return total;
|
||||||
}
|
}
|
||||||
|
@ -18,12 +18,18 @@ class TestAPI(APITestCase):
|
|||||||
|
|
||||||
def test_create_sale(self):
|
def test_create_sale(self):
|
||||||
response = self._create_sale()
|
response = self._create_sale()
|
||||||
|
content = json.loads(response.content.decode('utf-8'))
|
||||||
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
||||||
self.assertEqual(Sale.objects.count(), 1)
|
self.assertEqual(Sale.objects.count(), 1)
|
||||||
|
sale = Sale.objects.all()[0]
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
Sale.objects.all()[0].customer.name,
|
sale.customer.name,
|
||||||
self.customer.name
|
self.customer.name
|
||||||
)
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
sale.id,
|
||||||
|
content['id']
|
||||||
|
)
|
||||||
|
|
||||||
def test_get_products(self):
|
def test_get_products(self):
|
||||||
url = '/don_confiao/api/products/'
|
url = '/don_confiao/api/products/'
|
||||||
|
Loading…
Reference in New Issue
Block a user