Adds CFP fields
This commit is contained in:
parent
1de0a5d46a
commit
2ad649da30
3 changed files with 114 additions and 15 deletions
|
@ -1,4 +1,5 @@
|
|||
from django import forms
|
||||
from symposion.proposals.forms import ProposalMixIn
|
||||
|
||||
from .models import ConferenceSpeaker, TalkProposal
|
||||
|
||||
|
@ -22,7 +23,12 @@ class ConferenceSpeakerForm(forms.ModelForm):
|
|||
|
||||
|
||||
|
||||
class ProposalForm(forms.ModelForm):
|
||||
class ProposalForm(forms.ModelForm, ProposalMixIn):
|
||||
|
||||
def __init__(self, *a, **k):
|
||||
super(ProposalForm, self).__init__(*a, **k)
|
||||
self.description_required()
|
||||
self.abstract_required()
|
||||
|
||||
def clean_description(self):
|
||||
value = self.cleaned_data["description"]
|
||||
|
@ -39,9 +45,12 @@ class TalkProposalForm(ProposalForm):
|
|||
model = TalkProposal
|
||||
fields = [
|
||||
"title",
|
||||
"audience_level",
|
||||
"description",
|
||||
"abstract",
|
||||
"new_presentation",
|
||||
"extended_presentation",
|
||||
"additional_notes",
|
||||
"extra_av",
|
||||
"slides_release",
|
||||
"recording_release",
|
||||
]
|
||||
|
|
69
pinaxcon/proposals/migrations/0003_auto_20170813_1945.py
Normal file
69
pinaxcon/proposals/migrations/0003_auto_20170813_1945.py
Normal file
|
@ -0,0 +1,69 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.4 on 2017-08-13 19:45
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('proposals', '0002_conferencespeaker'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='talkproposal',
|
||||
name='audience_level',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='talkproposal',
|
||||
name='extended_presentation',
|
||||
field=models.BooleanField(default=False, help_text='Most talks at North Bay Python go for 30 minutes. We have some openings for 45-minute talks. If you check this field, please explain in your additional notes how you would use the extra 15 minutes.', verbose_name='Optionally consider this proposal for a 45-minute slot'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='talkproposal',
|
||||
name='extra_av',
|
||||
field=models.TextField(blank=True, help_text='We will provide you with a projector with HDMI connection, an audio connection, and one microphone per speaker. If you need anything more than this to present this talk, please list them here.', verbose_name='Extra tech and A/V requirements'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='talkproposal',
|
||||
name='new_presentation',
|
||||
field=models.BooleanField(default=False, help_text='Check this box if North Bay Python will be the first time this talk is presented at a technical conference.', verbose_name='This is a new presentation'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='talkproposal',
|
||||
name='slides_release',
|
||||
field=models.BooleanField(default=True, help_text='I authorize North Bay Python to release a copy of my slides and related materials under the Creative Commons Attribution-ShareAlike 3.0 United States licence, and certify that I have the authority to do so.'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='conferencespeaker',
|
||||
name='experience',
|
||||
field=models.TextField(blank=True, help_text="List any past speaking experience you have. This can include user groups, meetups, or presentations at work or school. Edit using <a href='http://warpedvisions.org/projects/markdown-cheat-sheet/target='_blank'>Markdown</a>.", verbose_name='Past speaking experience'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='conferencespeaker',
|
||||
name='first_time',
|
||||
field=models.BooleanField(help_text='Check this field if this is your first time speaking at a technical conference.', verbose_name='First-time speaker?'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='conferencespeaker',
|
||||
name='lodging_assistance',
|
||||
field=models.BooleanField(help_text='Check this field if you require lodging assistance in Petaluma, California during North Bay Python.', verbose_name='Lodging assistance required?'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='conferencespeaker',
|
||||
name='minority_group',
|
||||
field=models.CharField(blank=True, help_text='If you are a member of one or more groups that are under-represented in the tech industry, you may list these here. Your response is optional.', max_length=256, verbose_name='Diversity statement'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='conferencespeaker',
|
||||
name='travel_assistance',
|
||||
field=models.BooleanField(help_text='Check this field if you require travel assistance to get to North Bay Python in Petaluma, California.', verbose_name='Travel assistance required?'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='talkproposal',
|
||||
name='recording_release',
|
||||
field=models.BooleanField(default=True, help_text='I authorize North Bay Python to release a recording of my talk under the Creative Commons Attribution-ShareAlike 3.0 United States licence.'),
|
||||
),
|
||||
]
|
|
@ -80,21 +80,42 @@ class ConferenceSpeaker(SpeakerBase):
|
|||
|
||||
class Proposal(ProposalBase):
|
||||
|
||||
AUDIENCE_LEVEL_NOVICE = 1
|
||||
AUDIENCE_LEVEL_EXPERIENCED = 2
|
||||
AUDIENCE_LEVEL_INTERMEDIATE = 3
|
||||
|
||||
AUDIENCE_LEVELS = [
|
||||
(AUDIENCE_LEVEL_NOVICE, "Novice"),
|
||||
(AUDIENCE_LEVEL_INTERMEDIATE, "Intermediate"),
|
||||
(AUDIENCE_LEVEL_EXPERIENCED, "Experienced"),
|
||||
]
|
||||
|
||||
audience_level = models.IntegerField(choices=AUDIENCE_LEVELS)
|
||||
|
||||
extended_presentation = models.BooleanField(
|
||||
default=False,
|
||||
verbose_name=_("Optionally consider this proposal for a 45-minute "
|
||||
"slot"),
|
||||
help_text=_("Most talks at North Bay Python go for 30 minutes. We "
|
||||
"have some openings for 45-minute talks. If you check this "
|
||||
"field, please explain in your additional notes how you "
|
||||
"would use the extra 15 minutes."),
|
||||
)
|
||||
extra_av = models.TextField(
|
||||
blank=True,
|
||||
verbose_name=_("Extra tech and A/V requirements"),
|
||||
help_text=_("We will provide you with a projector with HDMI "
|
||||
"connection, an audio connection, and one microphone per "
|
||||
"speaker. If you need anything more than this to present "
|
||||
"this talk, please list them here."),
|
||||
)
|
||||
new_presentation = models.BooleanField(
|
||||
default=False,
|
||||
verbose_name=_("This is a new presentation"),
|
||||
help_text=_("Check this box if North Bay Python will be the first "
|
||||
"time this talk is presented at a technical conference."),
|
||||
)
|
||||
slides_release = models.BooleanField(
|
||||
default=True,
|
||||
help_text=_("I authorize North Bay Python to release a copy of my "
|
||||
"slides and related materials under the Creative Commons "
|
||||
"Attribution-ShareAlike 3.0 United States licence, and "
|
||||
"certify that I have the authority to do so."),
|
||||
)
|
||||
recording_release = models.BooleanField(
|
||||
default=True,
|
||||
help_text="By submitting your proposal, you agree to give permission to the conference organizers to record, edit, and release audio and/or video of your presentation. If you do not agree to this, please uncheck this box."
|
||||
help_text=_("I authorize North Bay Python to release a recording of "
|
||||
"my talk under the Creative Commons "
|
||||
"Attribution-ShareAlike 3.0 United States licence."),
|
||||
|
||||
)
|
||||
|
||||
class Meta:
|
||||
|
|
Loading…
Reference in a new issue