Beispiel #1
0
    def post(self, request):
        print("post method called")
        form = SignUpForm(request.POST)
        searchform = SearchForm(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            user.is_active = False
            user.save()
            current_site = get_current_site(request)
            subject = 'Activate Your MySite Account'
            message = render_to_string('account_activation_email.html', {
                'user': user,
                'domain': current_site.domain,
                'uid': urlsafe_base64_encode(force_bytes(user.pk)),
                'token': account_activation_token.make_token(user),
            })
            to_email = form.cleaned_data.get('email')

            email = EmailMessage(
                subject, message, to=[to_email]
            )
            email.send()
            return render(request, 'gmail_confirm.html')

        print('form invalid !!')
        return render(request, 'index.html')
Beispiel #2
0
def password_reset(request,email: str = Form(...)):
    user = models.User.objects.filter(email=email).first()
    try:
        mail_subject = 'Reset your password.'
        message = render_to_string('password_reset_form.html', {
            'user':user,
            'domain': request.get_host(),
            'uid':urlsafe_base64_encode(force_bytes(user.pk)),
            'token':account_activation_token.make_token(user),
        })
        print(message)
        # email = EmailMessage(
        #             mail_subject, message, to=[user.email]
        # )
        # email.send()
        send_mail(
            mail_subject,
            message,
            settings.EMAIL_HOST_USER,
            [user.email],
            fail_silently=False,
        )
    except:
        raise HttpError(422, "Введены неправильные данные(email)")
    return "Sent"
Beispiel #3
0
    def post(self, request, format=None):
        """
        회원가입

        ---
        parameters:
        - username: string (필수)
        - email: email (필수)
        - password: string (필수)
        - department: string
        - enterYear: integer
        - github: string
        """
        serializer = UserSerializer(data=request.data)
        if serializer.is_valid():
            user = serializer.save()

            subject = 'UniDev 인증 메일입니다.'
            message = render_to_string(
                'user_activate.html', {
                    'user':
                    user,
                    'domain':
                    get_current_site(request).domain,
                    'uid':
                    urlsafe_base64_encode(force_bytes(
                        user.pk)).decode('utf-8'),
                    'token':
                    account_activation_token.make_token(user),
                })
            email = EmailMessage(subject, message, to=[user.email])
            email.send()

            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Beispiel #4
0
    def form_valid(self, form):
        # return CreateView.form_valid(self, form)

        if form.is_valid():
            user = form.save(commit=False)
            user.username = user.email
            user.is_active = False
            user.save()
            # create profile
            # may be not use this model for now
            # Profile(user=user).save()

            # send validate email

            # collect site name
            site_name = get_current_site(self.request)
            # todo: change hard code subject
            subject = 'Activate account'

            # generate message
            # print(urlsafe_base64_encode(force_bytes(user.pk)))
            message = render_to_string('app/account_activation_email.html', {
                'user': user,
                'domain': site_name.domain,
                'uid': urlsafe_base64_encode(force_bytes(user.pk)).decode("utf-8"),
                'token': account_activation_token.make_token(user),
            })

            # send activation link to the user
            user.email_user(subject, message)

            return super(RegisterView, self).form_valid(form)
        else:

            return super(RegisterView, self).form_invalid(form)
Beispiel #5
0
def signup_view(request):
    # Check if user is already logged-in
    if not request.user.is_anonymous:
        return redirect('/explore/')

    # Check form submission validity and create new user.
    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)
            subject = 'Activate Your Arcadia Account'
            message = render_to_string('email/account_activation_email.html', {
                'user': user,
                'domain': current_site.domain,
                'uid': urlsafe_base64_encode(force_bytes(user.pk)).decode(),
                'token': account_activation_token.make_token(user),
            })
            user.email_user(subject, message)
            return redirect('account_activation_sent')
    else:
        form = SignUpForm()
    return render(request, 'registration/signup.html', {'form': form})
Beispiel #6
0
def RegisterView(request):
    msg = ''
    email = ''
    password = ''
    plan = ''
    if request.POST:
        email = request.POST.get('email')
        password = request.POST.get('password')
        plan = request.POST.get('plan', settings.PINAX_STRIPE_DEFAULT_PLAN)
        user = User.objects.filter(email=email).first()
        if user is not None:
            msg="email_exists"
        else:
            user = User()
            user.username = email
            user.is_active = False
            user.email = email
            user.password = password
            user.set_password(password)
            user.save()

            site_name = get_current_site(request)
            # todo: change hard code subject
            subject = 'Activate account'

            # generate message
            # print(urlsafe_base64_encode(force_bytes(user.pk)))
            message = render_to_string('app/account_activation_email.html', {
                'user': user,
                'domain': site_name.domain,
                'uid': urlsafe_base64_encode(force_bytes(user.pk)).decode("utf-8"),
                'token': account_activation_token.make_token(user),
            })
            msg = "register_success"
            # send activation link to the user
            user.email_user(subject, message)
            
            from pinax.stripe.actions import customers
            customers.create(user=user, plan=plan)
            return render(request, 'v2/registration/register_done.html', {
                'msg': msg, 'email': email, 'password': password})
            
    plans = get_main_plan()
    
    return render(request, 'v2/registration/register.html', {
    'msg': msg, 'email': email, 'password': password,
    'plan': plan, 'plans': plans})
Beispiel #7
0
def RegisterView_NEW(request):
    msg = ''
    if request.POST:
        email = request.POST.get('email')
        password = request.POST.get('password')
        print(email)
        user = User.objects.filter(email=email).first()
        if user is not None:
            msg = "email_exists"
        else:
            user = User()
            user.username = email
            user.is_active = False
            user.email = email
            user.password = password
            user.set_password(password)
            user.save()

            site_name = get_current_site(request)
            # todo: change hard code subject
            subject = 'Activate account'

            # generate message
            # print(urlsafe_base64_encode(force_bytes(user.pk)))
            message = render_to_string(
                'app/account_activation_email.html', {
                    'user':
                    user,
                    'domain':
                    site_name.domain,
                    'uid':
                    urlsafe_base64_encode(force_bytes(
                        user.pk)).decode("utf-8"),
                    'token':
                    account_activation_token.make_token(user),
                })
            msg = "register_success"
            # send activation link to the user
            user.email_user(subject, message)

        print("msg = ")
        print(msg)
    return render(request, 'v2/registration/register.html', {'msg': msg})
Beispiel #8
0
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)
            subject = 'Activate Your Account'
            message = render_to_string(
                'app/account_activation_email.html', {
                    'user': user,
                    'domain': current_site.domain,
                    'uid': urlsafe_base64_encode(force_bytes(user.pk)),
                    'token': account_activation_token.make_token(user),
                })
            user.email_user(subject, message)
            return redirect('account_activation_sent')
    else:
        form = SignUpForm(request.POST)
    return render(request, 'app/signup.html', {'form': form})
Beispiel #9
0
    def post(self, request, *args, **kwargs):
        userobj = User()
        form = ForgotPasswordForm(request.POST)
        subject = 'Activate Your MySite Account'

        if form.is_valid():
            username_from_form = form.cleaned_data['username']
            to_email = form.cleaned_data['email']
            user = User.objects.get(username=username_from_form)
            primarykey = user.id
            current_site = get_current_site(request)
            subject = 'Passwor Reset !!'
            message = render_to_string('newpasswordlink.html', {
                'domain': current_site.domain,
                'uid': urlsafe_base64_encode(force_bytes(primarykey)),
                'token': account_activation_token.make_token(user),
            })

            email = EmailMessage(
                subject, message, to=[to_email]
            )
            email.send()
        return render(request, 'sendmail.html')