From df808d52f3fc650cd3ea8601b6da7f2e267072fe Mon Sep 17 00:00:00 2001 From: Scott Bragg Date: Sun, 25 Sep 2016 15:38:15 +1000 Subject: [PATCH] Games Miniconf CFP (#70) --- pinaxcon/proposals/forms.py | 39 +++++++++++++++++++ .../migrations/0004_auto_20160925_0534.py | 36 +++++++++++++++++ pinaxcon/proposals/models.py | 24 ++++++++++-- pinaxcon/settings.py | 1 + pinaxcon/templates/dashboard.html | 2 +- 5 files changed, 98 insertions(+), 4 deletions(-) create mode 100644 pinaxcon/proposals/migrations/0004_auto_20160925_0534.py diff --git a/pinaxcon/proposals/forms.py b/pinaxcon/proposals/forms.py index fa63b58f..19ec57eb 100644 --- a/pinaxcon/proposals/forms.py +++ b/pinaxcon/proposals/forms.py @@ -137,6 +137,10 @@ class RadioProposalForm(ProposalForm): "abstract", "private_abstract", "technical_requirements", + "project", + "project_url", + "recording_release", + "materials_release", ] widgets = { @@ -154,6 +158,10 @@ class KernelProposalForm(ProposalForm): "abstract", "private_abstract", "technical_requirements", + "project", + "project_url", + "recording_release", + "materials_release", ] widgets = { @@ -171,6 +179,10 @@ class WootconfProposalForm(ProposalForm): "abstract", "private_abstract", "technical_requirements", + "project", + "project_url", + "recording_release", + "materials_release", ] widgets = { @@ -188,6 +200,33 @@ class SecurityProposalForm(ProposalForm): "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 GamesProposalForm(ProposalForm): + + class Meta: + model = GamesProposal + fields = [ + "title", + "talk_format", + "target_audience", + "abstract", + "private_abstract", + "technical_requirements", + "project", + "project_url", + "recording_release", + "materials_release", ] widgets = { diff --git a/pinaxcon/proposals/migrations/0004_auto_20160925_0534.py b/pinaxcon/proposals/migrations/0004_auto_20160925_0534.py new file mode 100644 index 00000000..6c94ede8 --- /dev/null +++ b/pinaxcon/proposals/migrations/0004_auto_20160925_0534.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-09-25 05:34 +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', '0003_kernelproposal_openradioproposal_securityproposal_wootconfproposal'), + ] + + operations = [ + migrations.CreateModel( + name='GamesProposal', + 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 Creative Commons Attribution-Share Alike Australia 3.0 Licence")), + ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence")), + ('talk_format', models.IntegerField(choices=[(1, b'Presentation'), (2, b'Demonstration'), (3, b'Other')])), + ], + options={ + 'verbose_name': 'Games and FOSS Miniconf Proposal', + }, + bases=('symposion_proposals.proposalbase',), + ), + migrations.AlterField( + model_name='sysadminproposal', + name='talk_format', + field=models.IntegerField(choices=[(1, b'Short Presentation (15-25 min)'), (2, b'Lightning Talk (5-10 min)')], help_text=b'Please indicate your preferred talk length in the private abstract field below.'), + ), + ] diff --git a/pinaxcon/proposals/models.py b/pinaxcon/proposals/models.py index 8a4bff5c..9748fcd0 100644 --- a/pinaxcon/proposals/models.py +++ b/pinaxcon/proposals/models.py @@ -61,11 +61,12 @@ class SysAdminProposal(Proposal): TYPE_LIGHTNING_TALK = 2 TALK_FORMATS = [ - (TYPE_SHORT_PRESENTATION, "Short Presentation (20 min)"), - (TYPE_LIGHTNING_TALK, "Lightning Talk (5 min)"), + (TYPE_SHORT_PRESENTATION, "Short Presentation (15-25 min)"), + (TYPE_LIGHTNING_TALK, "Lightning Talk (5-10 min)"), ] - talk_format = models.IntegerField(choices=TALK_FORMATS) + talk_format = models.IntegerField(choices=TALK_FORMATS, + help_text="Please indicate your preferred talk length in the private abstract field below.") class Meta: verbose_name = "System Administration Miniconf Proposal" @@ -104,3 +105,20 @@ class SecurityProposal(ProposalBase): class Meta: verbose_name = "Security/Privacy Miniconf Proposal" + +class GamesProposal(Proposal): + + TYPE_PRESENTATION = 1 + TYPE_DEMONSTRATION = 2 + TYPE_OTHER = 3 + + TALK_FORMATS = [ + (TYPE_PRESENTATION, "Presentation"), + (TYPE_DEMONSTRATION, "Demonstration"), + (TYPE_OTHER, "Other"), + ] + + talk_format = models.IntegerField(choices=TALK_FORMATS) + + class Meta: + verbose_name = "Games and FOSS Miniconf Proposal" diff --git a/pinaxcon/settings.py b/pinaxcon/settings.py index eb7aa342..a5ad4de0 100644 --- a/pinaxcon/settings.py +++ b/pinaxcon/settings.py @@ -259,6 +259,7 @@ PROPOSAL_FORMS = { "writethedocs-miniconf": "pinaxcon.proposals.forms.WriteTheDocsProposalForm", "security-miniconf": "pinaxcon.proposals.forms.SecurityProposalForm", "kernel-miniconf": "pinaxcon.proposals.forms.KernelProposalForm", + "games-miniconf": "pinaxcon.proposals.forms.GamesProposalForm", } #PINAX_PAGES_HOOKSET = "pinaxcon.hooks.PinaxPagesHookSet" diff --git a/pinaxcon/templates/dashboard.html b/pinaxcon/templates/dashboard.html index 7f98e965..9cd1da15 100644 --- a/pinaxcon/templates/dashboard.html +++ b/pinaxcon/templates/dashboard.html @@ -179,7 +179,7 @@ {% for team in available_teams %} - {{ team }} + {{ team }} {% if team.description %}
{{ team.description }}{% endif %}