def user_login(request): user = request.user if user.is_authenticated and user.is_adminkvm: return HttpResponseRedirect('/home') elif user.is_authenticated and user.is_adminkvm == False: return HttpResponseRedirect('/client') else: if request.method == 'POST': # post form để User yêu cầu reset mật khẩu, gửi link về mail if 'uemail' in request.POST: form = UserResetForm(request.POST) if form.is_valid(): to_email = form.cleaned_data['uemail'] current_site = get_current_site(request) user = get_user_email(to_email) mail_subject = 'Reset password your account.' message = render_to_string( 'kvmvdi/resetpwd.html', { 'user': user, 'domain': current_site.domain, 'uid': urlsafe_base64_encode(force_bytes( user.id)).decode(), 'token': account_activation_token.make_token(user), }) email = EmailMessage(mail_subject, message, to=[to_email]) thread = EmailThread(email) thread.start() return render( request, 'kvmvdi/login.html', {'mess': 'Please check email to reset your password!'}) else: error = '' for field in form: error += field.errors return render(request, 'kvmvdi/login.html', {'error': error}) elif 'agentname' and 'agentpass' in request.POST: username = request.POST['agentname'] password = request.POST['agentpass'] user = authenticate(username=username, password=password) if user: if user.is_active and user.is_adminkvm: login(request, user) return HttpResponseRedirect('/home') elif user.is_active and user.is_adminkvm == False: login(request, user) if user.token_id is None or user.check_expired( ) == False: user.token_expired = timezone.datetime.now( ) + timezone.timedelta(hours=1) user.token_id = getToken( ip=OPS_IP, username=user.username, password=user.username, project_name=user.username, user_domain_id='default', project_domain_id='default') user.save() return HttpResponseRedirect('/client') else: return render(request, 'kvmvdi/login.html', {'error': 'Your account is blocked!'}) else: return render(request, 'kvmvdi/login.html', {'error': 'Invalid username or password '}) elif 'firstname' and 'email' and 'password2' in request.POST: user_form = UserForm(request.POST) if user_form.is_valid(): user = user_form.save() connect = keystone(ip=OPS_IP, username=OPS_ADMIN, password=OPS_PASSWORD, project_name=OPS_PROJECT, user_domain_id='default', project_domain_id='default') connect.create_project(name=user.username, domain='default') check = False while check == False: if connect.find_project(user.username): connect.create_user(name=user.username, domain='default', project=user.username, password=user.username, email=request.POST['email']) check = True check1 = False while check1 == False: if connect.find_user(user.username): check1 = True connect.add_user_to_project(user=user.username, project=user.username) return redirect('/') else: error = '' for field in user_form: error += field.errors return render(request, 'kvmvdi/login.html', {'error': error}) return render(request, 'kvmvdi/login.html')
def user_login(request): if request.user.is_anonymous: if request.method == 'POST': # Reset mật khẩu if 'uemail' in request.POST: form = UserResetForm(request.POST) if form.is_valid(): to_email = form.cleaned_data['uemail'] current_site = get_current_site(request) user = get_user_email(to_email) mail_subject = 'Reset password' message = render_to_string('client/reset-password.html', { 'user': user, 'domain': current_site.domain, 'uid': urlsafe_base64_encode(force_bytes(user.id)).decode(), 'token': account_activation_token.make_token(user) }) # gửi mail sử dụng celery send_email.delay(mail_subject, message, to_email) return render(request, 'client/signup.html', {'mess': 'Please check email to reset your password !'}) else: error = '' for field in form: error += field.errors return render(request, 'client/signup.html', {'messdk': error}) # đăng nhập elif 'agentname' and 'agentpass' in request.POST: username = request.POST['agentname'] password = request.POST['agentpass'] user = authenticate(username=username, password=password) if user is not None: if user.is_active: login(request, user) if user.is_adminkvm: return redirect('superadmin:home') else: return redirect('client:home') else: # return render(request, 'client/signup.html', {'messdk': 'Tài khoản của bạn chưa được kích hoạt'}) return render(request, 'client/signup.html', {'messdk': 'Your account is inactive!'}) else: # return render(request, 'client/signup.html', {'messdk': 'Tên đăng nhập hoặc mật khẩu không chính xác'}) return render(request, 'client/signup.html', {'messdk': 'Username or password is invalid!'}) # Đăng ký elif 'email' and 'password2' in request.POST: user_form = UserForm(request.POST) if user_form.is_valid(): current_site = get_current_site(request) user = user_form.save() mail_subject = 'Active account OpenID' message = render_to_string('client/active_acc.html', { 'user': user, 'domain': current_site.domain, 'uid': urlsafe_base64_encode(force_bytes(user.id)).decode(), 'token': account_activation_token.make_token(user) }) # print(account_activation_token.make_token(user)) send_email.delay(mail_subject, message, user.email) return render(request, 'client/signup.html', {'mess': 'Please check email to active your account'}) else: error = '' for field in user_form: error += field.errors return render(request, 'client/signup.html', {'mess': error}) else: return redirect('client:home') return render(request, 'client/signup.html')
def user_login(request): user = request.user if user.is_authenticated: return HttpResponseRedirect('/home') else: if request.method == 'POST': # post form để User yêu cầu reset mật khẩu, gửi link về mail if 'uemail' in request.POST: form = UserResetForm(request.POST) if form.is_valid(): to_email = form.cleaned_data['uemail'] current_site = get_current_site(request) user = get_user_email(to_email) mail_subject = 'Reset password your account.' message = render_to_string( 'kvmvdi/resetpwd.html', { 'user': user, 'domain': current_site.domain, 'uid': urlsafe_base64_encode(force_bytes( user.id)).decode(), 'token': account_activation_token.make_token(user), }) email = EmailMessage(mail_subject, message, to=[to_email]) thread = EmailThread(email) thread.start() return render( request, 'kvmvdi/login.html', {'mess': 'Please check email to reset your password!'}) else: error = '' for field in form: error += field.errors return render(request, 'kvmvdi/login.html', {'error': error}) elif 'agentname' and 'agentpass' in request.POST: username = request.POST['agentname'] password = request.POST['agentpass'] user = authenticate(username=username, password=password) if user: if user.is_active and user.is_adminkvm: login(request, user) return HttpResponseRedirect('/home') else: return render(request, 'kvmvdi/login.html', {'error': 'Your account is blocked!'}) else: return render(request, 'kvmvdi/login.html', {'error': 'Invalid username or password '}) elif 'firstname' and 'email' and 'password2' in request.POST: user_form = UserForm(request.POST) if user_form.is_valid(): user = user_form.save() return redirect('/') else: print(user_form.errors) error = '' for field in user_form: error += field.errors return render(request, 'kvmvdi/login.html', {'error': error}) return render(request, 'kvmvdi/login.html')
def user_login(request): user = request.user if request.method == 'POST': if 'uemail' in request.POST: form = UserResetForm(request.POST) if form.is_valid(): to_email = form.cleaned_data['uemail'] current_site = get_current_site(request) user = get_user_email(to_email) mail_subject = 'Làm mới mật khẩu' message = render_to_string( 'client/reset-password.html', { 'user': user, 'domain': current_site.domain, 'uid': urlsafe_base64_encode(force_bytes( user.id)).decode(), 'token': account_activation_token.make_token(user) }) email = EmailMessage(mail_subject, message, to=[to_email]) thread = EmailThread(email) thread.start() return render(request, 'client/signup.html', {'mess': 'Kiểm tra mail để thay đổi mật khẩu !'}) else: error = '' for field in form: error += field.errors return render(request, 'client/signup.html', {'messdk': error}) elif 'agentname' and 'agentpass' in request.POST: username = request.POST['agentname'] password = request.POST['agentpass'] print(username + " " + password) user = authenticate(username=username, password=password) print(user) if user is not None: if user.is_active: login(request, user) # if user.token_id is None or user.check_expired() == False: return redirect('client:home') else: return render( request, 'client/signup.html', {'messdk': 'Tài khoản của bạn chưa được kích hoạt'}) else: return render( request, 'client/signup.html', {'messdk': 'Tên đăng nhập hoặc mật khẩu không chính xác'}) elif 'fullname' and 'email' and 'password2' in request.POST: user_form = UserForm(request.POST) if user_form.is_valid(): current_site = get_current_site(request) user = user_form.save() mail_subject = 'Kích hoạt tài khoản Intercom ' message = render_to_string( 'client/active_acc.html', { 'user': user, 'domain': current_site.domain, 'uid': urlsafe_base64_encode(force_bytes( user.id)).decode(), 'token': account_activation_token.make_token(user) }) to_email = user.email email = EmailMessage(mail_subject, message, to=[to_email]) thread = EmailThread(email) thread.start() return render(request, 'client/home.html', {'mess': 'Xác nhận mail đã đăng kí'}) else: error = '' for field in user_form: error += field.errors return render(request, 'client/home.html', {'mess': error}) return render(request, 'client/signup.html')
def user_login(request): if request.method == 'POST': # Reset mật khẩu if 'uemail' in request.POST: form = UserResetForm(request.POST) if form.is_valid(): to_email = form.cleaned_data['uemail'] current_site = get_current_site(request) user = get_user_email(to_email) mail_subject = 'Làm mới mật khẩu' message = render_to_string( 'client/reset-password.html', { 'user': user, 'domain': current_site.domain, 'uid': urlsafe_base64_encode(force_bytes( user.id)).decode(), 'token': account_activation_token.make_token(user) }) send_email.delay(mail_subject, message, to_email) return render(request, 'client/signup.html', {'mess': 'Kiểm tra mail để thay đổi mật khẩu !'}) else: error = '' for field in form: error += field.errors return render(request, 'client/signup.html', {'messdk': error}) # đăng nhập elif 'agentname' and 'agentpass' in request.POST: username = request.POST['agentname'] password = request.POST['agentpass'] user = authenticate(username=username, password=password) if user is not None: if user.is_active: login(request, user) if user.is_adminkvm: return redirect('superadmin:home') else: user.token_id = KeystoneClient( username=user.username, password=user.username, project_name=user.username).get_token() user.save() return redirect('client:home') else: return render( request, 'client/signup.html', {'messdk': 'Tài khoản của bạn chưa được kích hoạt'}) else: return render( request, 'client/signup.html', {'messdk': 'Tên đăng nhập hoặc mật khẩu không chính xác'}) # Đăng ký elif 'email' and 'password2' in request.POST: user_form = UserForm(request.POST) if user_form.is_valid(): current_site = get_current_site(request) user = user_form.save() mail_subject = 'Kích hoạt tài khoản Intercom ' message = render_to_string( 'client/active_acc.html', { 'user': user, 'domain': current_site.domain, 'uid': urlsafe_base64_encode(force_bytes( user.id)).decode(), 'token': account_activation_token.make_token(user) }) send_email.delay(mail_subject, message, user.email) return render( request, 'client/signup.html', {'mess': 'Vui lòng vào mail để kích hoạt tài khoản'}) else: error = '' for field in user_form: error += field.errors return render(request, 'client/signup.html', {'mess': error}) return render(request, 'client/signup.html')