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')
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)
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})
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())