Add Right to Repair track

This commit is contained in:
Ben Sturmfels 2023-05-05 23:05:21 +10:00
parent 87fdbd8af1
commit 87987e9ce9
Signed by: bsturmfels
GPG key ID: 023C05E2C9C068F0
4 changed files with 58 additions and 11 deletions

View file

@ -169,3 +169,9 @@ class WildCardProposalForm(MiniconfProposalForm):
class Meta:
model = models.WildCardProposal
fields = TALK_FORMAT_FIELDS
class RightToRepairProposalForm(MiniconfProposalForm):
class Meta:
model = models.RightToRepairProposal
fields = TALK_FORMAT_FIELDS

View file

@ -0,0 +1,35 @@
# Generated by Django 2.2.28 on 2023-05-05 13:05
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('symposion_proposals', '0003_auto_20170702_2250'),
('proposals', '0011_auto_20230424_1449'),
]
operations = [
migrations.CreateModel(
name='RightToRepairProposal',
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': 'Right to Repair',
},
bases=('symposion_proposals.proposalbase',),
),
]

View file

@ -248,3 +248,8 @@ class SecurityProposal(MiniconfSessionProposal):
class WildCardProposal(MiniconfSessionProposal):
class Meta:
verbose_name = "Wild card"
class RightToRepairProposal(MiniconfSessionProposal):
class Meta:
verbose_name = "Right to Repair"

View file

@ -370,24 +370,25 @@ SESSION_EXPIRE_AT_BROWSER_CLOSE = True
CONFERENCE_ID = 2
PROPOSAL_FORMS = {
"copyleft-compliance": "pinaxcon.proposals.forms.CopyleftComplianceProposalForm",
"sfc-member-project": "pinaxcon.proposals.forms.MemberProjectProposalForm",
"aarch64-arm64": "pinaxcon.proposals.forms.AArch64ARM64ProposalForm",
"bsd-unix": "pinaxcon.proposals.forms.BSDUnixProposalForm",
"community": "pinaxcon.proposals.forms.CommunityProposalForm",
"container-days": "pinaxcon.proposals.forms.ContainerDaysProposalForm",
"sustainable-open-source-business": "pinaxcon.proposals.forms.SustainableOpenSourceBusinessProposalForm",
"software-worker-coops": "pinaxcon.proposals.forms.SoftwareWorkerCoopsProposalForm",
"copyleft-compliance": "pinaxcon.proposals.forms.CopyleftComplianceProposalForm",
"diversity-equity-inclusion": "pinaxcon.proposals.forms.DiversityEquityInclusionProposalForm",
"foss-at-play": "pinaxcon.proposals.forms.FOSSAtPlayProposalForm",
"open-source-ai-data": "pinaxcon.proposals.forms.OpenSourcAIDataProposalForm",
"open-work": "pinaxcon.proposals.forms.OpenWorkProposalForm",
"community": "pinaxcon.proposals.forms.CommunityProposalForm",
"bsd-unix": "pinaxcon.proposals.forms.BSDUnixProposalForm",
"xmpp": "pinaxcon.proposals.forms.XMPPProposalForm",
"science-of-community": "pinaxcon.proposals.forms.ScienceOfCommunityProposalForm",
"aarch64-arm64": "pinaxcon.proposals.forms.AArch64ARM64ProposalForm",
"foss-for-education": "pinaxcon.proposals.forms.FOSSForEducationProposalForm",
"foss-in-daily-life": "pinaxcon.proposals.forms.FOSSInDailyLifeProposalForm",
"open-source-ai-data": "pinaxcon.proposals.forms.OpenSourcAIDataProposalForm",
"open-work": "pinaxcon.proposals.forms.OpenWorkProposalForm",
"right-to-repair": "pinaxcon.proposals.forms.RightToRepairProposalForm",
"science-of-community": "pinaxcon.proposals.forms.ScienceOfCommunityProposalForm",
"security": "pinaxcon.proposals.forms.SecurityForm",
"sfc-member-project": "pinaxcon.proposals.forms.MemberProjectProposalForm",
"software-worker-coops": "pinaxcon.proposals.forms.SoftwareWorkerCoopsProposalForm",
"sustainable-open-source-business": "pinaxcon.proposals.forms.SustainableOpenSourceBusinessProposalForm",
"wildcard": "pinaxcon.proposals.forms.WildCardProposalForm",
"xmpp": "pinaxcon.proposals.forms.XMPPProposalForm",
}
MAIN_CONFERENCE_PROPOSAL_KINDS = ("Talk",)