def clean(self): cleaned_data = super(InvitationForm, self).clean() bucket = get_invitation_bucket(self.user, _('invitations')) try: bucket.consume(1) except bucket.TokensExceeded as e: raise forms.ValidationError(e.get_message()) return cleaned_data
def invitation_action(request): invitation_pk = request.POST.get('invitation_pk') invitation = get_object_or_404(Invitation, pk=invitation_pk) if request.method == 'POST': if invitation.invited_by != request.user: raise PermissionDenied() if 'withdraw' in request.POST: invitation.delete() messages.success(request, _('Invitation was withdrawn.')) elif 'resend' in request.POST: bucket = get_invitation_bucket(request.user, _('invitation mails')) try: bucket.consume(1) except bucket.TokensExceeded as e: messages.error(request, e.get_message()) else: invitation.send_email() messages.success(request, _('Invitation mail was resent.')) return redirect('guests_index')