Set up tracks for 2025
This commit is contained in:
parent
034c8f0549
commit
445564b98e
5 changed files with 177 additions and 114 deletions
pinaxcon
|
@ -21,21 +21,16 @@ class CategoryAdmin(admin.ModelAdmin):
|
|||
|
||||
|
||||
models_to_register = [
|
||||
models.AIAndMachineLearningProposal,
|
||||
models.DiversityEquityAndInclusionProposal,
|
||||
models.FOSSAndARM64Proposal,
|
||||
models.FOSSFundingandEconomicsProposal,
|
||||
models.DistrosProposal,
|
||||
models.FOSSInDailyLifeProposal,
|
||||
models.FOSSInEducationProposal,
|
||||
models.LicensingAndLegalIssuesProposal,
|
||||
models.MobileDeviceUserFreedomProposal,
|
||||
models.ReproducibilityProposal,
|
||||
models.RightToRepairProposal,
|
||||
models.LegalIssuesProposal,
|
||||
models.LinuxKernalProposal,
|
||||
models.P2PLocalFirstProposal,
|
||||
models.ScienceOfCommunityProposal,
|
||||
models.MemberProjectsProposal,
|
||||
models.SupportingUserGroupsProposal,
|
||||
models.XMPPProposal,
|
||||
models.WildCardProposal,
|
||||
models.XMPPProposal,
|
||||
]
|
||||
for model in models_to_register:
|
||||
admin.site.register(model, CategoryAdmin,
|
||||
|
|
|
@ -61,27 +61,9 @@ class MiniconfProposalForm(ProposalForm):
|
|||
pass
|
||||
|
||||
|
||||
class AIAndMachineLearningProposalForm(MiniconfProposalForm):
|
||||
class DistrosProposalForm(MiniconfProposalForm):
|
||||
class Meta:
|
||||
model = models.AIAndMachineLearningProposal
|
||||
fields = TALK_FORMAT_FIELDS
|
||||
|
||||
|
||||
class DiversityEquityAndInclusionProposalForm(MiniconfProposalForm):
|
||||
class Meta:
|
||||
model = models.DiversityEquityAndInclusionProposal
|
||||
fields = TALK_FORMAT_FIELDS
|
||||
|
||||
|
||||
class FOSSAndARM64ProposalForm(MiniconfProposalForm):
|
||||
class Meta:
|
||||
model = models.FOSSAndARM64Proposal
|
||||
fields = TALK_FORMAT_FIELDS
|
||||
|
||||
|
||||
class FOSSFundingandEconomicsProposalForm(MiniconfProposalForm):
|
||||
class Meta:
|
||||
model = models.FOSSFundingandEconomicsProposal
|
||||
model = models.DistrosProposal
|
||||
fields = TALK_FORMAT_FIELDS
|
||||
|
||||
|
||||
|
@ -97,39 +79,21 @@ class FOSSInEducationProposalForm(MiniconfProposalForm):
|
|||
fields = TALK_FORMAT_FIELDS
|
||||
|
||||
|
||||
class KeynotePanelProposalForm(MiniconfProposalForm):
|
||||
class LegalIssuesProposalForm(MiniconfProposalForm):
|
||||
class Meta:
|
||||
model = models.KeynotePanelProposal
|
||||
model = models.LegalIssuesProposal
|
||||
fields = TALK_FORMAT_FIELDS
|
||||
|
||||
|
||||
class LicensingAndLegalIssuesProposalForm(MiniconfProposalForm):
|
||||
class LinuxKernalProposalForm(MiniconfProposalForm):
|
||||
class Meta:
|
||||
model = models.LicensingAndLegalIssuesProposal
|
||||
model = models.LinuxKernalProposal
|
||||
fields = TALK_FORMAT_FIELDS
|
||||
|
||||
|
||||
class MobileDeviceUserFreedomProposalForm(MiniconfProposalForm):
|
||||
class P2PLocalFirstProposalForm(MiniconfProposalForm):
|
||||
class Meta:
|
||||
model = models.MobileDeviceUserFreedomProposal
|
||||
fields = TALK_FORMAT_FIELDS
|
||||
|
||||
|
||||
class ReproducibilityProposalForm(MiniconfProposalForm):
|
||||
class Meta:
|
||||
model = models.ReproducibilityProposal
|
||||
fields = TALK_FORMAT_FIELDS
|
||||
|
||||
|
||||
class RightToRepairProposalForm(MiniconfProposalForm):
|
||||
class Meta:
|
||||
model = models.RightToRepairProposal
|
||||
fields = TALK_FORMAT_FIELDS
|
||||
|
||||
|
||||
class SeleniumProposalForm(MiniconfProposalForm):
|
||||
class Meta:
|
||||
model = models.SeleniumProposal
|
||||
model = models.P2PLocalFirstProposal
|
||||
fields = TALK_FORMAT_FIELDS
|
||||
|
||||
|
||||
|
@ -139,12 +103,6 @@ class ScienceOfCommunityProposalForm(MiniconfProposalForm):
|
|||
fields = TALK_FORMAT_FIELDS
|
||||
|
||||
|
||||
class MemberProjectsProposalForm(MiniconfProposalForm):
|
||||
class Meta:
|
||||
model = models.MemberProjectsProposal
|
||||
fields = TALK_FORMAT_FIELDS
|
||||
|
||||
|
||||
class SupportingUserGroupsProposalForm(MiniconfProposalForm):
|
||||
class Meta:
|
||||
model = models.SupportingUserGroupsProposal
|
||||
|
|
152
pinaxcon/proposals/migrations/0016_auto_20250304_0337.py
Normal file
152
pinaxcon/proposals/migrations/0016_auto_20250304_0337.py
Normal file
|
@ -0,0 +1,152 @@
|
|||
# Generated by Django 2.2.28 on 2025-03-04 03:37
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('symposion_proposals', '0003_auto_20170702_2250'),
|
||||
('symposion_speakers', '0012_auto_20230420_0018'),
|
||||
('symposion_reviews', '0001_initial'),
|
||||
('symposion_schedule', '0009_presentation_videos'),
|
||||
('proposals', '0015_seleniumproposal'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='DistrosProposal',
|
||||
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=[(4, 'Developer'), (3, 'Community'), (1, 'End User'), (2, 'Business')], help_text='Who is the target audience for your session?')),
|
||||
('recording_release', models.BooleanField(default=True, help_text="I allow Software Freedom Conservancy to release any recordings of presentations covered by this proposal, on YouTube under the standard YouTube licence, and on other platforms under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/'> CC BY-NC-SA 4.0</a>) licence.")),
|
||||
('materials_release', models.BooleanField(default=True, help_text="I allow Software Freedom Conservancy to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/4.0/'> Creative Commons Attribution-ShareAlike 4.0 International</a>")),
|
||||
('primary_topic', models.IntegerField(choices=[(1, 'Linux'), (2, 'Software'), (3, 'Hardware'), (4, 'Firmware'), (5, 'System Administration / Operations'), (6, 'Security'), (7, 'Documentation'), (8, 'Community'), (9, 'Science & Data'), (10, 'Galleries, Libraries, Archives & Museums (GLAM)'), (11, 'Multimedia'), (12, 'Aerospace / UAV'), (13, 'Agriculture'), (14, 'Other')], help_text='What is the primary topic area for your session?', null=True)),
|
||||
('experience_level', models.IntegerField(choices=[(1, 'Beginner'), (2, 'Intermediate'), (3, 'Advanced')], help_text='What level of experience will your session be pitched at?')),
|
||||
('require_approval', models.BooleanField(default=False, help_text='Do you require further approval from your employer or institution before you can confirm your availability to present?')),
|
||||
('content_warning', models.TextField(blank=True, help_text='This will be shown on the schedule to give attendees advanced warning of topics covered in the session. ', verbose_name='Content Warning')),
|
||||
('content_warning_html', models.TextField(blank=True)),
|
||||
('talk_format', models.IntegerField(choices=[(1, 'Lightning Talk (5-10 min)'), (2, 'Short Presentation (20-25 min)'), (3, 'Long Presentation (40-45 min)')], default=3, 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.')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Distros talk proposal',
|
||||
},
|
||||
bases=('symposion_proposals.proposalbase',),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='LinuxKernalProposal',
|
||||
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=[(4, 'Developer'), (3, 'Community'), (1, 'End User'), (2, 'Business')], help_text='Who is the target audience for your session?')),
|
||||
('recording_release', models.BooleanField(default=True, help_text="I allow Software Freedom Conservancy to release any recordings of presentations covered by this proposal, on YouTube under the standard YouTube licence, and on other platforms under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/'> CC BY-NC-SA 4.0</a>) licence.")),
|
||||
('materials_release', models.BooleanField(default=True, help_text="I allow Software Freedom Conservancy to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/4.0/'> Creative Commons Attribution-ShareAlike 4.0 International</a>")),
|
||||
('primary_topic', models.IntegerField(choices=[(1, 'Linux'), (2, 'Software'), (3, 'Hardware'), (4, 'Firmware'), (5, 'System Administration / Operations'), (6, 'Security'), (7, 'Documentation'), (8, 'Community'), (9, 'Science & Data'), (10, 'Galleries, Libraries, Archives & Museums (GLAM)'), (11, 'Multimedia'), (12, 'Aerospace / UAV'), (13, 'Agriculture'), (14, 'Other')], help_text='What is the primary topic area for your session?', null=True)),
|
||||
('experience_level', models.IntegerField(choices=[(1, 'Beginner'), (2, 'Intermediate'), (3, 'Advanced')], help_text='What level of experience will your session be pitched at?')),
|
||||
('require_approval', models.BooleanField(default=False, help_text='Do you require further approval from your employer or institution before you can confirm your availability to present?')),
|
||||
('content_warning', models.TextField(blank=True, help_text='This will be shown on the schedule to give attendees advanced warning of topics covered in the session. ', verbose_name='Content Warning')),
|
||||
('content_warning_html', models.TextField(blank=True)),
|
||||
('talk_format', models.IntegerField(choices=[(1, 'Lightning Talk (5-10 min)'), (2, 'Short Presentation (20-25 min)'), (3, 'Long Presentation (40-45 min)')], default=3, 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.')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Linux Kernal talk proposal',
|
||||
},
|
||||
bases=('symposion_proposals.proposalbase',),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='P2PLocalFirstProposal',
|
||||
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=[(4, 'Developer'), (3, 'Community'), (1, 'End User'), (2, 'Business')], help_text='Who is the target audience for your session?')),
|
||||
('recording_release', models.BooleanField(default=True, help_text="I allow Software Freedom Conservancy to release any recordings of presentations covered by this proposal, on YouTube under the standard YouTube licence, and on other platforms under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/'> CC BY-NC-SA 4.0</a>) licence.")),
|
||||
('materials_release', models.BooleanField(default=True, help_text="I allow Software Freedom Conservancy to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/4.0/'> Creative Commons Attribution-ShareAlike 4.0 International</a>")),
|
||||
('primary_topic', models.IntegerField(choices=[(1, 'Linux'), (2, 'Software'), (3, 'Hardware'), (4, 'Firmware'), (5, 'System Administration / Operations'), (6, 'Security'), (7, 'Documentation'), (8, 'Community'), (9, 'Science & Data'), (10, 'Galleries, Libraries, Archives & Museums (GLAM)'), (11, 'Multimedia'), (12, 'Aerospace / UAV'), (13, 'Agriculture'), (14, 'Other')], help_text='What is the primary topic area for your session?', null=True)),
|
||||
('experience_level', models.IntegerField(choices=[(1, 'Beginner'), (2, 'Intermediate'), (3, 'Advanced')], help_text='What level of experience will your session be pitched at?')),
|
||||
('require_approval', models.BooleanField(default=False, help_text='Do you require further approval from your employer or institution before you can confirm your availability to present?')),
|
||||
('content_warning', models.TextField(blank=True, help_text='This will be shown on the schedule to give attendees advanced warning of topics covered in the session. ', verbose_name='Content Warning')),
|
||||
('content_warning_html', models.TextField(blank=True)),
|
||||
('talk_format', models.IntegerField(choices=[(1, 'Lightning Talk (5-10 min)'), (2, 'Short Presentation (20-25 min)'), (3, 'Long Presentation (40-45 min)')], default=3, 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.')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Peer-to-Peer and Local First talk proposal',
|
||||
},
|
||||
bases=('symposion_proposals.proposalbase',),
|
||||
),
|
||||
migrations.RenameModel(
|
||||
old_name='LicensingAndLegalIssuesProposal',
|
||||
new_name='LegalIssuesProposal',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='diversityequityandinclusionproposal',
|
||||
name='proposalbase_ptr',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='fossandarm64proposal',
|
||||
name='proposalbase_ptr',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='fossfundingandeconomicsproposal',
|
||||
name='proposalbase_ptr',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='keynotepanelproposal',
|
||||
name='proposalbase_ptr',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='memberprojectsproposal',
|
||||
name='proposalbase_ptr',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='mobiledeviceuserfreedomproposal',
|
||||
name='proposalbase_ptr',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='reproducibilityproposal',
|
||||
name='proposalbase_ptr',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='righttorepairproposal',
|
||||
name='proposalbase_ptr',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='seleniumproposal',
|
||||
name='proposalbase_ptr',
|
||||
),
|
||||
migrations.AlterModelOptions(
|
||||
name='legalissuesproposal',
|
||||
options={'verbose_name': 'Legal Issues talk proposal'},
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='AIAndMachineLearningProposal',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='DiversityEquityAndInclusionProposal',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='FOSSAndARM64Proposal',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='FOSSFundingandEconomicsProposal',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='KeynotePanelProposal',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='MemberProjectsProposal',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='MobileDeviceUserFreedomProposal',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='ReproducibilityProposal',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='RightToRepairProposal',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='SeleniumProposal',
|
||||
),
|
||||
]
|
|
@ -160,24 +160,9 @@ class MiniconfSessionProposal(Proposal):
|
|||
abstract = True
|
||||
|
||||
|
||||
class AIAndMachineLearningProposal(MiniconfSessionProposal):
|
||||
class DistrosProposal(MiniconfSessionProposal):
|
||||
class Meta:
|
||||
verbose_name = "AI and Machine Learning talk proposal"
|
||||
|
||||
|
||||
class DiversityEquityAndInclusionProposal(MiniconfSessionProposal):
|
||||
class Meta:
|
||||
verbose_name = "Diversity Equity and Inclusion and FOSS talk proposal"
|
||||
|
||||
|
||||
class FOSSAndARM64Proposal(MiniconfSessionProposal):
|
||||
class Meta:
|
||||
verbose_name = "FOSS and ARM64; from the Cloud to the Edge talk proposal"
|
||||
|
||||
|
||||
class FOSSFundingandEconomicsProposal(MiniconfSessionProposal):
|
||||
class Meta:
|
||||
verbose_name = "FOSS Funding and Economics talk proposal"
|
||||
verbose_name = "Distros talk proposal"
|
||||
|
||||
|
||||
class FOSSInDailyLifeProposal(MiniconfSessionProposal):
|
||||
|
@ -190,29 +175,19 @@ class FOSSInEducationProposal(MiniconfSessionProposal):
|
|||
verbose_name = "FOSS in Education talk proposal"
|
||||
|
||||
|
||||
class KeynotePanelProposal(MiniconfSessionProposal):
|
||||
class LegalIssuesProposal(MiniconfSessionProposal):
|
||||
class Meta:
|
||||
verbose_name = "Keynote panel talk proposal"
|
||||
verbose_name = "Legal Issues talk proposal"
|
||||
|
||||
|
||||
class LicensingAndLegalIssuesProposal(MiniconfSessionProposal):
|
||||
class LinuxKernalProposal(MiniconfSessionProposal):
|
||||
class Meta:
|
||||
verbose_name = "Licensing and Legal Issues talk proposal"
|
||||
verbose_name = "Linux Kernal talk proposal"
|
||||
|
||||
|
||||
class MobileDeviceUserFreedomProposal(MiniconfSessionProposal):
|
||||
class P2PLocalFirstProposal(MiniconfSessionProposal):
|
||||
class Meta:
|
||||
verbose_name = "Mobile Device User Freedom talk proposal"
|
||||
|
||||
|
||||
class ReproducibilityProposal(MiniconfSessionProposal):
|
||||
class Meta:
|
||||
verbose_name = "Reproducability talk proposal"
|
||||
|
||||
|
||||
class RightToRepairProposal(MiniconfSessionProposal):
|
||||
class Meta:
|
||||
verbose_name = "Right to Repair talk proposal"
|
||||
verbose_name = "Peer-to-Peer and Local First talk proposal"
|
||||
|
||||
|
||||
class ScienceOfCommunityProposal(MiniconfSessionProposal):
|
||||
|
@ -220,16 +195,6 @@ class ScienceOfCommunityProposal(MiniconfSessionProposal):
|
|||
verbose_name = "Science of Community talk proposal"
|
||||
|
||||
|
||||
class SeleniumProposal(MiniconfSessionProposal):
|
||||
class Meta:
|
||||
verbose_name = "Selenium talk proposal"
|
||||
|
||||
|
||||
class MemberProjectsProposal(MiniconfSessionProposal):
|
||||
class Meta:
|
||||
verbose_name = "SFC Member Projects talk proposal"
|
||||
|
||||
|
||||
class SupportingUserGroupsProposal(MiniconfSessionProposal):
|
||||
class Meta:
|
||||
verbose_name = "Supporting User Groups talk proposal"
|
||||
|
|
|
@ -371,20 +371,13 @@ SESSION_EXPIRE_AT_BROWSER_CLOSE = True
|
|||
|
||||
CONFERENCE_ID = 4
|
||||
PROPOSAL_FORMS = {
|
||||
"ai-and-machine-learning": "pinaxcon.proposals.forms.AIAndMachineLearningProposalForm",
|
||||
"diversity-equity-and-inclusion": "pinaxcon.proposals.forms.DiversityEquityAndInclusionProposalForm",
|
||||
"foss-and-arm64": "pinaxcon.proposals.forms.FOSSAndARM64ProposalForm",
|
||||
"foss-funding-and-economics": "pinaxcon.proposals.forms.FOSSFundingandEconomicsProposalForm",
|
||||
"distros": "pinaxcon.proposals.forms.DistrosProposalForm",
|
||||
"foss-in-daily-life": "pinaxcon.proposals.forms.FOSSInDailyLifeProposalForm",
|
||||
"foss-in-education": "pinaxcon.proposals.forms.FOSSInEducationProposalForm",
|
||||
"keynote-panel": "pinaxcon.proposals.forms.KeynotePanelProposalForm",
|
||||
"licensing-and-legal-issues": "pinaxcon.proposals.forms.LicensingAndLegalIssuesProposalForm",
|
||||
"mobile-device-user-freedom": "pinaxcon.proposals.forms.MobileDeviceUserFreedomProposalForm",
|
||||
"reproducibility": "pinaxcon.proposals.forms.ReproducibilityProposalForm",
|
||||
"right-to-repair": "pinaxcon.proposals.forms.RightToRepairProposalForm",
|
||||
"selenium": "pinaxcon.proposals.forms.SeleniumProposalForm",
|
||||
"legal-issues": "pinaxcon.proposals.forms.LegalIssuesProposalForm",
|
||||
"linux-kernel": "pinaxcon.proposals.forms.LinuxKernelProposalForm",
|
||||
"peer-to-peer-local-first": "pinaxcon.proposals.forms.P2PLocalFirstProposalForm",
|
||||
"science-of-community": "pinaxcon.proposals.forms.ScienceOfCommunityProposalForm",
|
||||
"member-projects": "pinaxcon.proposals.forms.MemberProjectsProposalForm",
|
||||
"supporting-user-groups": "pinaxcon.proposals.forms.SupportingUserGroupsProposalForm",
|
||||
"xmpp": "pinaxcon.proposals.forms.XMPPProposalForm",
|
||||
"wild-card": "pinaxcon.proposals.forms.WildCardProposalForm",
|
||||
|
|
Loading…
Reference in a new issue