xmpp.chapril.org-conversejs/accounts/views.py

63 lines
2.4 KiB
Python
Raw Normal View History

2012-03-02 16:16:20 +01:00
from django.shortcuts import render_to_response
from django.template import RequestContext
2012-03-05 10:55:21 +01:00
from django.conf import settings
2012-03-05 11:44:26 +01:00
from django.contrib import messages
2012-03-05 10:55:21 +01:00
from django.utils.translation import ugettext as _
2012-03-05 11:44:26 +01:00
from django.http import HttpResponseRedirect
2012-03-05 12:06:00 +01:00
from django.core.mail import mail_admins
2012-03-05 16:35:25 +01:00
from django.contrib.auth.decorators import login_required
2012-03-02 16:16:20 +01:00
2012-03-05 14:19:38 +01:00
from accounts.models import set_lang
2012-03-05 10:55:21 +01:00
from accounts.forms import ProfileForm, UserForm, ContactForm
2012-03-02 16:16:20 +01:00
2012-03-05 16:35:25 +01:00
@login_required
2012-03-02 16:16:20 +01:00
def profile(request):
if request.method == 'POST':
2012-03-02 16:38:41 +01:00
form = ProfileForm(request.POST, instance = request.user.get_profile())
userform = UserForm(request.POST, instance = request.user)
if form.is_valid() and userform.is_valid():
form.save()
userform.save()
2012-03-05 14:19:38 +01:00
set_lang(request.user, request = request, user = request.user)
# Need to redirect to allow language change
return HttpResponseRedirect('/accounts/profile/')
2012-03-02 16:16:20 +01:00
else:
form = ProfileForm(instance = request.user.get_profile())
2012-03-02 16:38:41 +01:00
userform = UserForm(instance = request.user)
2012-03-02 16:16:20 +01:00
response = render_to_response('profile.html', RequestContext(request, {
2012-03-02 16:38:41 +01:00
'form': form,
'userform': userform,
2012-03-05 15:18:52 +01:00
'title': '%s @ %s' % (_('User profile'), settings.SITE_TITLE),
2012-03-02 16:38:41 +01:00
}))
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, request.user.get_profile().language)
return response
2012-03-05 10:55:21 +01:00
def contact(request):
if request.method == 'POST':
form = ContactForm(request.POST)
2012-03-05 11:44:26 +01:00
if form.is_valid():
2012-03-05 12:06:00 +01:00
mail_admins(
form.cleaned_data['subject'],
'Message from %s <%s>:\n\n%s' % (
form.cleaned_data['name'],
form.cleaned_data['email'],
form.cleaned_data['message']
))
2012-03-05 11:44:26 +01:00
messages.add_message(request, messages.INFO, _('Message has been sent to administrator.'))
return HttpResponseRedirect('/')
2012-03-05 10:55:21 +01:00
else:
initial = {}
if request.user.is_authenticated():
initial['name'] = request.user.get_full_name()
initial['email'] = request.user.email
2012-03-05 11:56:46 +01:00
if 'subject' in request.GET:
initial['subject'] = request.GET['subject']
form = ContactForm(initial = initial)
2012-03-05 10:55:21 +01:00
return render_to_response('contact.html', RequestContext(request, {
'form': form,
'title': '%s @ %s' % (_('Contact'), settings.SITE_TITLE),
}))