You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

47 lines
1.5 KiB

import uuid
from datetime import datetime
from django.shortcuts import render, redirect
from django.views.decorators.csrf import csrf_exempt
from datetime import datetime, timedelta
from django.contrib import auth
from django.views.decorators.http import require_POST
from django.contrib.auth.decorators import login_required
from .models import Discount
from .forms import DiscountApllyForm
@login_required
@require_POST
@csrf_exempt
def PointsApply(request):
# request.session['points'] = True
return redirect('cart:CartDetail', points=True)
@require_POST
def DiscountApply(request):
now = datetime.now()
form = DiscountApllyForm(request.POST)
if form.is_valid():
code = form.cleaned_data['code']
try:
discount = Discount.objects.get(code__iexact=code,
valid_from__lte=now,
valid_to__gte=now,
active=True)
request.session['discount_id'] = discount.id
except Discount.DoesNotExist:
request.session['discount_id'] = None
return redirect('cart:CartDetail')
@login_required
@require_POST
@csrf_exempt
def CreateDiscount(request):
user = auth.get_user(request)
Discount.objects.update_or_create(user=user, defaults={'code': str(uuid.uuid4()), 'valid_from': datetime.now(),
'valid_to': datetime.now()+timedelta(days=7), 'active': True})
return redirect('profile:user_profile')