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…
	
	Add table
		
		Reference in a new issue
	
	 Christopher Neugebauer
						Christopher Neugebauer