コード例 #1
0
ファイル: auth.py プロジェクト: bookpark/FC-Project
def signup(request):
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            user.is_active = False
            user.save()
            # 이메일 인증 메시지 보내기
            current_site = get_current_site(request)
            mail_subject = '[Zinzi] 이메일 인증'
            html_message = render_to_string('user_activate.html', {
                'domain': current_site.domain,
                'uid': urlsafe_base64_encode(force_bytes(user.pk)),
                'token': urlsafe_base64_encode(force_bytes(user.token)),
            })
            to_email = form.cleaned_data['email']
            email = EmailMultiAlternatives(
                mail_subject,
                html_message,
                to=[to_email],
            )
            email.attach_alternative(html_message, 'text/html')
            email.send()
            return HttpResponse('이메일 인증을 위해 이메일을 확인해주십시오.')
    else:
        form = SignupForm()
    return render(request, 'accounts/signup.html', {'form': form})
コード例 #2
0
def register(request):  # ou appeler  signin
    if request.method == 'POST':  # save
        form = SignupForm(request.POST)
        if form.is_valid():  # si valide  alors save
            user = form.save(commit=False)  # save le new user  mais sans login
            user.is_active = False
            user.save()
            site = get_current_site(request)
            mail_subject = 'confirmation message for foueds site '
            message = render_to_string(
                'accounts/registration/confirm_email.html', {
                    'user': user,
                    'domain': site.domain,
                    'uid': user.id,
                    'token': activation_token.make_token(user)
                })
            to_email = form.cleaned_data.get('email')
            to_list = [to_email]
            from_email = settings.EMAIL_HOST_USER
            recipient_list = [to_email]
            send_mail(mail_subject,
                      message,
                      from_email,
                      recipient_list,
                      fail_silently=True)
            return redirect('/accounts/register/activate_mail_sent')

    else:  # show form
        form = SignupForm()
    return render(request, 'accounts/registration/register.html',
                  {'form': form})
コード例 #3
0
ファイル: views.py プロジェクト: sirkp/phdadmission
def signup(request):
    """
    backend for signup, sends activation mail to user
    This view is linked with phdadmission/accounts/templates/accounts/signup.html
    """
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            user_email = request.POST['email']
            user = form.save(commit=False)
            user.is_active = False
            user.username = user_email
            user.save()
            current_site = get_current_site(request)
            message = render_to_string(
                'acc_active_email.html', {
                    'user': user,
                    'domain': current_site.domain,
                    'uid': urlsafe_base64_encode(force_bytes(user.pk)),
                    'token': account_activation_token.make_token(user),
                })
            mail_subject = 'Activate your IIT Ropar PhD Portal account.'
            to_email = form.cleaned_data.get('email')
            email = EmailMessage(mail_subject, message, to=[to_email])
            email.send()
            return HttpResponse(
                'Please confirm your email address to complete the registration. To login go back to  Homepage'
            )
    else:
        form = SignupForm()
    return render(request, 'accounts/signup.html', {'form': form})
コード例 #4
0
def signup(request):
	regist_terms=Texts.objects.get(name="regist_terms")
	privacy_info_terms=Texts.objects.get(name="privacy_info_terms")
	if request.method=="POST":
		userform = SignupForm(request.POST)
		if userform.is_valid():
			user = userform.save(commit=False)
			user.username = userform.cleaned_data['username']
			user.save()
			profile = Profile(user=user)
			profile.save()
			return HttpResponseRedirect(reverse("signup_ok"))	
		return render(request, "accounts/signup.html", {
			'userform': userform,
			'message':'입력정보를 정확히 확인해주세요.',
			'regist_terms':regist_terms.contents,
			'privacy_info_terms':privacy_info_terms.contents,
		})
	elif request.method=="GET":
		userform = SignupForm()
		return render(request, "accounts/signup.html", {
			'userform':userform,
			'message':'첫 화면',
			'regist_terms':regist_terms.contents,
			'privacy_info_terms':privacy_info_terms.contents,
		})
コード例 #5
0
ファイル: views.py プロジェクト: Ryan-Kan/Quaestiones
def signup_view(request):
    if request.method == "POST":  # Check if it is a POST request
        form = SignupForm(request.POST)  # Pass the data from the POST request

        # Check if the form is valid
        if form.is_valid():
            # Save the user's data to the database
            user = form.save(
                commit=False)  # Wait until the user has confirmed their email
            user.last_login = timezone.now()  # Update the last login field
            user.is_active = False
            user.save()

            # Send a confirmation email to the user
            to_email = form.cleaned_data.get("email")
            csrf_token = get_token(request)

            current_site = get_current_site(request).domain
            path = str(reverse_lazy("accounts:send-activate-account-email"))
            confirm_email_url = "http://" + current_site + path

            try:
                requests.post(
                    confirm_email_url,
                    data={
                        "csrfmiddlewaretoken": csrf_token,
                        "to_email": to_email
                    },
                    cookies={
                        "csrftoken": csrf_token
                    })  # Sends a request to the confirmation email page
            except requests.exceptions.ConnectionError as e:
                if confirm_email_url[7:17] == "testserver":
                    # This is a test; ignore any errors that may arise
                    pass
                else:
                    raise e

            # Report to the log that a user has just signed up
            logger.info(
                f"A new user '{User.objects.get(email=to_email).username}' just signed up."
            )

            # Redirect user to the "please confirm your email" page
            return render(
                request, "accounts/webpages/account_activation.html", {
                    "page_type": "confirm email",
                    "confirm_email_url": confirm_email_url,
                    "email_address": to_email
                })

        else:
            logger.info("A person tried to sign up but checks failed.")

    else:  # This is a GET request
        form = SignupForm()  # Define a user creation form

    return render(request, "accounts/webpages/signup.html",
                  {"form": form})  # Send the form to the template
コード例 #6
0
ファイル: views.py プロジェクト: RafalPer/Anime_django_site
def signup_view(request):
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            user = form.save()
            login(request, user)
            return redirect('index')
    else:
        form = SignupForm()
    return render(request, 'accounts/signup.html', {'form': form})
コード例 #7
0
ファイル: views.py プロジェクト: sonhaechang/church
def signup(request):
    if request.method == 'POST':
        form = SignupForm(request.POST, request.FILES)
        if form.is_valid():
            user = form.save()
            django_login(request, user) # 로그인 처리
            return redirect(settings.LOGIN_URL)
    else:
        form = SignupForm()
    return render(request, 'accounts/signup_form.html', {'form': form,})
コード例 #8
0
def signup(request):
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect(reverse('home'))
    else:
        form = SignupForm()
        args = {'form': form}
    return render(request, 'accounts/signup.html', args)
コード例 #9
0
ファイル: views.py プロジェクト: shubham11o7/Weblog
def signup(request):
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            user = form.save()
            auth_login(request, user)
            return redirect('home')
    else:
        form = SignupForm()
    return render(request, 'signup.html', {'form': form})
コード例 #10
0
ファイル: views.py プロジェクト: fingul/Comment
def signup_view(request):
    if request.method == 'POST':
        signupform = SignupForm(request.POST)
        if signupform.is_valid():      
            user = signupform.save()
            login(request, user)
            return redirect('post:postlist')
    else:
        signupform = SignupForm()
    context = {'form': signupform}
    return render(request, 'accounts/signup.html', context)
コード例 #11
0
def signup(request):
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            user = form.save()
            return redirect(settings.LOGIN_URL)  # default : "/accounts/login/"
    else:
        form = SignupForm()
    return render(request, 'accounts/signup_form.html', {
        'form': form,
    })
コード例 #12
0
def signup(request):
    if request.method == 'POST':
        form = SignupForm(request.POST, request.FILES)
        if form.is_valid():
            user = form.save()
            return redirect(setting.LOGIN_URL) #TODO
    else:
        form = SignupForm()
    return render(request, 'accounts/signup_form.html',{
            'form' : form
        })
コード例 #13
0
ファイル: views.py プロジェクト: kimozzi/personalgesture1
def signup(request):
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect(settings.LOGIN_URL)
    else:
        form = SignupForm()
    return render(request, 'accounts/signup.html', {
        'form': form,
    })
コード例 #14
0
    def test_signup_dataprotection_confirmation_required(self):
        # no policy yet, no need to confirm
        assert DataPrivacyPolicy.objects.exists() is False
        form_data = {**self.base_form_data, 'data_privacy_confirmation': False}
        form = SignupForm(data=form_data)
        assert form.is_valid()

        baker.make(DataPrivacyPolicy)
        form_data = {**self.base_form_data, 'data_privacy_confirmation': False}
        form = SignupForm(data=form_data)
        assert form.is_valid() is False
コード例 #15
0
ファイル: views.py プロジェクト: priyambansal/SIH
def signup(request):
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('/account/register')
    else:
        form = SignupForm()

        args = {'form': form}
        return render(request, 'accounts/signup_form.html', args)
コード例 #16
0
ファイル: views.py プロジェクト: FreeSauce/locations
def signup(request):
    """ User signup view that uses the SignupForm with the location field. """
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            user = form.save()
            auth_login(request, user)
            return redirect('dashboard')
    else:
        form = SignupForm()
    return render(request, 'open-pages/signup.html', {'form': form})
コード例 #17
0
ファイル: views.py プロジェクト: rammyblog/bloggerblog
def signup(request):
	if request.method =='POST':
		form = SignupForm(request.POST)
		if form.is_valid():
			user = form.save()
			login(request, user)
			return redirect ('index')

	else:
		form = SignupForm()
	context  = {'form' :form}
	return render(request, 'boards/signup.html', context)
コード例 #18
0
ファイル: views.py プロジェクト: goldenboy777/Kriti-2019
def signup(request):
    form = SignupForm(request.POST)
    if form.is_valid():
        user = form.save(commit=False)
        user.first_name = form.cleaned_data.get('first_name')
        user.last_name = form.cleaned_data.get('last_name')
        user.save()
        auth_login(request, user)
        return redirect('home')
    else:
        form = SignupForm()
    return render(request, 'signup.html', {'form': form})
コード例 #19
0
ファイル: views.py プロジェクト: Qadomy/Django-Server
def signup(request):
    form = SignupForm()
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            user = form.save()
            # make user login
            auth_login(request, user)

            # move to HOME page
            return redirect('home')
    return render(request, 'signup.html', {'form': form})
コード例 #20
0
def signup(request):
    if request.method=='POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            to_email = form.cleaned_data.get('email')
            print(to_email)
            if not to_email.endswith('@iitrpr.ac.in'):
                return render_message(request, 'Access Denied', 'Sorry ... only IIT Ropar domain emails can be used to sign up!')
            mailer = Mailer()
            user = form.save(commit=False)
            user.is_active = False
            user.username = to_email
            try:
                user.save()
                current_site = get_current_site_from_env()
                message = render_to_string('accounts/activate_account_email.html', {
                    'user': user,
                    'domain': current_site,
                    'uid':urlsafe_base64_encode(force_bytes(user.pk)),
                    'token':account_activation_token.make_token(user),
                })
                
                response=mailer.send_email(to_email, 'CDCRC User Registration Activation', message )
                print("Mail Response: ", response)
                if(response=='fail'):
                    raise Exception('Mail Service is down! 😢')

                return render_message(request,
                    'Email Confirmation',
                    'To activate your account, please see your email!'
                )
            except IntegrityError as e: 
                if 'UNIQUE constraint failed' in str(e):
                    return render_message(request,
                        'User Exists',
                        'An account with this user already exists!'
                    )
                else:
                    raise Exception('DB Integrity Error Occurred')
            except Exception as e:
                # Deleting the user
                user.delete()
                return render_message(request,
                    'An error occurred while creating your account',
                    'Trace: '+ str(e)
                )
            

    else:
        form = SignupForm()
    return render(request, 'accounts/signup.html', {'form': form})
コード例 #21
0
ファイル: views.py プロジェクト: doYrobot/wellDAQ
def signup(request):
    username = ''
    password = ''
    re_password = ''
    true_name = ''
    department = ''
    position = ''
    errors = ''
    if request.method == 'POST':
        signupForm = SignupForm(request.POST)
        if signupForm.is_valid():
            username = signupForm.cleaned_data['username']
            password = signupForm.cleaned_data['password']
            re_password = signupForm.cleaned_data['re_password']
            true_name = signupForm.cleaned_data['true_name']  # 姓名
            department = signupForm.cleaned_data['department']  # 部门
            position = signupForm.cleaned_data['position']  # 职位
            if password != re_password:
                errors = '两次输入的密码不一致'
                return render(request, 'signup.html', {'errors': errors})
            filterResult = User.objects.filter(username=username)
            if len(filterResult) > 0:
                errors = '该用户已经存在'
                return render(request, 'signup.html', {'errors': errors})
            user = User()
            user.username = username
            user.set_password(password)

            user.save()

            userProfile = UserProfile()
            userProfile.user_id = user.id
            userProfile.true_name = true_name
            userProfile.department = department
            userProfile.position = position
            userProfile.save()

            newUser = auth.authenticate(username=username, password=password)
            if newUser is not None:
                login(request, newUser)
                return render(request, 'index_base.html', {'username': username})
                # return HttpResponse('注册成功') 测试代码
        else:
            return render(request, 'signup.html', {'form': signupForm})
    # 如果不是提交数据,返回空白的注册表单
    else:
        signupForm = SignupForm()

        return render(request, 'signup.html')
コード例 #22
0
def register(request):
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('/accounts/login')
        else:
            print("did not work")
            form = SignupForm()
            args = {'form': form}
            return render(request, 'accounts/signup.html', args)
    else:
        form = SignupForm()
        args = {'form': form}
        return render(request, 'accounts/signup.html', args)
コード例 #23
0
 def test_must_be_over_16(self):
     form_data = {
         **self.base_form_data,
         'date_of_birth':
         (timezone.now() - timedelta(360 * 16)).strftime("%d-%b-%Y"),
     }
     form = SignupForm(data=form_data)
     assert form.is_valid() is False
     form_data = {
         **self.base_form_data,
         'date_of_birth':
         (timezone.now() - timedelta(366 * 16)).strftime("%d-%b-%Y"),
     }
     form = SignupForm(data=form_data)
     assert form.is_valid() is True
コード例 #24
0
ファイル: views.py プロジェクト: marspak/my-first-blog
def signup(request):
    if request.method == "POST":
        signupform = SignupForm(request.POST)
        if signupform.is_valid():
            user = signupform.save(commit=False)
            user.email = signupform.cleaned_data['email']
            user.save()

            return HttpResponseRedirect(reverse("accounts:signup_ok"))
    elif request.method == "GET":
        signupform = SignupForm()

    return render(request, "registration/signup.html", {
        "signupform": signupform,
    })
コード例 #25
0
ファイル: views.py プロジェクト: Maruf520/bds
def register(request):

    context = {}
    if request.method == 'POST':
        form = SignupForm(request.POST)

        if form.is_valid():
            user = form.save()
            user.save()
            return redirect('login')

    else:
        form = SignupForm()
    context = {'form': form}
    return render(request, 'accounts/register.html', context)
コード例 #26
0
def signup(request):
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            to_email = form.cleaned_data.get('email')
            if not to_email.endswith('@iitrpr.ac.in'):
                return render_message(
                    request, 'Access Denied',
                    'Sorry ... only IIT Ropar domain emails can be used to sign up!'
                )
            mailer = Mailer()
            user = form.save(commit=False)
            user.is_active = False
            user.username = to_email
            try:
                user.save()
                current_site = get_current_site_from_env()
                message = render_to_string(
                    'accounts/activate_account_email.html', {
                        'user': user,
                        'domain': current_site,
                        'uid': urlsafe_base64_encode(force_bytes(user.pk)),
                        'token': account_activation_token.make_token(user),
                    })

                response = mailer._send_email(
                    to_email, 'CDCRC User Registration Activation', message)
                print("Mail Response: ", response)
                if (response == 'fail'):
                    raise Exception('Mail Service is down! 😢')

                return render_message(
                    request, 'Email Confirmation',
                    'Thank you for joining CDCRC Internal Network. We have sent an activation link to your email. Once verified, you can access plethora of resources on the webpage. Hope to see you onboard soon!'
                )
            except Exception as e:
                # Deleting the user
                if user.id != None:
                    print("Deleting user: ", user.id)
                    user.delete()

                return render_message(
                    request, 'An error occurred while creating your account',
                    'Trace: ' + str(e))

    else:
        form = SignupForm()
    return render(request, 'accounts/signup.html', {'form': form})
コード例 #27
0
def signup():
    form = SignupForm()
    if form.validate_on_submit():
        form.save()
        flash(u'Check your email to confirm registration.', 'success')
        return redirect(url_for('pages_app.index'))
    return render_template('accounts/signup.html', form=form)
コード例 #28
0
 def test_SignupForm_not_valid_missing_email(self):
     form = SignupForm(data={
         'first_name': 'teo',
         'email': '*****@*****.**',
         'phone': '0111111111'
     })
     self.assertFalse(form.is_valid())
コード例 #29
0
 def test_alpha_validator_no_error(self):
     """
     Tests the alphanumeric validator for fields when there is no error
     """
     form = SignupForm({'first_name': 'David'})
     assert "Este campo solo permite letras" \
         not in form.errors
コード例 #30
0
 def test_SignupForm_not_valid_missing_phone(self):
     form = SignupForm(data={
         'first_name': 'teo',
         'last_name': 'budeanu',
         'email': '*****@*****.**'
     })
     self.assertFalse(form.is_valid())