I have a form that allows users to submit their name and email address
for an invitation.
I do not want people signing up more than once. The following code
works, but it does not seem like the "Best Practice" solution.

forms.py
[...imports...]
class RequestInvite(forms.Form):
        name = forms.CharField(max_length=75)
        email = forms.EmailField()

        def clean_name(self):
                try:
                        u = UserInvite.objects.get(name__contains =
self.clean_data['name'])
                        raise ValidationError('You have already signed up.')
                except UserInvite.DoesNotExist:
                        return self.clean_data['name']

        def clean_email(self):
                try:
                        u = UserInvite.objects.get(email__contains =
self.clean_data['email'])
                        raise ValidationError('You have already signed up.')
                except UserInvite.DoesNotExist:
                        return self.clean_data['email']

        def save(self):
                invite = UserInvite(
                        name = self.clean_data['name'],
                        email = self.clean_data['email'],)
                invite.save()

views.py
[...imports...]
def request_invite(request):

        f = RequestInvite()

        if request.method == 'POST':
                invite_me = RequestInvite(request.POST)
                if invite_me.is_valid():
                        invite_me.save()
                        msg = "We will be sending out invitations shortly."
                        return render_to_response( 'invite/thanks.html',
                                {'msg': msg})
                else:
                        f = invite_me

        return render_to_response( 'invite/index.html',
                {'form':f,})

If someone could point me in the right direction it would be greatly
appreciated.
Thanks Matt


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to