from django.contrib import auth
from django.contrib.sites.models import Site
from django.http import HttpResponseRedirect
-from patchwork.models import Project, Bundle, Person, EmailConfirmation, State
+from patchwork.models import Project, Bundle, Person, EmailConfirmation, \
+ State, EmailOptout
from patchwork.forms import UserProfileForm, UserPersonLinkForm, \
RegistrationForm
from patchwork.filters import DelegateFilter
conf.user.is_active = True
conf.user.save()
conf.deactivate()
+ try:
+ person = Person.objects.get(email__iexact = conf.user.email)
+ except Person.DoesNotExist:
+ person = Person(email = conf.user.email,
+ name = conf.user.profile.name())
+ person.user = conf.user
+ person.save()
+
return render_to_response('patchwork/registration-confirm.html')
@login_required
context = PatchworkRequestContext(request)
if request.method == 'POST':
- form = UserProfileForm(instance = request.user.get_profile(),
+ form = UserProfileForm(instance = request.user.profile,
data = request.POST)
if form.is_valid():
form.save()
else:
- form = UserProfileForm(instance = request.user.get_profile())
+ form = UserProfileForm(instance = request.user.profile)
- context.project = request.user.get_profile().primary_project
+ context.project = request.user.profile.primary_project
context['bundles'] = Bundle.objects.filter(owner = request.user)
context['profileform'] = form
- people = Person.objects.filter(user = request.user)
+ optout_query = '%s.%s IN (SELECT %s FROM %s)' % (
+ Person._meta.db_table,
+ Person._meta.get_field('email').column,
+ EmailOptout._meta.get_field('email').column,
+ EmailOptout._meta.db_table)
+ people = Person.objects.filter(user = request.user) \
+ .extra(select = {'is_optout': optout_query})
context['linked_emails'] = people
context['linkform'] = UserPersonLinkForm()
todo_lists = []
for project in Project.objects.all():
- patches = request.user.get_profile().todo_patches(project = project)
+ patches = request.user.profile.todo_patches(project = project)
if not patches.count():
continue
context = PatchworkRequestContext(request)
context['todo_lists'] = todo_lists
- context.project = request.user.get_profile().primary_project
+ context.project = request.user.profile.primary_project
return render_to_response('patchwork/todo-lists.html', context)
@login_required
def todo_list(request, project_id):
project = get_object_or_404(Project, linkname = project_id)
- patches = request.user.get_profile().todo_patches(project = project)
+ patches = request.user.profile.todo_patches(project = project)
filter_settings = [(DelegateFilter,
{'delegate': request.user})]