Remove LCA2019 miniconf proposal types
Remove models and forms for miniconf specific proposals.
This commit is contained in:
		
							parent
							
								
									98d58b5548
								
							
						
					
					
						commit
						4c51e5ea31
					
				
					 4 changed files with 88 additions and 289 deletions
				
			
		|  | @ -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", | ||||
|  |  | |||
|  | @ -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 <strong>any</strong> questions please check our " | ||||
|         "<a href=\"https://gamesandfoss-lcaminiconf.github.io/lca2019/\" ref=" | ||||
|         "\"noreferrer noopener\" target=\"_blank\">website</a> or contact " | ||||
|         "the games miniconf organisers. We're excited to hear from you! You " | ||||
|         "can reach us via email <a href=\"mailto:games@lca.lonely.coffee\">" | ||||
|         "games@lca.lonely.coffee</a> or twitter DM <a href=\"https://twitter" | ||||
|         ".com/ducky_tape\" ref=\"noreferrer noopener\" target=\"_blank\">" | ||||
|         "@ducky_tape</a> and <a href=\"https://twitter.com/the_mcjones\" " | ||||
|         "ref=\"noreferrer noopener\" target=\"_blank\">@the_mcjones</a>.") | ||||
| 
 | ||||
|     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 <strong>rough</strong> (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 <strong> " | ||||
|         "20-minute</strong> 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 | ||||
|  |  | |||
							
								
								
									
										81
									
								
								pinaxcon/proposals/migrations/0016_auto_20190624_2328.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								pinaxcon/proposals/migrations/0016_auto_20190624_2328.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -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', | ||||
|         ), | ||||
|     ] | ||||
|  | @ -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" | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Joel Addison
						Joel Addison