diff --git a/pinaxcon/proposals/admin.py b/pinaxcon/proposals/admin.py
index ed7d5942..7303d02b 100644
--- a/pinaxcon/proposals/admin.py
+++ b/pinaxcon/proposals/admin.py
@@ -20,12 +20,13 @@ class CategoryAdmin(admin.ModelAdmin):
]
-for model in [ models.TalkProposal, models.TutorialProposal,
- models.MiniconfProposal, models.SysAdminProposal,
- models.KernelProposal, models.GamesProposal,
- models.OpenHardwareProposal, models.OpenEdProposal,
- models.DevDevProposal, models.ArtTechProposal,
- models.DocsProposal, models.SecurityProposal ]:
+models_to_register = [
+ models.TalkProposal,
+ models.TutorialProposal,
+ models.MiniconfProposal,
+]
+
+for model in models_to_register:
admin.site.register(model, CategoryAdmin,
list_display = [
"id",
diff --git a/pinaxcon/proposals/forms.py b/pinaxcon/proposals/forms.py
index 697ab5ce..5ada0fdb 100644
--- a/pinaxcon/proposals/forms.py
+++ b/pinaxcon/proposals/forms.py
@@ -4,9 +4,6 @@ from django import forms
from pinaxcon.proposals.fields import HelpTextField
from pinaxcon.proposals.models import TalkProposal, TutorialProposal, MiniconfProposal
-from pinaxcon.proposals.models import SysAdminProposal, KernelProposal, OpenHardwareProposal
-from pinaxcon.proposals.models import GamesProposal, DevDevProposal, ArtTechProposal
-from pinaxcon.proposals.models import OpenEdProposal, DocsProposal, SecurityProposal
DEFAULT_FIELDS = [
@@ -37,13 +34,6 @@ class ProposalForm(forms.ModelForm):
return value
-class DocsProposalForm(ProposalForm):
-
- class Meta:
- model = DocsProposal
- fields = TALK_FORMAT_FIELDS
-
-
class TalkProposalForm(ProposalForm):
class Meta:
@@ -92,91 +82,3 @@ class MiniconfProposalForm(ProposalForm):
"recording_release",
"materials_release",
]
-
-class SysadminProposalForm(ProposalForm):
-
- class Meta:
- model = SysAdminProposal
- fields = TALK_FORMAT_FIELDS
-
-
-class SecurityProposalForm(ProposalForm):
-
- class Meta:
- model = SecurityProposal
- fields = TALK_FORMAT_FIELDS
-
-
-class KernelProposalForm(ProposalForm):
-
- class Meta:
- model = KernelProposal
- fields = TALK_FORMAT_FIELDS
-
-
-class GamesProposalForm(ProposalForm):
-
- HELP_TEXT = ("If you have any questions please check our "
- "website or contact "
- "the games miniconf organisers. We're excited to hear from you! You "
- "can reach us via email "
- "games@lca.lonely.coffee or twitter DM "
- "@ducky_tape and @the_mcjones.")
-
- help_field = HelpTextField(text=HELP_TEXT, label='')
-
- def __init__(self, *args, **kwargs):
- super().__init__(*args, **kwargs)
- self.fields['private_abstract'].help_text = ("it would be helpful if "
- "you could please include a rough (don't worry, "
- "we know it might change!) Outline of your presentation, e.g. "
- "'0-2mins intro, 2-5mins the problem, 5-10mins things, 10-15mins "
- "stuff 15-20mins solution'.")
-
- class Meta:
- model = GamesProposal
- fields = ['help_field', ] + TALK_FORMAT_FIELDS
-
-
-class OpenHardwareProposalForm(ProposalForm):
-
- class Meta:
- model = OpenHardwareProposal
- fields = TALK_FORMAT_FIELDS
-
-
-class OpenEdProposalForm(ProposalForm):
- class Meta:
- NO_TARGET_AUDIENCE_FIELDS = copy.copy(TALK_FORMAT_FIELDS)
- del(NO_TARGET_AUDIENCE_FIELDS[1])
-
- model = OpenEdProposal
- fields = NO_TARGET_AUDIENCE_FIELDS
-
-
-class DevDevProposalForm(ProposalForm):
-
- HELP_TEXT = ("The Developer Developer Miniconf is taking "
- "20-minute talks only.")
-
- help_field = HelpTextField(text=HELP_TEXT, label='')
-
- class Meta:
- model = DevDevProposal
- fields = ['help_field', ] + DEFAULT_FIELDS
-
-
-class ArtTechProposalForm(ProposalForm):
-
- class Meta:
- ARTTECH_FIELDS = copy.copy(DEFAULT_FIELDS)
- ARTTECH_FIELDS.remove("target_audience")
- ARTTECH_FIELDS.append("talk_format")
- ARTTECH_FIELDS.append("can_exhibit")
- ARTTECH_FIELDS.append("exhibition_requirements")
-
- model = ArtTechProposal
- fields = ARTTECH_FIELDS
diff --git a/pinaxcon/proposals/migrations/0016_auto_20190624_2328.py b/pinaxcon/proposals/migrations/0016_auto_20190624_2328.py
new file mode 100644
index 00000000..9f1b9924
--- /dev/null
+++ b/pinaxcon/proposals/migrations/0016_auto_20190624_2328.py
@@ -0,0 +1,81 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.21 on 2019-06-24 11:28
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('symposion_schedule', '0008_auto_20190122_0815'),
+ ('symposion_proposals', '0003_auto_20170702_2250'),
+ ('symposion_reviews', '0001_initial'),
+ ('proposals', '0015_securityproposal_talk_format'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='arttechproposal',
+ name='proposalbase_ptr',
+ ),
+ migrations.RemoveField(
+ model_name='devdevproposal',
+ name='proposalbase_ptr',
+ ),
+ migrations.RemoveField(
+ model_name='docsproposal',
+ name='proposalbase_ptr',
+ ),
+ migrations.RemoveField(
+ model_name='gamesproposal',
+ name='proposalbase_ptr',
+ ),
+ migrations.RemoveField(
+ model_name='kernelproposal',
+ name='proposalbase_ptr',
+ ),
+ migrations.RemoveField(
+ model_name='openedproposal',
+ name='proposalbase_ptr',
+ ),
+ migrations.RemoveField(
+ model_name='openhardwareproposal',
+ name='proposalbase_ptr',
+ ),
+ migrations.RemoveField(
+ model_name='securityproposal',
+ name='proposalbase_ptr',
+ ),
+ migrations.RemoveField(
+ model_name='sysadminproposal',
+ name='proposalbase_ptr',
+ ),
+ migrations.DeleteModel(
+ name='ArtTechProposal',
+ ),
+ migrations.DeleteModel(
+ name='DevDevProposal',
+ ),
+ migrations.DeleteModel(
+ name='DocsProposal',
+ ),
+ migrations.DeleteModel(
+ name='GamesProposal',
+ ),
+ migrations.DeleteModel(
+ name='KernelProposal',
+ ),
+ migrations.DeleteModel(
+ name='OpenEdProposal',
+ ),
+ migrations.DeleteModel(
+ name='OpenHardwareProposal',
+ ),
+ migrations.DeleteModel(
+ name='SecurityProposal',
+ ),
+ migrations.DeleteModel(
+ name='SysAdminProposal',
+ ),
+ ]
diff --git a/pinaxcon/proposals/models.py b/pinaxcon/proposals/models.py
index 33526507..6a985577 100644
--- a/pinaxcon/proposals/models.py
+++ b/pinaxcon/proposals/models.py
@@ -59,188 +59,3 @@ class MiniconfProposal(Proposal):
class Meta:
verbose_name = "miniconf proposal"
-
-
-class DocsProposal(Proposal):
- TALK_FORMATS = [
- (1, "Presentation (40-45 min)"),
- (2, "Short Presentation (20-30 min)"),
- (3, "Lightning Talk (5-10 min)")
- ]
-
- TARGET_USER = 1
- TARGET_BUSINESS = 2
- TARGET_COMMUNITY = 3
- TARGET_DEVELOPER = 4
- TARGET_WRITER = 4
-
- TARGET_AUIDENCES = [
- (TARGET_USER, "User"),
- (TARGET_BUSINESS, "Business"),
- (TARGET_COMMUNITY, "Community"),
- (TARGET_DEVELOPER, "Developer"),
- (TARGET_WRITER, "Writer"),
- ]
-
- target_audience = models.IntegerField(choices=TARGET_AUIDENCES, default=TARGET_USER)
- 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 = "Docs Down Under Miniconf Proposal"
-
-
-class SysAdminProposal(Proposal):
-
- TYPE_SHORT_PRESENTATION = 1
- TYPE_LIGHTNING_TALK = 2
-
- TALK_FORMATS = [
- (TYPE_SHORT_PRESENTATION, "Short Presentation (15-25 min)"),
- (TYPE_LIGHTNING_TALK, "Lightning Talk (5-10 min)"),
- ]
-
- 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"
-
-
-class KernelProposal(Proposal):
- TALK_FORMATS = [
- (1, "Presentation (40-45 min)"),
- (2, "Short Presentation (20-30 min)"),
- ]
-
- talk_format = models.IntegerField(
- choices=TALK_FORMATS,
- default=1,
- help_text="Please indicate your preferred talk length in the private abstract field below.")
-
- class Meta:
- verbose_name = "Kernel Miniconf Proposal"
-
-
-class SecurityProposal(Proposal):
- TALK_FORMATS = [
- (1, "Presentation (40-45 min)"),
- (2, "Short Presentation (20-30 min)"),
- (3, "Lightning Talk (5-10 min)")
- ]
-
- 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 = "Security, Identity and Privacy Miniconf Proposal"
-
-
-class GamesProposal(Proposal):
-
- TYPE_PRESENTATION = 1
- TYPE_SHORT_PRESENTATION = 2
- TYPE_DEMONSTRATION = 3
- TYPE_OTHER = 4
-
- TALK_FORMATS = [
- (TYPE_PRESENTATION, "Presentation (long)"),
- (TYPE_PRESENTATION, "Presentation (short)"),
- (TYPE_DEMONSTRATION, "Demonstration"),
- (TYPE_OTHER, "Other"),
- ]
-
- talk_format = models.IntegerField(choices=TALK_FORMATS)
-
- class Meta:
- verbose_name = "Games and FOSS Miniconf Proposal"
-
-
-class OpenHardwareProposal(Proposal):
-
- TYPE_NORMAL_PRESENTATION = 1
- TYPE_LIGHTNING_TALK = 2
-
- TALK_FORMATS = [
- (TYPE_NORMAL_PRESENTATION, "Presentation (20 min)"),
- (TYPE_LIGHTNING_TALK, "Lightning Talk (5 min)"),
- ]
-
- talk_format = models.IntegerField(choices=TALK_FORMATS)
-
- class Meta:
- verbose_name = "Open Hardware Miniconf Proposal"
-
-
-class OpenEdProposal(Proposal):
- TALK_FORMATS = [
- (1, "Presentation (40-45 min)"),
- (2, "Short Presentation (20-30 min)"),
- (3, "Lightning Talk (5-10 min)")
- ]
-
- talk_format = models.IntegerField(
- choices=TALK_FORMATS,
- help_text="Please indicate your preferred talk length in the private abstract field below.")
-
- # Can't delete an inherited field
- target_audience = models.IntegerField(blank=True, null=True)
-
- class Meta:
- verbose_name = "Open Education Miniconf Proposal"
-
-
-class DevDevProposal(Proposal):
-
- class Meta:
- verbose_name = "Developers Developers Miniconf Proposal"
-
-
-class ArtTechProposal(Proposal):
-
- TYPE_TECH = 1
- TYPE_DEMO = 2
- TYPE_LIGHTNING = 3
-
- TALK_FORMATS = [
- (TYPE_TECH, "Tech talk (45 min)"),
- (TYPE_DEMO, "Demonstration (20min)"),
- (TYPE_LIGHTNING, "Lightning Talk (10min)"),
- ]
-
- talk_format = models.IntegerField(
- choices=TALK_FORMATS,
- default=TYPE_TECH,
- )
-
- EXHIBIT_YES = 1
- EXHIBIT_NO = 2
-
- EXHIBIT_STATUS = [
- (EXHIBIT_YES, "I am willing and able to exhibit my project on Thursday, January 24th"),
- (EXHIBIT_NO, "I'm unable to exhibit my project")
- ]
-
- can_exhibit = models.IntegerField(
- choices=EXHIBIT_STATUS,
- default=EXHIBIT_YES,
- )
-
- exhibition_requirements = models.TextField(
- blank=True,
- default="",
- )
-
- TARGET_NA = 1
-
- TARGET_AUDIENCES = [
- (TARGET_NA, "N/A"),
- ]
-
- target_audience = models.IntegerField(choices=TARGET_AUDIENCES, default=TARGET_NA)
-
- class Meta:
- verbose_name = "Art+Tech Miniconf Proposal"