def login_view(request): template = 'ace_login_view.html' data = dict() if request.user.is_authenticated(): return HttpResponseRedirect('/') if request.method == "POST": q_ipban = False try: q_ipban = IpBan.objects.get(ipaddress = request.META['REMOTE_ADDR']) if q_ipban.count >= 5 : timedelta = datetime.datetime.now() - q_ipban.datetime timedelta = str(timedelta).split(',') if not len(timedelta) > 1: td1 = str(timedelta[0]).split(':') if int(td1[0]) < 1: if int(td1[1]) < 30: page_message(request, 41, None, 'error') # return HttpResponseRedirect('/login/') return HttpResponseRedirect('/report/login-falsee/') else: q_ipban.delete() IpBan.objects.get(ipaddress = request.META['REMOTE_ADDR']).delete() # return HttpResponseRedirect('/login/') q_ipban = False else: q_ipban.delete() # return HttpResponseRedirect('/login/') q_ipban = False else: q_ipban.delete() except IpBan.DoesNotExist: pass username = request.POST['username'] password = request.POST['password'] user = authenticate(username=username, password=password) if user is not None: if user.is_active: login(request, user) return HttpResponseRedirect(request.META['HTTP_REFERER']) else: return HttpResponseRedirect(request.META['HTTP_REFERER']) else: try: qq_ipban = IpBan.objects.get(ipaddress = request.META['REMOTE_ADDR']) qq_ipban.count = q_ipban.count + 1 # qq_ipban.datetime = datetime.datetime.now() qq_ipban.save() except IpBan.DoesNotExist: s_ipban = IpBan( ipaddress = request.META['REMOTE_ADDR'], datetime = datetime.datetime.now(), count = 1 ) s_ipban.save() page_message(request, 40, None, 'error') return HttpResponseRedirect('/login/') else: t = loader.get_template(template) c = RequestContext(request,data, processors=[custom_proc]) return HttpResponse(t.render(c))
def phone_validate(request): template='accounts_phone-validate.html' data=dict() data['phone'] = phone_formater(request.user.phone_mobile) if request.method == 'POST': if request.POST.get('code_sms'): random_var = randint(1000, 9999) sms_result = send_sms('+7%s' % data['phone'], str(random_var)) sms_id, sms_status = sms_result.split('=') if sms_status == 'accepted': try: q_status = PhoneStatus.objects.get(user = request.user) q_status.phone_num = data['phone'] q_status.phrase = random_var q_status.sms_id = sms_id q_status.sms_status = sms_status q_status.save() except PhoneStatus.DoesNotExist: q_status = PhoneStatus( user = request.user, phone_num = data['phone'], phrase = random_var, sms_id = sms_id, sms_status = sms_status ) q_status.save() data['code_go'] = True else: page_message(request, 71, None, 'error') return HttpResponseRedirect('/profile/') data['code_go'] = True if request.POST.get('code_submit'): code = request.POST.get('code_input') q_status = PhoneStatus.objects.get(user = request.user) if q_status.phrase == code: q_user = CustomUser.objects.get(id = request.user.id) q_status = PhoneStatus.objects.get(user = request.user) q_user.phone_mobile_status = True q_user.save() # q_status.delete() page_message(request, 72, None, 'info') return HttpResponseRedirect('/profile/') else: page_message(request, 73, None, 'error') data['code_go'] = True else : if request.user.phone_mobile_status: return HttpResponseRedirect('/profile/') if len(data['phone']) <= 9: data['phone_error'] = True try: q_status = PhoneStatus.objects.get(user = request.user) if len(q_status.phrase) >=1: data['code_go'] = True except PhoneStatus.DoesNotExist: pass t = loader.get_template(template) c = RequestContext(request,data, processors=[custom_proc]) return HttpResponse(t.render(c))