import urllib import datetime from finance.models import ServiceRequest, RequestAlert from lms.decors import out_api_decor @out_api_decor(without_auth=True, method='POST', need_keys=['lead_name']) def new_request(request, context): date = datetime.datetime.now() last = ServiceRequest.objects.filter(send=False).order_by('date').last() if last and last.send_date: if last.send_date > datetime.datetime.now(): date = last.send_date + datetime.timedelta(minutes=1) s = ServiceRequest.objects.create( lead_name=urllib.parse.unquote(request.POST['lead_name'], encoding='utf8').replace("+", " "), send_date=date, data=str({i: urllib.parse.unquote(n, encoding='utf8').replace("+", " ") for i, n in request.POST.items()}) ) if request.META.get('HTTP_REFERER'): s.host = request.META.get('HTTP_REFERER') s.save() r, c = RequestAlert.objects.get_or_create(title=s.lead_name) if not c: r.up_count(s) try: if request.POST.get('name'): s.name = urllib.parse.unquote(request.POST.get('name').replace("+", " "), encoding='utf8') if request.POST.get('phone'): s.phone = urllib.parse.unquote(request.POST.get('phone'), encoding='utf8') if request.POST.get('email'): s.email = urllib.parse.unquote(request.POST.get('email'), encoding='utf8') finally: s.save() return context