コード例 #1
0
ファイル: views.py プロジェクト: codeboy/codeboy-testing
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))
コード例 #2
0
ファイル: views.py プロジェクト: codeboy/codeboy-testing
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))