You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.3 KiB

import logging
8 years ago
from django.contrib import messages
from django.core.urlresolvers import reverse
8 years ago
from django.http import HttpResponseRedirect
from django.template.response import TemplateResponse
8 years ago
from django.views.generic import TemplateView, View
8 years ago
from registration.models import Member
from .forms import MembershipForm
logger = logging.getLogger(__name__)
class DashboardView(View):
def get(self, request):
return TemplateResponse(request, 'dashboard.html')
8 years ago
class NewMembershipView(TemplateView):
template_name = 'membership_form.html'
def get(self, request, member_id):
form = MembershipForm(initial=dict(member=member_id))
8 years ago
return self.render_to_response(dict(form=form))
def post(self, request, member_id):
form = MembershipForm(request.POST, initial=dict(member=member_id))
member = Member.objects.get(id=member_id)
8 years ago
if form.is_valid():
form.save()
8 years ago
messages.add_message(request, messages.SUCCESS, 'Successfully created our newest member, {first} {last}'
.format(first=member.first_name, last=member.last_name))
return HttpResponseRedirect(reverse('member_edit', kwargs=dict(member_id=member_id)))
8 years ago
return self.render_to_response(dict(form=form))