Files
@ c01dad66f78d
Branch filter:
Location: symposion_app/pinaxcon/proposals/forms.py - annotation
c01dad66f78d
1.7 KiB
text/x-python
Hide Linux Australia-specific questions, update registration changes date
9b0d83053895 9b0d83053895 04f246d85071 04f246d85071 665415779f8e 246bbcb324aa be35d21102c7 9b0d83053895 9b0d83053895 9b0d83053895 f60e37072525 9b0d83053895 f60e37072525 9b0d83053895 9b0d83053895 630bf4086135 9b0d83053895 9b0d83053895 9b0d83053895 f72490b1eb01 f60e37072525 9b0d83053895 9b0d83053895 9b0d83053895 9b0d83053895 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 04f246d85071 04f246d85071 8fa8fc4012a5 8fa8fc4012a5 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 246bbcb324aa f72490b1eb01 4c458fd584d3 2cdb554623e5 4c458fd584d3 4c458fd584d3 4c458fd584d3 246bbcb324aa f72490b1eb01 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 4cf869c9fa74 | import copy
from django import forms
from pinaxcon.proposals.fields import HelpTextField
from pinaxcon.proposals import models
DEFAULT_FIELDS = [
"title",
"primary_topic",
"target_audience",
"experience_level",
"abstract",
"private_abstract",
"content_warning",
"technical_requirements",
"project",
"project_url",
"video_url",
"require_approval",
"recording_release",
"materials_release",
]
TALK_FORMAT_FIELDS = copy.copy(DEFAULT_FIELDS)
TALK_FORMAT_FIELDS.insert(2, "talk_format")
TALK_FORMAT_FIELDS.append("ticket_acknowledgement")
class ProposalForm(forms.ModelForm):
required_css_class = 'label-required'
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 = models.TalkProposal
fields = copy.copy(DEFAULT_FIELDS)
class TutorialProposalForm(ProposalForm):
class Meta:
model = models.TutorialProposal
fields = copy.copy(DEFAULT_FIELDS)
class MiniconfProposalForm(ProposalForm):
def __init__(self, *a, **k):
super(MiniconfProposalForm, self).__init__(*a, **k)
self.fields['ticket_acknowledgement'].required = True
class CopyleftComplianceProposalForm(MiniconfProposalForm):
class Meta:
model = models.CopyleftComplianceProposal
fields = TALK_FORMAT_FIELDS
class MemberProjectProposalForm(MiniconfProposalForm):
class Meta:
model = models.MemberProjectProposal
fields = TALK_FORMAT_FIELDS
|