select delivery
This commit is contained in:
parent
7109013592
commit
6919d21758
@ -24,7 +24,7 @@ from alkatorapi.views import (
|
|||||||
invoice, upload_files,
|
invoice, upload_files,
|
||||||
login_status, change_racer,
|
login_status, change_racer,
|
||||||
products, cart_add, cart, cart_delete,
|
products, cart_add, cart, cart_delete,
|
||||||
cart_decrease, cart_buy
|
cart_decrease, cart_buy, select_delivery,
|
||||||
)
|
)
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
@ -46,5 +46,6 @@ urlpatterns = [
|
|||||||
path('api/cart', cart),
|
path('api/cart', cart),
|
||||||
path('api/cart/delete', cart_delete),
|
path('api/cart/delete', cart_delete),
|
||||||
path('api/cart/decrease', cart_decrease),
|
path('api/cart/decrease', cart_decrease),
|
||||||
path('api/cart/buy', cart_buy)
|
path('api/cart/buy', cart_buy),
|
||||||
|
path('api/cart/select_delivery', select_delivery),
|
||||||
]
|
]
|
||||||
|
@ -79,6 +79,7 @@ class Product(models.Model):
|
|||||||
class Cart(models.Model):
|
class Cart(models.Model):
|
||||||
user = models.OneToOneField(DjangoUser, on_delete=models.RESTRICT, related_name='cart')
|
user = models.OneToOneField(DjangoUser, on_delete=models.RESTRICT, related_name='cart')
|
||||||
items = models.ManyToManyField(Product, through='CartProduct')
|
items = models.ManyToManyField(Product, through='CartProduct')
|
||||||
|
address = models.CharField(max_length=120, null=True, blank=True)
|
||||||
|
|
||||||
|
|
||||||
class CartProduct(models.Model):
|
class CartProduct(models.Model):
|
||||||
|
@ -375,7 +375,10 @@ def cart_add(request):
|
|||||||
|
|
||||||
|
|
||||||
def select_delivery(request):
|
def select_delivery(request):
|
||||||
pass
|
user.cart.address = request.GET['delivery']
|
||||||
|
user.cart.save()
|
||||||
|
return HttpResponse('{"status":"success", "reason":"Úspěšně vybraná zásilkovna."}', status=200)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@csrf_exempt
|
@csrf_exempt
|
||||||
@ -392,7 +395,7 @@ def cart_buy(request):
|
|||||||
|
|
||||||
invoice = Invoice(
|
invoice = Invoice(
|
||||||
user=user,
|
user=user,
|
||||||
address=user.profile.address,
|
address=cart.address if cart.adress else user.profile.address,
|
||||||
invoice_id=Invoice.next_invoice_id(),
|
invoice_id=Invoice.next_invoice_id(),
|
||||||
total_price=0,
|
total_price=0,
|
||||||
)
|
)
|
||||||
|
@ -195,7 +195,19 @@ class Main extends Component {
|
|||||||
}));
|
}));
|
||||||
};
|
};
|
||||||
selectDeliveryCallback(point){
|
selectDeliveryCallback(point){
|
||||||
console.log(point)
|
fetch(addr_prefix + '/api/cart/select_delivery?delivery='+point.name).then(resp => resp.json()).then(json => {
|
||||||
|
if(json.status == "failed"){
|
||||||
|
this.setState({
|
||||||
|
status_text: json.reason,
|
||||||
|
status: "failed",
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
this.setState({
|
||||||
|
status_text: json.reason,
|
||||||
|
status: "success",
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
selectDelivery = () => {
|
selectDelivery = () => {
|
||||||
Packeta.Widget.pick("8599115769fd895b", this.selectDeliveryCallback.bind(this))
|
Packeta.Widget.pick("8599115769fd895b", this.selectDeliveryCallback.bind(this))
|
||||||
@ -318,7 +330,6 @@ class Main extends Component {
|
|||||||
</div>}
|
</div>}
|
||||||
{this.state.page == "#cart" &&
|
{this.state.page == "#cart" &&
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
<table class="table">
|
<table class="table">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user