예제 #1
0
 def post(self, request):
     data = json.loads(request.body.decode('utf-8'))
     email = data['email']
     if not MyUser.objects.filter(email=email).exists():
         new_user = MyUser()
         new_user.first_name = data['firstname']
         new_user.last_name = data['lastname']
         new_user.username = data['username']
         new_user.email = data['email']
         new_user.set_password(data['password1'])
         new_user.birthday = data['birthday']
         new_user.gender = data['gender']
         new_user.is_active = 0
         new_user.save()
         new_user = MyUser.objects.filter(username=data['username'])
         if new_user:
             mail_content = "Hello"
             mail_title = "Welcome to Shili!"
             one_time_pad = MaHoaOneTimePad()
             result = one_time_pad.ma_hoa(email)
             domain = request.scheme + '://' + request.META['HTTP_HOST']
             url = domain + '/xacthuc/' + result[0] + '/' + result[1]
             content = "Nhấp vào đây để Xác thực tài khoản của bạn"
             theme = ShiliEmail()
             msg_html = theme.form_mail(url, content, email)
             send_mail(mail_title, mail_content, "PLC", [email], html_message=msg_html, fail_silently=False)
             return HttpResponse(
                 'Đăng kí thành công tài khoản. Kiểm tra email để nhận liên kết kích hoạt tài khoản')
         else:
             return HttpResponse('Có lỗi xảy ra! Vui lòng thử lại')
예제 #2
0
    def post(self, request, key, ban_ma):
        one_time_pad = MaHoaOneTimePad()
        email = one_time_pad.giai_ma(key, ban_ma)
        mk1 = request.POST.get('password1')
        mk2 = request.POST.get('password2')
        check = {}
        check["mk1"] = mk1
        check["mk2"] = mk2

        x = re.search("^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[a-zA-Z]).{8,}$",
                      mk1)
        if x:
            if mk1 == mk2:
                edit_user = MyUser.objects.get(email=email)
                edit_user.set_password(mk1)
                edit_user.save()
                check["true"] = True
            else:
                check["khopMK"] = False
        else:
            check["domanhMK"] = False
        context = {
            'email': email,
            'key': key,
            'ban_ma': ban_ma,
            'check': check,
        }
        return render(request, 'mail/reset_password.html', context)
예제 #3
0
 def post(self, request):
     email = request.POST.get('email')
     if MyUser.objects.filter(email=email).exists():
         one_time_pad = MaHoaOneTimePad()
         result = one_time_pad.ma_hoa(email)
         mail_content = "Hello"
         mail_title = "Shili! Đặt lại mật khẩu"
         domain = request.scheme + '://' + request.META['HTTP_HOST']
         url = domain + '/resetpassword/' + result[0] + '/' + result[1]
         content = "If did not make this request, just ignore this  email. Otherwise, please click the button below to change your password:"******"PLC", [email],
                   html_message=msg_html,
                   fail_silently=False)
         return HttpResponse(
             'Kiểm tra email để lấy liên kết đến trang thay đổi mật khẩu')
     err = ['Email này không tồn tại trong hệ thống,vui lòng kiểm tra lại']
     return render(request, 'home/index.html', {
         'email': email,
         'themes': 'forgotPass',
         'err': err
     })
예제 #4
0
 def get(self, request, key, ban_ma):
     one_time_pad = MaHoaOneTimePad()
     email = one_time_pad.giai_ma(key, ban_ma)
     context = {
         'email': email,
         'key': key,
         'ban_ma': ban_ma,
     }
     return render(request, 'mail/reset_password.html', context)
예제 #5
0
 def post(self, request, key, ban_ma):
     one_time_pad = MaHoaOneTimePad()
     email = one_time_pad.giai_ma(key, ban_ma)
     password1 = request.POST.get('password1')
     password2 = request.POST.get('password2')
     if password2 == password1:
         edit_user = MyUser.objects.get(email=email)
         edit_user.set_password(password1)
         edit_user.save()
     return redirect('home:home')
예제 #6
0
 def post(self, request):
     password1 = request.POST.get('password1')
     password2 = request.POST.get('password2')
     new_user = MyUser()
     new_user.first_name = request.POST.get('first_name')
     new_user.last_name = request.POST.get('last_name')
     new_user.username = request.POST.get('username')
     new_user.email = request.POST.get('email')
     new_user.email = request.POST.get('email')
     new_user.birthday = request.POST.get('birthday')
     new_user.gender = request.POST.get('gender')
     password = {
         'password1': password1,
         'password2': password2,
     }
     err = []
     x = True
     if MyUser.objects.filter(username=new_user.username):
         x = x and False
         err.append('Username này đã tồn tại trong hệ thống, xin thử lại')
     if MyUser.objects.filter(email=new_user.email):
         x = x and False
         err.append(
             'Địa chỉ email đã tồn tại trong hệ thống, Hãy check email khác'
         )
     if not x:
         return render(
             request, 'home/index.html', {
                 'newuser': new_user,
                 'password': password,
                 'themes': 'register',
                 'err': err
             })
     else:
         email = new_user.email
         new_user.set_password(password1)
         new_user.is_active = 0
         new_user.save()
         one_time_pad = MaHoaOneTimePad()
         result = one_time_pad.ma_hoa(email)
         domain = request.scheme + '://' + request.META['HTTP_HOST']
         url = domain + '/xacthuc/' + result[0] + '/' + result[1]
         content = "We're excited to have you get started. First, you need to confirm your account. Just press the button below."
         theme = ShiliEmail()
         msg_html = theme.form_mail(url, content, email)
         send_mail("Welcome to Shili!",
                   "Hello",
                   "PLC", [email],
                   html_message=msg_html,
                   fail_silently=False)
         err.append(
             'Đăng kí thành công tài khoản. Kiểm tra email để nhận liên kết kích hoạt tài khoản'
         )
         # return render(request, 'home/index.html', {'themes': 'register',  'err': err})
         return redirect('home:test')
예제 #7
0
 def get(self, request, key, ban_ma):
     one_time_pad = MaHoaOneTimePad()
     email = one_time_pad.giai_ma(key, ban_ma)
     context = {
         'email': email,
         'key': key,
         'ban_ma': ban_ma,
     }
     user = MyUser.objects.get(email=email)
     user.is_active = 1
     user.save()
     return render(request, 'mail/xacthuc.html', context)
예제 #8
0
 def post(self, request):
     data = json.loads(request.body.decode('utf-8'))
     email = data['email']
     if MyUser.objects.filter(email=email).exists():
         one_time_pad = MaHoaOneTimePad()
         result = one_time_pad.ma_hoa(email)
         mail_content = "Hello"
         mail_title = "Shili! Đặt lại mật khẩu"
         domain = request.scheme + '://' + request.META['HTTP_HOST']
         url = domain + '/resetpassword/' + result[0] + '/' + result[1]
         content = "Nhấp  vào đây để đặt lại mật khẩu  của bạn"
         theme = ShiliEmail()
         msg_html = theme.form_mail(url, content, email)
         send_mail(mail_title, mail_content, "PLC", [email], html_message=msg_html, fail_silently=False)
         return HttpResponse('Kiểm tra email để lấy liên kết đến trang thay đổi mật khẩu')
     return HttpResponse('Email này không tồn tại trong hệ thống,vui lòng kiểm tra lại')
예제 #9
0
 def post(self, request):
     email = request.POST.get('email')
     if MyUser.objects.filter(email=email):
         one_time_pad = MaHoaOneTimePad()
         result = one_time_pad.ma_hoa(email)
         mail_content = "Hello"
         mail_title = "Shili! Xác thực tài khoản"
         domain = request.scheme + '://' + request.META['HTTP_HOST']
         url = domain + '/xacthuc/' + result[0] + '/' + result[1]
         content = "We're excited to have you get started. First, you need to confirm your account. Just press the button below."
         theme = ShiliEmail()
         msg_html = theme.form_mail(url, content, email)
         send_mail(mail_title,
                   mail_content,
                   "PLC", [email],
                   html_message=msg_html,
                   fail_silently=False)
         return render(
             request, 'home/index.html', {
                 'email':
                 email,
                 'themes':
                 'kich_hoat',
                 'err': [
                     'Kiểm tra email để lấy liên kết đến trang xác thực tài khoản'
                 ]
             })
     return render(
         request, 'home/index.html', {
             'email':
             email,
             'themes':
             'kich_hoat',
             'err': [
                 'Email này không tồn tại trong hệ thống, vui lòng kiểm tra lại'
             ]
         })