Пример #1
0
def register(request):
    if request.method == 'POST':
        form = AccountForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            password = form.cleaned_data['password1']
            form.save()
            user = authenticate(username=email, password=password)
            current_site = get_current_site(request)

            subject = 'Activate Your Phytochem Database Account'
            message = render_to_string(
                'email_verification/email_verification.html', {
                    'user': user,
                    'domain': current_site.domain,
                    'uid': urlsafe_base64_encode(force_bytes(user.pk)),
                    'token': account_activation_token.make_token(user),
                })
            user.is_active = False
            user.save()
            if user.email_user(subject, message) == 1:
                messages.success(
                    request,
                    'Please check your email and confirm the link to complete registration.'
                )
            else:
                messages.warning(request, 'Failed to confirm email')
            return redirect('user:register')
        else:
            return render(request, 'account/register.html', {'form': form})
    else:
        form = AccountForm()
    return render(request, 'account/register.html', {'form': form})
Пример #2
0
def newAccount(request):
    from account.forms import AccountForm
    if request.method == "POST":
        form = AccountForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect("/#account")
    else:
        form = AccountForm()
    ctx = {"form": form}
    return render_to_response("form.html",
                              ctx,
                              context_instance=RequestContext(request))
Пример #3
0
def accountsettings_profile(request):
    if request.user.is_authenticated():
        u = request.user
        p = request.user.get_profile()
        if request.method == 'POST':
            account_form = AccountForm(request.POST, request.FILES, instance=p)
            name_form = AccountNameForm(request.POST, instance=u)
            if account_form.is_valid() and name_form.is_valid():
                p = account_form.save()
                u = name_form.save()
                dimentions = (150, 150)
                if len(request.FILES) == 1:
                    image = request.FILES['image']
                    p.image.save(image.name, createImage(p.image, dimentions))
                return profile(request, u.username)
            else:
                variables = _profile_context(request, u.username)
                variables['account_form'] = account_form
                variables['name_form'] = name_form
                return render(request, 'website/accountsettings_profile.html', variables,
                              context_instance=RequestContext(request))
        else:
            variables = _profile_context(request, u.username)
            variables['account_form'] = AccountForm(instance=p)
            variables['name_form'] = AccountNameForm(instance=u)
            return render(request, 'website/accountsettings_profile.html', variables,
                          context_instance=RequestContext(request))
Пример #4
0
def editAccount(request, id_account):
    art = getAccountById(id_account)
    from account.forms import AccountForm
    if request.method == "POST":
        form = AccountForm(request.POST, instance=art)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect("/#edit")
    else:
        if art:
            form = AccountForm(instance=art)
        else:
            return HttpResponseRedirect("/#no-exist-such-account")
    ctx = {"form": form}
    return render_to_response("form.html",
                              ctx,
                              context_instance=RequestContext(request))
Пример #5
0
def edit_account(request):
    if request.is_ajax():
        if request.method == 'GET':
            f = AccountForm(instance=request.user)
            return HttpResponse(
                render(request, 'account/edit_account.html', {
                    'edit_account_form': f
                }).content.decode('utf-8'))
        else:
            f = AccountForm(request.POST, instance=request.user)
            if f.is_valid():
                f.save()
                data = {}
                if f.password_changed:
                    data['refresh'] = True
                    user = authenticate(
                        username=f.cleaned_data.get('username'),
                        password=f.cleaned_data.get('new_password2'))
                    if user:
                        auth_login(request, user)
                    accountLogger.info('Password changed for user %s' %
                                       user.username)
                context = {}
                context['edit_account_form'] = f
                #				context['success_msg'] = "Your account has been updated successfully"
                #				return JsonResponse(status=200, data={'render': render(request, 'account/edit_account.html', context).content.decode('utf-8')})
                data[
                    'message'] = "Your account settings have been updated successfully."
                return JsonResponse(status=200, data=data)
            else:
                return JsonResponse(
                    status=400,
                    data={
                        'errors':
                        dict(f.errors.items()),
                        'message':
                        'Please correct the errors as indicated in the form.'
                    })
    else:
        return handle_user_type(request, redirect_request=True)
Пример #6
0
def myregister(request):
	"""
	注册函数
	"""
	context = RequestContext(request)
	context_dict = {}
	if request.is_ajax():
		response_data = {}
		username = request.POST.get(u'param')
		print username
		try:
			user = User.objects.get(username=username)
		except User.DoesNotExist:
			print u'新建用户'
			response_data['info'] = '' 
			response_data['status'] = 'y' 
			return HttpResponse(json.dumps(response_data), mimetype="application/json")
		else:
			print u'该用户名已经存在'
			response_data['info'] = u'该用户名已经使用' 
			response_data['status'] = 'n' 
			return HttpResponse(json.dumps(response_data), mimetype="application/json")
	else:
		if u'POST' == request.method:
			user_form = AccountForm(data = request.POST)
			if user_form.is_valid():
				user = user_form.save()
				user.set_password(request.POST.get(u'password'))
				user.save()
				return HttpResponseRedirect('/')
			else:
				print '1111111111'
		else:
			user_form = AccountForm()
		context_dict['form'] = user_form
	return render_to_response(u'account/register.html', context_dict, context)