select delivery
This commit is contained in:
parent
7109013592
commit
6919d21758
@ -24,7 +24,7 @@ from alkatorapi.views import (
|
||||
invoice, upload_files,
|
||||
login_status, change_racer,
|
||||
products, cart_add, cart, cart_delete,
|
||||
cart_decrease, cart_buy
|
||||
cart_decrease, cart_buy, select_delivery,
|
||||
)
|
||||
|
||||
urlpatterns = [
|
||||
@ -46,5 +46,6 @@ urlpatterns = [
|
||||
path('api/cart', cart),
|
||||
path('api/cart/delete', cart_delete),
|
||||
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):
|
||||
user = models.OneToOneField(DjangoUser, on_delete=models.RESTRICT, related_name='cart')
|
||||
items = models.ManyToManyField(Product, through='CartProduct')
|
||||
address = models.CharField(max_length=120, null=True, blank=True)
|
||||
|
||||
|
||||
class CartProduct(models.Model):
|
||||
|
@ -375,7 +375,10 @@ def cart_add(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
|
||||
@ -392,7 +395,7 @@ def cart_buy(request):
|
||||
|
||||
invoice = Invoice(
|
||||
user=user,
|
||||
address=user.profile.address,
|
||||
address=cart.address if cart.adress else user.profile.address,
|
||||
invoice_id=Invoice.next_invoice_id(),
|
||||
total_price=0,
|
||||
)
|
||||
|
@ -195,7 +195,19 @@ class Main extends Component {
|
||||
}));
|
||||
};
|
||||
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 = () => {
|
||||
Packeta.Widget.pick("8599115769fd895b", this.selectDeliveryCallback.bind(this))
|
||||
@ -318,7 +330,6 @@ class Main extends Component {
|
||||
</div>}
|
||||
{this.state.page == "#cart" &&
|
||||
<div class="container">
|
||||
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
|
Loading…
x
Reference in New Issue
Block a user