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.TutorialProposal) | ||||
| @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 AdditionalSpeakerInline(admin.TabularInline): | ||||
|  |  | |||
|  | @ -3,7 +3,8 @@ 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 | ||||
| 
 | ||||
| class ProposalForm(forms.ModelForm): | ||||
| 
 | ||||
|  | @ -80,3 +81,117 @@ class MiniconfProposalForm(ProposalForm): | |||
|             "private_abstract" : 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: | ||||
|         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", | ||||
|     "tutorial": "pinaxcon.proposals.forms.TutorialProposalForm", | ||||
|     "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_BOXES_HOOKSET = "pinaxcon.hooks.PinaxBoxesHookSet" | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Scott Bragg
						Scott Bragg