def merge_member_from_request(request): """Method to merge the selected members""" member_to_save = None member_to_merge = None if 'member_to_save' in request.POST: print "Member to save: %s" % request.POST['member_to_save'] member_to_save = ClubMember.objects.get(pk=request.POST['member_to_save']) else: messages.error(request, 'Error obtaining the member to save') return HttpResponseRedirect(ClubMember.get_admin_list_url()) try: member_to_merge = ClubMember.objects.get(pk=request.POST['member_to_merge']) except (KeyError, SizeInfo.DoesNotExist): messages.error(request, 'Error obtaining the member to merge') return HttpResponseRedirect(reverse('merge_member_list', args=(member_to_save,))) try: member_to_save.merge_member(member_to_merge) messages.success(request, 'Member %s has successfully been merged into %s' % (member_to_merge, member_to_save)) except: messages.error(request, 'There was an error merging member %s into %s' % (member_to_merge, member_to_save)) raise return HttpResponseRedirect(ClubMember.get_admin_list_url())
def register(request): """Handles new user registration""" print 'in RegisterView' email = 'email' name = 'noname' if request.method == 'POST': form = RegisterForm(request.POST) if form.is_valid(): print "Form valid..." data = form.cleaned_data fname = data['firstname'] lname = data['lastname'] name = "%s %s" % (fname, lname) email = data['email'] username = data['username'] password = data['password'] try: club = Club.objects.get(pk=request.POST['club_selection']) except: return render(request, 'registration/registration_form.html', { 'form': form, 'clubs': clubs }) # Create a new club member and user, and set to inactive to prevent logging in without # validating registration user = User.objects.create_user(username, email, password) user.first_name = fname user.last_name = lname user.is_active = False user.save() member = ClubMember(first_name=fname, last_name=lname, email=email, associated_club=club, user=user) member.generate_sha1() member.save() es = EmailSender() # This is a little hacky, but for now, it'll do es.send_registration_request(member) msg = 'Thanks for registering, %s.' % name messages.success(request, msg) msg = ' An email has been sent to %s providing a link to verify this account.' % email messages.success(request, msg) return HttpResponseRedirect(reverse('index')) else: print form else: form = RegisterForm() clubs = Club.objects.all() return render(request, 'registration/registration_form.html', { 'form': form, 'clubs': clubs })