Add LCA2020 Miniconfs
Setup proposals for miniconfs, including model, forms and admin.
This commit is contained in:
parent
87ecc83314
commit
246bbcb324
5 changed files with 565 additions and 12 deletions
|
@ -24,6 +24,19 @@ models_to_register = [
|
||||||
models.TalkProposal,
|
models.TalkProposal,
|
||||||
models.TutorialProposal,
|
models.TutorialProposal,
|
||||||
models.MiniconfProposal,
|
models.MiniconfProposal,
|
||||||
|
### LCA2020 Miniconfs
|
||||||
|
models.ContainersProposal,
|
||||||
|
models.CreativeArtsProposal,
|
||||||
|
models.DocsProposal,
|
||||||
|
models.FreeBsdProposal,
|
||||||
|
models.GamesProposal,
|
||||||
|
models.GlamProposal,
|
||||||
|
models.KernelProposal,
|
||||||
|
models.OpenEducationProposal,
|
||||||
|
models.OpenHardwareProposal,
|
||||||
|
models.OpenIsaProposal,
|
||||||
|
models.SecurityProposal,
|
||||||
|
models.SysAdminProposal,
|
||||||
]
|
]
|
||||||
|
|
||||||
for model in models_to_register:
|
for model in models_to_register:
|
||||||
|
|
|
@ -3,7 +3,7 @@ import copy
|
||||||
from django import forms
|
from django import forms
|
||||||
|
|
||||||
from pinaxcon.proposals.fields import HelpTextField
|
from pinaxcon.proposals.fields import HelpTextField
|
||||||
from pinaxcon.proposals.models import TalkProposal, TutorialProposal, MiniconfProposal
|
from pinaxcon.proposals import models
|
||||||
|
|
||||||
|
|
||||||
DEFAULT_FIELDS = [
|
DEFAULT_FIELDS = [
|
||||||
|
@ -20,6 +20,7 @@ DEFAULT_FIELDS = [
|
||||||
|
|
||||||
TALK_FORMAT_FIELDS = copy.copy(DEFAULT_FIELDS)
|
TALK_FORMAT_FIELDS = copy.copy(DEFAULT_FIELDS)
|
||||||
TALK_FORMAT_FIELDS.insert(2, "talk_format")
|
TALK_FORMAT_FIELDS.insert(2, "talk_format")
|
||||||
|
TALK_FORMAT_FIELDS.append("ticket_acknowledgement")
|
||||||
|
|
||||||
class ProposalForm(forms.ModelForm):
|
class ProposalForm(forms.ModelForm):
|
||||||
|
|
||||||
|
@ -37,7 +38,7 @@ class ProposalForm(forms.ModelForm):
|
||||||
class TalkProposalForm(ProposalForm):
|
class TalkProposalForm(ProposalForm):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = TalkProposal
|
model = models.TalkProposal
|
||||||
fields = [
|
fields = [
|
||||||
"title",
|
"title",
|
||||||
"target_audience",
|
"target_audience",
|
||||||
|
@ -55,7 +56,7 @@ class TalkProposalForm(ProposalForm):
|
||||||
class TutorialProposalForm(ProposalForm):
|
class TutorialProposalForm(ProposalForm):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = TutorialProposal
|
model = models.TutorialProposal
|
||||||
fields = [
|
fields = [
|
||||||
"title",
|
"title",
|
||||||
"target_audience",
|
"target_audience",
|
||||||
|
@ -73,7 +74,7 @@ class TutorialProposalForm(ProposalForm):
|
||||||
class MiniconfProposalForm(ProposalForm):
|
class MiniconfProposalForm(ProposalForm):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = MiniconfProposal
|
model = models.MiniconfProposal
|
||||||
fields = [
|
fields = [
|
||||||
"title",
|
"title",
|
||||||
"abstract",
|
"abstract",
|
||||||
|
@ -82,3 +83,96 @@ class MiniconfProposalForm(ProposalForm):
|
||||||
"recording_release",
|
"recording_release",
|
||||||
"materials_release",
|
"materials_release",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
### LCA2020 Miniconfs
|
||||||
|
|
||||||
|
class MiniconfProposalForm(ProposalForm):
|
||||||
|
|
||||||
|
def __init__(self, *a, **k):
|
||||||
|
super(MiniconfProposalForm, self).__init__(*a, **k)
|
||||||
|
self.fields['ticket_acknowledgement'].required = True
|
||||||
|
|
||||||
|
|
||||||
|
class ContainersProposalForm(MiniconfProposalForm):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = models.ContainersProposal
|
||||||
|
fields = TALK_FORMAT_FIELDS
|
||||||
|
|
||||||
|
|
||||||
|
class CreativeArtsProposalForm(MiniconfProposalForm):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = models.CreativeArtsProposal
|
||||||
|
fields = TALK_FORMAT_FIELDS
|
||||||
|
|
||||||
|
|
||||||
|
class DocsProposalForm(MiniconfProposalForm):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = models.DocsProposal
|
||||||
|
fields = TALK_FORMAT_FIELDS
|
||||||
|
|
||||||
|
|
||||||
|
class FreeBsdProposalForm(MiniconfProposalForm):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = models.FreeBsdProposal
|
||||||
|
fields = TALK_FORMAT_FIELDS
|
||||||
|
|
||||||
|
|
||||||
|
class GamesProposalForm(MiniconfProposalForm):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = models.GamesProposal
|
||||||
|
fields = TALK_FORMAT_FIELDS
|
||||||
|
|
||||||
|
|
||||||
|
class GlamProposalForm(MiniconfProposalForm):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = models.GlamProposal
|
||||||
|
fields = TALK_FORMAT_FIELDS
|
||||||
|
|
||||||
|
|
||||||
|
class KernelProposalForm(MiniconfProposalForm):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = models.KernelProposal
|
||||||
|
fields = TALK_FORMAT_FIELDS
|
||||||
|
|
||||||
|
|
||||||
|
class OpenEducationProposalForm(MiniconfProposalForm):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = models.OpenEducationProposal
|
||||||
|
fields = TALK_FORMAT_FIELDS
|
||||||
|
|
||||||
|
|
||||||
|
class OpenHardwareProposalForm(MiniconfProposalForm):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = models.OpenHardwareProposal
|
||||||
|
fields = TALK_FORMAT_FIELDS
|
||||||
|
|
||||||
|
|
||||||
|
class OpenIsaProposalForm(MiniconfProposalForm):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = models.OpenIsaProposal
|
||||||
|
fields = TALK_FORMAT_FIELDS
|
||||||
|
|
||||||
|
|
||||||
|
class SecurityProposalForm(MiniconfProposalForm):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = models.SecurityProposal
|
||||||
|
fields = TALK_FORMAT_FIELDS
|
||||||
|
|
||||||
|
|
||||||
|
class SysAdminProposalForm(MiniconfProposalForm):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = models.SysAdminProposal
|
||||||
|
fields = TALK_FORMAT_FIELDS
|
||||||
|
|
197
pinaxcon/proposals/migrations/0017_lca2020_miniconfs.py
Normal file
197
pinaxcon/proposals/migrations/0017_lca2020_miniconfs.py
Normal file
|
@ -0,0 +1,197 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.11.22 on 2019-09-29 09:56
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('symposion_proposals', '0003_auto_20170702_2250'),
|
||||||
|
('proposals', '0016_auto_20190624_2328'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='ContainersProposal',
|
||||||
|
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, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
|
||||||
|
('recording_release', models.BooleanField(default=True, help_text="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="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>")),
|
||||||
|
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
|
||||||
|
('talk_format', models.IntegerField(choices=[(1, 'Lightning Talk (5-10 min)'), (2, 'Short Presentation (20-25 min)'), (3, 'Presentation (40-45 min)')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'Containers Miniconf Proposal',
|
||||||
|
},
|
||||||
|
bases=('symposion_proposals.proposalbase',),
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='CreativeArtsProposal',
|
||||||
|
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, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
|
||||||
|
('recording_release', models.BooleanField(default=True, help_text="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="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>")),
|
||||||
|
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
|
||||||
|
('talk_format', models.IntegerField(choices=[(1, 'Short Presentation (15 min)'), (2, 'Medium Presentation (30 min)'), (3, 'Long Presentation (60 min)')], default=1, help_text='Please indicate your preferred talk length in the private abstract field below.')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'Creative Arts Miniconf Proposal',
|
||||||
|
},
|
||||||
|
bases=('symposion_proposals.proposalbase',),
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='DocsProposal',
|
||||||
|
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, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
|
||||||
|
('recording_release', models.BooleanField(default=True, help_text="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="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>")),
|
||||||
|
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
|
||||||
|
('talk_format', models.IntegerField(choices=[(1, 'Lightning Talk (5-10 min)'), (2, 'Short Presentation (20-25 min)'), (3, 'Presentation (40-45 min)')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'Documentation Miniconf Proposal',
|
||||||
|
},
|
||||||
|
bases=('symposion_proposals.proposalbase',),
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='FreeBsdProposal',
|
||||||
|
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, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
|
||||||
|
('recording_release', models.BooleanField(default=True, help_text="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="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>")),
|
||||||
|
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
|
||||||
|
('talk_format', models.IntegerField(choices=[(1, 'Short Presentation (25 min)'), (3, 'Presentation (30 min)')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'FreeBSD Miniconf Proposal',
|
||||||
|
},
|
||||||
|
bases=('symposion_proposals.proposalbase',),
|
||||||
|
),
|
||||||
|
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, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
|
||||||
|
('recording_release', models.BooleanField(default=True, help_text="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="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>")),
|
||||||
|
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
|
||||||
|
('talk_format', models.IntegerField(choices=[(1, 'Presentation (short)'), (3, 'Presentation (long)'), (4, 'Demonstration'), (5, 'Other')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'Games and FOSS Miniconf Proposal',
|
||||||
|
},
|
||||||
|
bases=('symposion_proposals.proposalbase',),
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='GlamProposal',
|
||||||
|
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, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
|
||||||
|
('recording_release', models.BooleanField(default=True, help_text="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="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>")),
|
||||||
|
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
|
||||||
|
('talk_format', models.IntegerField(choices=[(1, 'Lightning Talk (5-10 min)'), (2, 'Short Presentation (20-25 min)'), (3, 'Presentation (40-45 min)')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'GO GLAM Miniconf Proposal',
|
||||||
|
},
|
||||||
|
bases=('symposion_proposals.proposalbase',),
|
||||||
|
),
|
||||||
|
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')),
|
||||||
|
('target_audience', models.IntegerField(choices=[(1, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
|
||||||
|
('recording_release', models.BooleanField(default=True, help_text="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="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>")),
|
||||||
|
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
|
||||||
|
('talk_format', models.IntegerField(choices=[(1, 'Short Presentation (25 min)'), (3, 'Presentation (45 min)')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'Kernel Miniconf Proposal',
|
||||||
|
},
|
||||||
|
bases=('symposion_proposals.proposalbase',),
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='OpenEducationProposal',
|
||||||
|
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, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
|
||||||
|
('recording_release', models.BooleanField(default=True, help_text="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="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>")),
|
||||||
|
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
|
||||||
|
('talk_format', models.IntegerField(choices=[(1, 'Lightning Talk (5-10 min)'), (2, 'Short Presentation (20-25 min)'), (3, 'Presentation (40-45 min)')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'Open Education Miniconf Proposal',
|
||||||
|
},
|
||||||
|
bases=('symposion_proposals.proposalbase',),
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='OpenHardwareProposal',
|
||||||
|
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, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
|
||||||
|
('recording_release', models.BooleanField(default=True, help_text="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="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>")),
|
||||||
|
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
|
||||||
|
('talk_format', models.IntegerField(choices=[(1, 'Lightning Talks (5 min)'), (3, 'Presentation (25 min)')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'Open Hardware Miniconf Proposal',
|
||||||
|
},
|
||||||
|
bases=('symposion_proposals.proposalbase',),
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='OpenIsaProposal',
|
||||||
|
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, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
|
||||||
|
('recording_release', models.BooleanField(default=True, help_text="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="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>")),
|
||||||
|
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
|
||||||
|
('talk_format', models.IntegerField(choices=[(1, 'Short Presentation (20-25 min)'), (3, 'Presentation (40-45 min)')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'OpenISA (RISC-V, OpenPOWER, etc) 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')),
|
||||||
|
('target_audience', models.IntegerField(choices=[(1, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
|
||||||
|
('recording_release', models.BooleanField(default=True, help_text="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="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>")),
|
||||||
|
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
|
||||||
|
('talk_format', models.IntegerField(choices=[(1, 'Overview (15 min)'), (2, 'Primer (30 min)'), (3, 'Presentation (45 min)')], default=1, help_text='Please indicate your preferred talk length in the private abstract field below.')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'Security, Identity and Privacy Miniconf Proposal',
|
||||||
|
},
|
||||||
|
bases=('symposion_proposals.proposalbase',),
|
||||||
|
),
|
||||||
|
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, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
|
||||||
|
('recording_release', models.BooleanField(default=True, help_text="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="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>")),
|
||||||
|
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
|
||||||
|
('talk_format', models.IntegerField(choices=[(1, 'Short Presentation (5-10 min)'), (2, 'Medium Presentation (15-20 min)'), (3, 'Long Presentation (25-30 min)')], default=1, help_text='Please indicate your preferred talk length in the private abstract field below.')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'System Administration Miniconf Proposal',
|
||||||
|
},
|
||||||
|
bases=('symposion_proposals.proposalbase',),
|
||||||
|
),
|
||||||
|
]
|
|
@ -59,3 +59,248 @@ class MiniconfProposal(Proposal):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = "miniconf proposal"
|
verbose_name = "miniconf proposal"
|
||||||
|
|
||||||
|
|
||||||
|
### LCA2020 Miniconfs
|
||||||
|
|
||||||
|
class MiniconfSessionProposal(Proposal):
|
||||||
|
|
||||||
|
FORMAT_SHORT_PRESENTATION = 1
|
||||||
|
FORMAT_MEDIUM_PRESENTATION = 2
|
||||||
|
FORMAT_LONG_PRESENTATION = 3
|
||||||
|
FORMAT_DEMONSTRATION = 4
|
||||||
|
FORMAT_OTHER = 5
|
||||||
|
|
||||||
|
TALK_FORMATS = [
|
||||||
|
(FORMAT_SHORT_PRESENTATION, "Lightning Talk (5-10 min)"),
|
||||||
|
(FORMAT_MEDIUM_PRESENTATION, "Short Presentation (20-25 min)"),
|
||||||
|
(FORMAT_LONG_PRESENTATION, "Presentation (40-45 min)"),
|
||||||
|
]
|
||||||
|
|
||||||
|
talk_format = models.IntegerField(
|
||||||
|
choices=TALK_FORMATS,
|
||||||
|
default=FORMAT_LONG_PRESENTATION,
|
||||||
|
help_text="Please indicate your preferred talk length in the private abstract field below."
|
||||||
|
)
|
||||||
|
|
||||||
|
ticket_acknowledgement = models.BooleanField(
|
||||||
|
default=False,
|
||||||
|
help_text="I understand that I will be required to purchase a conference ticket "
|
||||||
|
"and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events."
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
abstract = True
|
||||||
|
|
||||||
|
|
||||||
|
class ContainersProposal(MiniconfSessionProposal):
|
||||||
|
|
||||||
|
TALK_FORMATS = [
|
||||||
|
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Lightning Talk (5-10 min)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_MEDIUM_PRESENTATION, "Short Presentation (20-25 min)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (40-45 min)"),
|
||||||
|
]
|
||||||
|
|
||||||
|
talk_format = models.IntegerField(
|
||||||
|
choices=TALK_FORMATS,
|
||||||
|
default=MiniconfSessionProposal.FORMAT_LONG_PRESENTATION,
|
||||||
|
help_text="Please indicate your preferred talk length in the private abstract field below."
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "Containers Miniconf Proposal"
|
||||||
|
|
||||||
|
|
||||||
|
class CreativeArtsProposal(MiniconfSessionProposal):
|
||||||
|
|
||||||
|
TALK_FORMATS = [
|
||||||
|
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Short Presentation (15 min)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_MEDIUM_PRESENTATION, "Medium Presentation (30 min)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Long Presentation (60 min)"),
|
||||||
|
]
|
||||||
|
|
||||||
|
talk_format = models.IntegerField(
|
||||||
|
choices=TALK_FORMATS,
|
||||||
|
default=MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION,
|
||||||
|
help_text="Please indicate your preferred talk length in the private abstract field below."
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "Creative Arts Miniconf Proposal"
|
||||||
|
|
||||||
|
|
||||||
|
class DocsProposal(MiniconfSessionProposal):
|
||||||
|
|
||||||
|
TALK_FORMATS = [
|
||||||
|
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Lightning Talk (5-10 min)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_MEDIUM_PRESENTATION, "Short Presentation (20-25 min)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (40-45 min)"),
|
||||||
|
]
|
||||||
|
|
||||||
|
talk_format = models.IntegerField(
|
||||||
|
choices=TALK_FORMATS,
|
||||||
|
default=MiniconfSessionProposal.FORMAT_LONG_PRESENTATION,
|
||||||
|
help_text="Please indicate your preferred talk length in the private abstract field below."
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "Documentation Miniconf Proposal"
|
||||||
|
|
||||||
|
|
||||||
|
class FreeBsdProposal(MiniconfSessionProposal):
|
||||||
|
|
||||||
|
TALK_FORMATS = [
|
||||||
|
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Short Presentation (25 min)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (30 min)"),
|
||||||
|
]
|
||||||
|
|
||||||
|
talk_format = models.IntegerField(
|
||||||
|
choices=TALK_FORMATS,
|
||||||
|
default=MiniconfSessionProposal.FORMAT_LONG_PRESENTATION,
|
||||||
|
help_text="Please indicate your preferred talk length in the private abstract field below."
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "FreeBSD Miniconf Proposal"
|
||||||
|
|
||||||
|
|
||||||
|
class GamesProposal(MiniconfSessionProposal):
|
||||||
|
|
||||||
|
TALK_FORMATS = [
|
||||||
|
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Presentation (short)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (long)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_DEMONSTRATION, "Demonstration"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_OTHER, "Other"),
|
||||||
|
]
|
||||||
|
|
||||||
|
talk_format = models.IntegerField(
|
||||||
|
choices=TALK_FORMATS,
|
||||||
|
default=MiniconfSessionProposal.FORMAT_LONG_PRESENTATION,
|
||||||
|
help_text="Please indicate your preferred talk length in the private abstract field below."
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "Games and FOSS Miniconf Proposal"
|
||||||
|
|
||||||
|
|
||||||
|
class GlamProposal(MiniconfSessionProposal):
|
||||||
|
|
||||||
|
TALK_FORMATS = [
|
||||||
|
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Lightning Talk (5-10 min)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_MEDIUM_PRESENTATION, "Short Presentation (20-25 min)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (40-45 min)"),
|
||||||
|
]
|
||||||
|
|
||||||
|
talk_format = models.IntegerField(
|
||||||
|
choices=TALK_FORMATS,
|
||||||
|
default=MiniconfSessionProposal.FORMAT_LONG_PRESENTATION,
|
||||||
|
help_text="Please indicate your preferred talk length in the private abstract field below."
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "GO GLAM Miniconf Proposal"
|
||||||
|
|
||||||
|
|
||||||
|
class KernelProposal(MiniconfSessionProposal):
|
||||||
|
|
||||||
|
TALK_FORMATS = [
|
||||||
|
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Short Presentation (25 min)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (45 min)"),
|
||||||
|
]
|
||||||
|
|
||||||
|
talk_format = models.IntegerField(
|
||||||
|
choices=TALK_FORMATS,
|
||||||
|
default=MiniconfSessionProposal.FORMAT_LONG_PRESENTATION,
|
||||||
|
help_text="Please indicate your preferred talk length in the private abstract field below."
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "Kernel Miniconf Proposal"
|
||||||
|
|
||||||
|
|
||||||
|
class OpenEducationProposal(MiniconfSessionProposal):
|
||||||
|
|
||||||
|
TALK_FORMATS = [
|
||||||
|
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Lightning Talk (5-10 min)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_MEDIUM_PRESENTATION, "Short Presentation (20-25 min)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (40-45 min)"),
|
||||||
|
]
|
||||||
|
|
||||||
|
talk_format = models.IntegerField(
|
||||||
|
choices=TALK_FORMATS,
|
||||||
|
default=MiniconfSessionProposal.FORMAT_LONG_PRESENTATION,
|
||||||
|
help_text="Please indicate your preferred talk length in the private abstract field below."
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "Open Education Miniconf Proposal"
|
||||||
|
|
||||||
|
|
||||||
|
class OpenHardwareProposal(MiniconfSessionProposal):
|
||||||
|
|
||||||
|
TALK_FORMATS = [
|
||||||
|
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Lightning Talks (5 min)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (25 min)"),
|
||||||
|
]
|
||||||
|
|
||||||
|
talk_format = models.IntegerField(
|
||||||
|
choices=TALK_FORMATS,
|
||||||
|
default=MiniconfSessionProposal.FORMAT_LONG_PRESENTATION,
|
||||||
|
help_text="Please indicate your preferred talk length in the private abstract field below."
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "Open Hardware Miniconf Proposal"
|
||||||
|
|
||||||
|
|
||||||
|
class OpenIsaProposal(MiniconfSessionProposal):
|
||||||
|
|
||||||
|
TALK_FORMATS = [
|
||||||
|
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Short Presentation (20-25 min)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (40-45 min)"),
|
||||||
|
]
|
||||||
|
|
||||||
|
talk_format = models.IntegerField(
|
||||||
|
choices=TALK_FORMATS,
|
||||||
|
default=MiniconfSessionProposal.FORMAT_LONG_PRESENTATION,
|
||||||
|
help_text="Please indicate your preferred talk length in the private abstract field below."
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "OpenISA (RISC-V, OpenPOWER, etc) Miniconf Proposal"
|
||||||
|
|
||||||
|
|
||||||
|
class SecurityProposal(MiniconfSessionProposal):
|
||||||
|
|
||||||
|
TALK_FORMATS = [
|
||||||
|
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Overview (15 min)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_MEDIUM_PRESENTATION, "Primer (30 min)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (45 min)"),
|
||||||
|
]
|
||||||
|
|
||||||
|
talk_format = models.IntegerField(
|
||||||
|
choices=TALK_FORMATS,
|
||||||
|
default=MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION,
|
||||||
|
help_text="Please indicate your preferred talk length in the private abstract field below."
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "Security, Identity and Privacy Miniconf Proposal"
|
||||||
|
|
||||||
|
|
||||||
|
class SysAdminProposal(MiniconfSessionProposal):
|
||||||
|
|
||||||
|
TALK_FORMATS = [
|
||||||
|
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Short Presentation (5-10 min)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_MEDIUM_PRESENTATION, "Medium Presentation (15-20 min)"),
|
||||||
|
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Long Presentation (25-30 min)"),
|
||||||
|
]
|
||||||
|
|
||||||
|
talk_format = models.IntegerField(
|
||||||
|
choices=TALK_FORMATS,
|
||||||
|
default=MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION,
|
||||||
|
help_text="Please indicate your preferred talk length in the private abstract field below."
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "System Administration Miniconf Proposal"
|
||||||
|
|
|
@ -337,15 +337,19 @@ 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",
|
### LCA2020 Miniconfs
|
||||||
"games-miniconf": "pinaxcon.proposals.forms.GamesProposalForm",
|
"containers-miniconf": "pinaxcon.proposals.forms.ContainersProposalForm",
|
||||||
"openhardware-miniconf": "pinaxcon.proposals.forms.OpenHardwareProposalForm",
|
"creative-arts-miniconf": "pinaxcon.proposals.forms.CreativeArtsProposalForm",
|
||||||
"kernel-miniconf": "pinaxcon.proposals.forms.KernelProposalForm",
|
|
||||||
"opened-miniconf": "pinaxcon.proposals.forms.OpenEdProposalForm",
|
|
||||||
"devdev-miniconf": "pinaxcon.proposals.forms.DevDevProposalForm",
|
|
||||||
"arttech-miniconf": "pinaxcon.proposals.forms.ArtTechProposalForm",
|
|
||||||
"docs-miniconf": "pinaxcon.proposals.forms.DocsProposalForm",
|
"docs-miniconf": "pinaxcon.proposals.forms.DocsProposalForm",
|
||||||
"security-identity-privacy-miniconf": "pinaxcon.proposals.forms.SecurityProposalForm"
|
"freebsd-miniconf": "pinaxcon.proposals.forms.FreeBsdProposalForm",
|
||||||
|
"games-miniconf": "pinaxcon.proposals.forms.GamesProposalForm",
|
||||||
|
"glam-miniconf": "pinaxcon.proposals.forms.GlamProposalForm",
|
||||||
|
"kernel-miniconf": "pinaxcon.proposals.forms.KernelProposalForm",
|
||||||
|
"open-education-miniconf": "pinaxcon.proposals.forms.OpenEducationProposalForm",
|
||||||
|
"open-hardware-miniconf": "pinaxcon.proposals.forms.OpenHardwareProposalForm",
|
||||||
|
"open-isa-miniconf": "pinaxcon.proposals.forms.OpenIsaProposalForm",
|
||||||
|
"security-miniconf": "pinaxcon.proposals.forms.SecurityProposalForm",
|
||||||
|
"sysadmin-miniconf": "pinaxcon.proposals.forms.SysAdminProposalForm",
|
||||||
}
|
}
|
||||||
|
|
||||||
# Registrasion bits:
|
# Registrasion bits:
|
||||||
|
|
Loading…
Reference in a new issue