示例#1
0
def email_change(request):
    """ The email change page
    
    If you pass it an EmailForm, it will save it, and display a message. If it fails, it renders the users home page.
    """
    if request.method == "POST":
        form = EmailForm(request.POST, instance=request.user)
        if form.is_valid():
            form.save()
            return home(request, "Email Changed Successfully")
    
    else:
        form = EmailForm(instance=request.user)
    
    ctx = _make_context(request, "email_form", form)
    
    return TemplateResponse(request, "users/index.html", ctx)
示例#2
0
文件: views.py 项目: slosimon/cmsAuth
def thanks(request, user_id):
    user = get_object_or_404(Users, id=user_id)
    registration_form = EmailForm(user_id=user_id)
    context = RequestContext(request)
    l = []
    if request.method == 'POST':
        form = EmailForm(request.POST, user_id=user_id)
        if form.is_valid():
            datas = {}
            datas['first_name'] = user.first_name
            datas['last_name'] = user.last_name
            datas['username'] = user.username
            datas['password'] = user.password
            datas['email'] = form.cleaned_data['email']
            datas['timezone'] = settings.TIME_ZONE
            datas[
                'preferred_languages'] = "[\"" + settings.LANGUAGE_CODE + "\"]"
            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 user account for CMS")
            if not user.is_active:
                form.sendEmail(datas)
                form.save(datas)  #Save the user and his profile
            el = get_object_or_404(Users, username=user.username)
            request.session['registered'] = True  #For display purposes
            return redirect(settings.URL + settings.THANKS + "/" +
                            str(user.id) + "/")
        else:
            registration_form = form  #Display form with error messages (incorrect fields, etc)

    return render(
        request, 'thanks.html', {
            'user': user,
            'formset': registration_form,
            'u': settings.CMS_URL,
            'lpl': lpl
        }, locals())