Ejemplo n.º 1
0
def new_activation_link(
    request, user_id
):  # check if it's the same user and if they are already authed # new email not being sent
    form = RegistrationForm()
    datas = {}
    user = User.objects.get(username=user_id)
    if user is not None and not user.is_active:  #here
        datas['username'] = user.username
        datas['email'] = user.email
        datas['email_path'] = "path_to/ResendEmail.txt"
        datas['email_subject'] = "Welcome to site_name"

        salt = hashlib.sha1(str(
            random.random()).encode('utf-8')).hexdigest()[:5]
        usernamesalt = datas['email']

        if isinstance(usernamesalt, str):
            usernamesalt = str.encode(usernamesalt)
        if isinstance(salt, str):
            salt = str.encode(salt)
        datas['activation_key'] = hashlib.sha1(salt + usernamesalt).hexdigest()

        profil = Profil.objects.get(user=user)
        profil.activation_key = datas['activation_key']
        profil.key_expires = timezone.now() + datetime.timedelta(days=1)
        # generate public child from wallet file here
        profil.save()

        form.sendEmail(datas)
        request.session['new_link'] = True  #Display : new link send
        return render(request, 'register_page.html', {'email_sent': True})
    else:
        return render(request, 'home.html')
Ejemplo n.º 2
0
def new_activation_link(request, user_id):
    form = RegistrationForm()
    datas = {}
    user = Users.objects.get(id=user_id)
    if user is not None and not user.is_active:
        datas['first_name'] = user.first_name
        datas['last_name'] = user.last_name
        datas['username'] = user.username
        datas['email_path'] = "/ResendEmail.txt"
        datas['email_subject'] = _("New activation key for CMS")

        salt = hashlib.sha1(str(random.random())).hexdigest()[:5]
        usernamesalt = datas['username']
        if isinstance(usernamesalt, unicode):
            usernamesalt = usernamesalt.encode('utf8')
        datas['activation_key'] = hashlib.sha1(salt + usernamesalt).hexdigest()

        profile = Profile.objects.get(user=user)
        profile.activation_key = datas['activation_key']
        profile.key_expires = datetime.datetime.strftime(
            datetime.datetime.now() + datetime.timedelta(days=2),
            "%Y-%m-%d %H:%M:%S")
        profile.save()

        form.sendEmail(datas)
        request.session['new_link'] = True  #Display: new link sent
        return render(request, 'register.html', {
            'u': settings.CMS_URL,
            'lpl': lpl
        }, locals())
    else:
        return redirect(settings.CMS_URL)
Ejemplo n.º 3
0
def register_page(request):
    email_taken = False
    username_taken = False
    if request.user.is_authenticated():
        return render(request, 'home.html')
    registration_form = RegistrationForm()
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            datas = {}
            if User.objects.filter(
                    username=form.cleaned_data['username']).exists():
                username_taken = True
                return render(request, 'register_page.html', {
                    'form': registration_form,
                    'username_taken': username_taken
                })
            elif User.objects.filter(
                    email=form.cleaned_data['email']).exists():
                email_taken = True
                return render(request, 'register_page.html', {
                    'form': registration_form,
                    'email_taken': email_taken
                })
            datas['username'] = form.cleaned_data['username']
            datas['email'] = form.cleaned_data['email']
            datas['password1'] = form.cleaned_data['password1']
            salt = hashlib.sha1(str(
                random.random()).encode('utf-8')).hexdigest()[:5]
            usernamesalt = datas['email']
            if isinstance(usernamesalt, str):
                usernamesalt = str.encode(usernamesalt)
            if isinstance(salt, str):
                salt = str.encode(salt)
            #print(salt)
            #print(usernamesalt)
            datas['activation_key'] = hashlib.sha1(salt +
                                                   usernamesalt).hexdigest()
            datas[
                'email_path'] = "/home/connlloc/sites/mc/static/ActivationEmail.txt"
            datas['email_subject'] = "activate your account"
            form.sendEmail(datas)  #Send validation email
            form.save(datas)  #Save the user and his profile
            request.session['registered'] = True  #For display purposes
            return render(request, 'register_page.html', {'email_sent': True})
        else:

            registration_form = form  #Display form with error messages (incorrect fields, etc
    return render(request, 'register_page.html', {'form': registration_form})
Ejemplo n.º 4
0
def register(request):
    registration_form = RegistrationForm()
    context = RequestContext(request)
    l = []
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            datas = {}
            datas['first_name'] = form.cleaned_data['first_name']
            datas['last_name'] = form.cleaned_data['last_name']
            datas['username'] = form.cleaned_data['username']
            datas['password'] = form.cleaned_data['password1']
            datas['email'] = form.cleaned_data['email']
            datas['timezone'] = settings.TIME_ZONE
            datas[
                'preferred_languages'] = "[\"" + settings.LANGUAGE_CODE + "\"]"
            #We generate a random activation key
            salt = hashlib.sha1(str(random.random())).hexdigest()[:5]
            usernamesalt = datas['username']
            if isinstance(usernamesalt, unicode):
                usernamesalt = usernamesalt.encode('utf8')
            datas['activation_key'] = hashlib.sha1(salt +
                                                   usernamesalt).hexdigest()

            datas['email_path'] = "/ActivationEmail.txt"
            datas['email_subject'] = _("Activate your account for CMS")

            form.sendEmail(datas)
            form.save(datas)  #Save the user and his profile
            el = get_object_or_404(Users, username=datas['username'])
            request.session['registered'] = True  #For display purposes
            return redirect(settings.URL + settings.THANKS + "/" + str(el.id) +
                            "/")  #
        else:
            registration_form = form  #Display form with error messages (incorrect fields, etc)
    return render(request, 'register.html', {
        'formset': registration_form,
        'u': settings.CMS_URL,
        'lpl': lpl
    }, locals())