예제 #1
0
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())
예제 #2
0
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 })