Example #1
0
    def send_sms(self):
        self.status = 'PRO'
        self.save()
        users = MailerUsers.objects.select_related().filter(mailer=self)
        self.counter = 0

        for user in users:
            sms_result = p_sms('+7%s' % phone_formater(user.user.phone_mobile), str(self.body))
            sms_id, sms_status = sms_result.split('=')

            if sms_status == 'accepted':
                user.status = 'SNT'
                user.sent_at = datetime.datetime.now()
            else:
                user.status = 'ERR'
                self.status = 'ERR'
            user.save()
            self.save()

        if self.status != 'ERR':
            self.status = 'SNT'
        else:
            self.status = 'ERD'
        self.save()
        return
Example #2
0
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))