from django import forms
from pinaxcon import widgets
from .models import TalkProposal, TutorialProposal, MiniconfProposal
from .models import SysAdminProposal, WriteTheDocsProposal, WootconfProposal
from .models import KernelProposal, OpenRadioProposal, SecurityProposal
from .models import GamesProposal, TestingProposal, LawProposal, OpenHardwareProposal
from .models import KnowledgeProposal
class ProposalForm(forms.ModelForm):
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):
@@ -28,304 +29,315 @@ class TalkProposalForm(ProposalForm):
"target_audience",
"abstract",
"private_abstract",
"technical_requirements",
"project",
"project_url",
"video_url",
"recording_release",
"materials_release",
]
widgets = {
"abstract" : widgets.AceMarkdownEditor(),
"private_abstract" : widgets.AceMarkdownEditor(),
"technical_requirements" : widgets.AceMarkdownEditor(),
"abstract": widgets.AceMarkdownEditor(),
"private_abstract": widgets.AceMarkdownEditor(),
"technical_requirements": widgets.AceMarkdownEditor(),
}
class TutorialProposalForm(ProposalForm):
class Meta:
model = TutorialProposal
fields = [
"title",
class MiniconfProposalForm(ProposalForm):
model = MiniconfProposal
class SysAdminProposalForm(ProposalForm):
model = SysAdminProposal
"talk_format",
class WriteTheDocsProposalForm(ProposalForm):
model = WriteTheDocsProposal
class RadioProposalForm(ProposalForm):
model = OpenRadioProposal
class KernelProposalForm(ProposalForm):
model = KernelProposal
class WootconfProposalForm(ProposalForm):
model = WootconfProposal
class SecurityProposalForm(ProposalForm):
model = SecurityProposal
class GamesProposalForm(ProposalForm):
model = GamesProposal
class TestingProposalForm(ProposalForm):
model = TestingProposal
class KnowledgeProposalForm(ProposalForm):
model = KnowledgeProposal
class LawProposalForm(ProposalForm):
model = LawProposal
class OpenHardwareProposalForm(ProposalForm):
model = OpenHardwareProposal