Files @ c8218bb9d0ea
Branch filter:

Location: symposion_app/vendor/symposion/proposals/forms.py

James Polley
Correct variable name to reflect what it's naming

IT's not the container name, it's the image name. Fix the name to be
less confusing.
from django import forms
from django.db.models import Q
from django.utils.translation import ugettext_lazy as _

from symposion.proposals.models import SupportingDocument


# @@@ generic proposal form


class AddSpeakerForm(forms.Form):

    required_css_class = 'label-required'

    email = forms.EmailField(
        label=_("Email address of new speaker (use their email address, not yours)")
    )

    def __init__(self, *args, **kwargs):
        self.proposal = kwargs.pop("proposal")
        super(AddSpeakerForm, self).__init__(*args, **kwargs)

    def clean_email(self):
        value = self.cleaned_data["email"]
        exists = self.proposal.additional_speakers.filter(
            Q(user=None, invite_email=value) |
            Q(user__email=value)
        ).exists()
        if exists:
            raise forms.ValidationError(
                _("This email address has already been invited to your talk proposal")
            )
        return value


class SupportingDocumentCreateForm(forms.ModelForm):

    required_css_class = 'label-required'

    class Meta:
        model = SupportingDocument
        fields = [
            "file",
            "description",
        ]