CFPs that are ready (#68)
* CFPs that are ready * Updated choices for sysadmin
This commit is contained in:
		
							parent
							
								
									5be0c8be19
								
							
						
					
					
						commit
						57ed5e546b
					
				
					 6 changed files with 281 additions and 1 deletions
				
			
		|  | @ -7,6 +7,12 @@ from symposion.proposals import models as symposion_models | ||||||
| @admin.register(models.TalkProposal) | @admin.register(models.TalkProposal) | ||||||
| @admin.register(models.TutorialProposal) | @admin.register(models.TutorialProposal) | ||||||
| @admin.register(models.MiniconfProposal) | @admin.register(models.MiniconfProposal) | ||||||
|  | @admin.register(models.SysAdminProposal) | ||||||
|  | @admin.register(models.WriteTheDocsProposal) | ||||||
|  | @admin.register(models.OpenRadioProposal) | ||||||
|  | @admin.register(models.SecurityProposal) | ||||||
|  | @admin.register(models.WootconfProposal) | ||||||
|  | @admin.register(models.KernelProposal) | ||||||
| class CategoryAdmin(admin.ModelAdmin): | class CategoryAdmin(admin.ModelAdmin): | ||||||
| 
 | 
 | ||||||
|     class AdditionalSpeakerInline(admin.TabularInline): |     class AdditionalSpeakerInline(admin.TabularInline): | ||||||
|  |  | ||||||
|  | @ -3,7 +3,8 @@ from django import forms | ||||||
| from pinaxcon import widgets | from pinaxcon import widgets | ||||||
| 
 | 
 | ||||||
| from .models import TalkProposal, TutorialProposal, MiniconfProposal | from .models import TalkProposal, TutorialProposal, MiniconfProposal | ||||||
| 
 | from .models import SysAdminProposal, WriteTheDocsProposal, WootconfProposal | ||||||
|  | from .models import KernelProposal, OpenRadioProposal, SecurityProposal | ||||||
| 
 | 
 | ||||||
| class ProposalForm(forms.ModelForm): | class ProposalForm(forms.ModelForm): | ||||||
| 
 | 
 | ||||||
|  | @ -80,3 +81,117 @@ class MiniconfProposalForm(ProposalForm): | ||||||
|             "private_abstract" : widgets.AceMarkdownEditor(), |             "private_abstract" : widgets.AceMarkdownEditor(), | ||||||
|             "technical_requirements" : widgets.AceMarkdownEditor(), |             "technical_requirements" : widgets.AceMarkdownEditor(), | ||||||
|         } |         } | ||||||
|  | 
 | ||||||
|  | class SysAdminProposalForm(ProposalForm): | ||||||
|  | 
 | ||||||
|  |     class Meta: | ||||||
|  |         model = SysAdminProposal | ||||||
|  |         fields = [ | ||||||
|  |             "title", | ||||||
|  |             "talk_format", | ||||||
|  |             "target_audience",   | ||||||
|  |             "abstract", | ||||||
|  |             "private_abstract", | ||||||
|  |             "technical_requirements", | ||||||
|  |             "project", | ||||||
|  |             "project_url", | ||||||
|  |             "recording_release", | ||||||
|  |             "materials_release", | ||||||
|  |         ] | ||||||
|  | 
 | ||||||
|  |         widgets = { | ||||||
|  |             "abstract" : widgets.AceMarkdownEditor(), | ||||||
|  |             "private_abstract" : widgets.AceMarkdownEditor(), | ||||||
|  |             "technical_requirements" : widgets.AceMarkdownEditor(), | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  | class WriteTheDocsProposalForm(ProposalForm): | ||||||
|  | 
 | ||||||
|  |     class Meta: | ||||||
|  |         model = WriteTheDocsProposal | ||||||
|  |         fields = [ | ||||||
|  |             "title", | ||||||
|  |             "talk_format", | ||||||
|  |             "target_audience",   | ||||||
|  |             "abstract", | ||||||
|  |             "private_abstract", | ||||||
|  |             "technical_requirements", | ||||||
|  |             "project", | ||||||
|  |             "project_url", | ||||||
|  |             "recording_release", | ||||||
|  |             "materials_release", | ||||||
|  |         ] | ||||||
|  | 
 | ||||||
|  |         widgets = { | ||||||
|  |             "abstract" : widgets.AceMarkdownEditor(), | ||||||
|  |             "private_abstract" : widgets.AceMarkdownEditor(), | ||||||
|  |             "technical_requirements" : widgets.AceMarkdownEditor(), | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  | class RadioProposalForm(ProposalForm): | ||||||
|  | 
 | ||||||
|  |     class Meta: | ||||||
|  |         model = OpenRadioProposal | ||||||
|  |         fields = [ | ||||||
|  |             "title", | ||||||
|  |             "abstract", | ||||||
|  |             "private_abstract", | ||||||
|  |             "technical_requirements", | ||||||
|  |         ] | ||||||
|  | 
 | ||||||
|  |         widgets = { | ||||||
|  |             "abstract" : widgets.AceMarkdownEditor(), | ||||||
|  |             "private_abstract" : widgets.AceMarkdownEditor(), | ||||||
|  |             "technical_requirements" : widgets.AceMarkdownEditor(), | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  | class KernelProposalForm(ProposalForm): | ||||||
|  | 
 | ||||||
|  |     class Meta: | ||||||
|  |         model = KernelProposal | ||||||
|  |         fields = [ | ||||||
|  |             "title", | ||||||
|  |             "abstract", | ||||||
|  |             "private_abstract", | ||||||
|  |             "technical_requirements", | ||||||
|  |         ] | ||||||
|  | 
 | ||||||
|  |         widgets = { | ||||||
|  |             "abstract" : widgets.AceMarkdownEditor(), | ||||||
|  |             "private_abstract" : widgets.AceMarkdownEditor(), | ||||||
|  |             "technical_requirements" : widgets.AceMarkdownEditor(), | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  | class WootconfProposalForm(ProposalForm): | ||||||
|  | 
 | ||||||
|  |     class Meta: | ||||||
|  |         model = WootconfProposal | ||||||
|  |         fields = [ | ||||||
|  |             "title", | ||||||
|  |             "abstract", | ||||||
|  |             "private_abstract", | ||||||
|  |             "technical_requirements", | ||||||
|  |         ] | ||||||
|  | 
 | ||||||
|  |         widgets = { | ||||||
|  |             "abstract" : widgets.AceMarkdownEditor(), | ||||||
|  |             "private_abstract" : widgets.AceMarkdownEditor(), | ||||||
|  |             "technical_requirements" : widgets.AceMarkdownEditor(), | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  | class SecurityProposalForm(ProposalForm): | ||||||
|  | 
 | ||||||
|  |     class Meta: | ||||||
|  |         model = SecurityProposal | ||||||
|  |         fields = [ | ||||||
|  |             "title", | ||||||
|  |             "abstract", | ||||||
|  |             "private_abstract", | ||||||
|  |             "technical_requirements", | ||||||
|  |         ] | ||||||
|  | 
 | ||||||
|  |         widgets = { | ||||||
|  |             "abstract" : widgets.AceMarkdownEditor(), | ||||||
|  |             "private_abstract" : widgets.AceMarkdownEditor(), | ||||||
|  |             "technical_requirements" : widgets.AceMarkdownEditor(), | ||||||
|  |         } | ||||||
|  |  | ||||||
|  | @ -0,0 +1,45 @@ | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | # Generated by Django 1.9.7 on 2016-09-21 10:36 | ||||||
|  | from __future__ import unicode_literals | ||||||
|  | 
 | ||||||
|  | from django.db import migrations, models | ||||||
|  | import django.db.models.deletion | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Migration(migrations.Migration): | ||||||
|  | 
 | ||||||
|  |     dependencies = [ | ||||||
|  |         ('symposion_proposals', '0001_initial'), | ||||||
|  |         ('proposals', '0001_initial'), | ||||||
|  |     ] | ||||||
|  | 
 | ||||||
|  |     operations = [ | ||||||
|  |         migrations.CreateModel( | ||||||
|  |             name='SysAdminProposal', | ||||||
|  |             fields=[ | ||||||
|  |                 ('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')), | ||||||
|  |                 ('target_audience', models.IntegerField(choices=[(1, b'User'), (2, b'Business'), (3, b'Community'), (4, b'Developer')])), | ||||||
|  |                 ('recording_release', models.BooleanField(default=True, help_text=b"I allow Linux Australia to release any recordings of presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")), | ||||||
|  |                 ('materials_release', models.BooleanField(default=True, help_text=b"I allow Linux Australia to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")), | ||||||
|  |                 ('talk_format', models.IntegerField(choices=[(1, b'Long Presentation (45 min)'), (2, b'Short Presentation (20 min)'), (3, b'Lightning Talk (5 min)')])), | ||||||
|  |             ], | ||||||
|  |             options={ | ||||||
|  |                 'verbose_name': 'System Administration Miniconf Proposal', | ||||||
|  |             }, | ||||||
|  |             bases=('symposion_proposals.proposalbase',), | ||||||
|  |         ), | ||||||
|  |         migrations.CreateModel( | ||||||
|  |             name='WriteTheDocsProposal', | ||||||
|  |             fields=[ | ||||||
|  |                 ('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')), | ||||||
|  |                 ('target_audience', models.IntegerField(choices=[(1, b'User'), (2, b'Business'), (3, b'Community'), (4, b'Developer')])), | ||||||
|  |                 ('recording_release', models.BooleanField(default=True, help_text=b"I allow Linux Australia to release any recordings of presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")), | ||||||
|  |                 ('materials_release', models.BooleanField(default=True, help_text=b"I allow Linux Australia to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")), | ||||||
|  |                 ('talk_format', models.IntegerField(choices=[(1, b'Long Presentation (40 min)'), (2, b'Short Presentation (20 min)')])), | ||||||
|  |             ], | ||||||
|  |             options={ | ||||||
|  |                 'verbose_name': 'WriteThe Docs Miniconf Proposal', | ||||||
|  |             }, | ||||||
|  |             bases=('symposion_proposals.proposalbase',), | ||||||
|  |         ), | ||||||
|  |     ] | ||||||
|  | @ -0,0 +1,57 @@ | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | # Generated by Django 1.9.7 on 2016-09-21 10:44 | ||||||
|  | from __future__ import unicode_literals | ||||||
|  | 
 | ||||||
|  | from django.db import migrations, models | ||||||
|  | import django.db.models.deletion | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Migration(migrations.Migration): | ||||||
|  | 
 | ||||||
|  |     dependencies = [ | ||||||
|  |         ('symposion_proposals', '0001_initial'), | ||||||
|  |         ('proposals', '0002_sysadminproposal_writethedocsproposal'), | ||||||
|  |     ] | ||||||
|  | 
 | ||||||
|  |     operations = [ | ||||||
|  |         migrations.CreateModel( | ||||||
|  |             name='KernelProposal', | ||||||
|  |             fields=[ | ||||||
|  |                 ('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')), | ||||||
|  |             ], | ||||||
|  |             options={ | ||||||
|  |                 'verbose_name': 'Kernel Miniconf Proposal', | ||||||
|  |             }, | ||||||
|  |             bases=('symposion_proposals.proposalbase',), | ||||||
|  |         ), | ||||||
|  |         migrations.CreateModel( | ||||||
|  |             name='OpenRadioProposal', | ||||||
|  |             fields=[ | ||||||
|  |                 ('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')), | ||||||
|  |             ], | ||||||
|  |             options={ | ||||||
|  |                 'verbose_name': 'OpenRadio Miniconf Proposal', | ||||||
|  |             }, | ||||||
|  |             bases=('symposion_proposals.proposalbase',), | ||||||
|  |         ), | ||||||
|  |         migrations.CreateModel( | ||||||
|  |             name='SecurityProposal', | ||||||
|  |             fields=[ | ||||||
|  |                 ('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')), | ||||||
|  |             ], | ||||||
|  |             options={ | ||||||
|  |                 'verbose_name': 'Security/Privacy Miniconf Proposal', | ||||||
|  |             }, | ||||||
|  |             bases=('symposion_proposals.proposalbase',), | ||||||
|  |         ), | ||||||
|  |         migrations.CreateModel( | ||||||
|  |             name='WootconfProposal', | ||||||
|  |             fields=[ | ||||||
|  |                 ('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')), | ||||||
|  |             ], | ||||||
|  |             options={ | ||||||
|  |                 'verbose_name': 'WOOTCONF Miniconf Proposal', | ||||||
|  |             }, | ||||||
|  |             bases=('symposion_proposals.proposalbase',), | ||||||
|  |         ), | ||||||
|  |     ] | ||||||
|  | @ -54,3 +54,53 @@ class MiniconfProposal(ProposalBase): | ||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         verbose_name = "miniconf proposal" |         verbose_name = "miniconf proposal" | ||||||
|  | 
 | ||||||
|  | class SysAdminProposal(Proposal): | ||||||
|  | 
 | ||||||
|  |     TYPE_SHORT_PRESENTATION = 1 | ||||||
|  |     TYPE_LIGHTNING_TALK = 2 | ||||||
|  |      | ||||||
|  |     TALK_FORMATS = [ | ||||||
|  |         (TYPE_SHORT_PRESENTATION, "Short Presentation (20 min)"), | ||||||
|  |         (TYPE_LIGHTNING_TALK, "Lightning Talk (5 min)"), | ||||||
|  |     ] | ||||||
|  |      | ||||||
|  |     talk_format = models.IntegerField(choices=TALK_FORMATS) | ||||||
|  |      | ||||||
|  |     class Meta: | ||||||
|  |         verbose_name = "System Administration Miniconf Proposal" | ||||||
|  | 
 | ||||||
|  | class WriteTheDocsProposal(Proposal): | ||||||
|  | 
 | ||||||
|  |     TYPE_LONG_PRESENTATION = 1  | ||||||
|  |     TYPE_SHORT_PRESENTATION = 2 | ||||||
|  |      | ||||||
|  |     TALK_FORMATS = [ | ||||||
|  |         (TYPE_LONG_PRESENTATION, "Long Presentation (40 min)"),   | ||||||
|  |         (TYPE_SHORT_PRESENTATION, "Short Presentation (20 min)"), | ||||||
|  |     ] | ||||||
|  |      | ||||||
|  |     talk_format = models.IntegerField(choices=TALK_FORMATS) | ||||||
|  |      | ||||||
|  |     class Meta: | ||||||
|  |         verbose_name = "WriteThe Docs Miniconf Proposal" | ||||||
|  | 
 | ||||||
|  | class OpenRadioProposal(ProposalBase): | ||||||
|  | 
 | ||||||
|  |     class Meta: | ||||||
|  |         verbose_name = "OpenRadio Miniconf Proposal" | ||||||
|  | 
 | ||||||
|  | class WootconfProposal(ProposalBase): | ||||||
|  | 
 | ||||||
|  |     class Meta: | ||||||
|  |         verbose_name = "WOOTCONF Miniconf Proposal" | ||||||
|  | 
 | ||||||
|  | class KernelProposal(ProposalBase): | ||||||
|  | 
 | ||||||
|  |     class Meta: | ||||||
|  |         verbose_name = "Kernel Miniconf Proposal" | ||||||
|  | 
 | ||||||
|  | class SecurityProposal(ProposalBase): | ||||||
|  | 
 | ||||||
|  |     class Meta: | ||||||
|  |         verbose_name = "Security/Privacy Miniconf Proposal" | ||||||
|  |  | ||||||
|  | @ -253,7 +253,14 @@ PROPOSAL_FORMS = { | ||||||
|     "talk": "pinaxcon.proposals.forms.TalkProposalForm", |     "talk": "pinaxcon.proposals.forms.TalkProposalForm", | ||||||
|     "tutorial": "pinaxcon.proposals.forms.TutorialProposalForm", |     "tutorial": "pinaxcon.proposals.forms.TutorialProposalForm", | ||||||
|     "miniconf": "pinaxcon.proposals.forms.MiniconfProposalForm", |     "miniconf": "pinaxcon.proposals.forms.MiniconfProposalForm", | ||||||
|  |     "sysadmin-miniconf": "pinaxcon.proposals.forms.SysAdminProposalForm", | ||||||
|  |     "radio-miniconf": "pinaxcon.proposals.forms.RadioProposalForm", | ||||||
|  |     "wootconf-miniconf": "pinaxcon.proposals.forms.WootconfProposalForm", | ||||||
|  |     "writethedocs-miniconf": "pinaxcon.proposals.forms.WriteTheDocsProposalForm", | ||||||
|  |     "security-miniconf": "pinaxcon.proposals.forms.SecurityProposalForm", | ||||||
|  |     "kernel-miniconf": "pinaxcon.proposals.forms.KernelProposalForm", | ||||||
| } | } | ||||||
|  | 
 | ||||||
| #PINAX_PAGES_HOOKSET = "pinaxcon.hooks.PinaxPagesHookSet" | #PINAX_PAGES_HOOKSET = "pinaxcon.hooks.PinaxPagesHookSet" | ||||||
| #PINAX_BOXES_HOOKSET = "pinaxcon.hooks.PinaxBoxesHookSet" | #PINAX_BOXES_HOOKSET = "pinaxcon.hooks.PinaxBoxesHookSet" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Scott Bragg
						Scott Bragg