Files
@ e32942a49dc8
Branch filter:
Location: symposion_app/pinaxcon/proposals/forms.py - annotation
e32942a49dc8
2.1 KiB
text/x-python
Fixes django-sitetree’s breaking of 500 reporting. (#39)
04f246d85071 04f246d85071 2cdb554623e5 2cdb554623e5 4c458fd584d3 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 04f246d85071 9c986111a193 04f246d85071 9c986111a193 9c986111a193 9c986111a193 9c986111a193 9c986111a193 04f246d85071 9c986111a193 04f246d85071 4c458fd584d3 2cdb554623e5 2cdb554623e5 2cdb554623e5 2cdb554623e5 2cdb554623e5 2cdb554623e5 2cdb554623e5 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 2cdb554623e5 2cdb554623e5 2cdb554623e5 2cdb554623e5 2cdb554623e5 2cdb554623e5 2cdb554623e5 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 4c458fd584d3 2cdb554623e5 2cdb554623e5 2cdb554623e5 2cdb554623e5 2cdb554623e5 2cdb554623e5 | from django import forms
from pinaxcon import widgets
from .models import TalkProposal, TutorialProposal, MiniconfProposal
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):
class Meta:
model = TalkProposal
fields = [
"title",
"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(),
}
class TutorialProposalForm(ProposalForm):
class Meta:
model = TutorialProposal
fields = [
"title",
"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(),
}
class MiniconfProposalForm(ProposalForm):
class Meta:
model = MiniconfProposal
fields = [
"title",
"abstract",
"private_abstract",
"technical_requirements",
]
widgets = {
"abstract" : widgets.AceMarkdownEditor(),
"private_abstract" : widgets.AceMarkdownEditor(),
"technical_requirements" : widgets.AceMarkdownEditor(),
}
|