Files @ 766f7f40441d
Branch filter:

Location: CopyleftConf/copyleftconf-website/pinaxcon/proposals/forms.py

Josh Simmons
Revert "change to 2019 dates, swap in CFP for ticket links"

This reverts commit ca9e042cc4fcdd597fc7db08401f0578f786e656.
from django import forms
from symposion.proposals.forms import ProposalMixIn

from .models import ConferenceSpeaker, TalkProposal


class ConferenceSpeakerForm(forms.ModelForm):

    class Meta:
        model = ConferenceSpeaker
        exclude = [
            'user',
            'biography_html',
            'experience_html',
            'invite_email',
            'invite_token',
            'annotation',
            'reviewer',
        ]

    def __init__(self, *a, **k):
        super(ConferenceSpeakerForm, self).__init__(*a, **k)
        self.fields['code_of_conduct'].required = True



class ProposalForm(forms.ModelForm, ProposalMixIn):

    def __init__(self, *a, **k):
        super(ProposalForm, self).__init__(*a, **k)
        self.description_required()
        self.abstract_required()
        self.fields["additional_notes"].help_text = ("Anything else "
            "you'd like the program committee to know when making their "
            "selection. This is not made public. "
            "Edit using "
            "<a href='http://daringfireball.net/projects/markdown/basics' "
            "target='_blank'>Markdown</a>.")
        self.fields["abstract"].help_text = ("Detailed abstract. Will "
            "be made public if your proposal is accepted. Edit "
            "using <a href='http://daringfireball.net/projects/markdown/basics' "
            "target='_blank'>Markdown</a>.")

        for field in ("description", "abstract", "additional_notes"):
            self.fields[field].help_text += (" Please do not include "
                "any information that could identify you, as your proposal "
                "will be reviewed anonymously.")


    def clean_description(self):
        value = self.cleaned_data["description"]
        if len(value) > 400:
            raise forms.ValidationError(
                u"The description must be less than 400 characters"
            )
        return value


class TalkProposalForm(ProposalForm):

    class Meta:
        model = TalkProposal
        fields = [
            "title",
            "description",
            "abstract",
            "new_presentation",
            "extended_presentation",
            "additional_notes",
            "extra_av",
            "slides_release",
            "recording_release",
        ]