(re)create miniconf proposals
This is a partial revert of  6d864e8ce5
- plucking out the bits we want to re-use
			
			
This commit is contained in:
		
							parent
							
								
									7c273cdc3d
								
							
						
					
					
						commit
						2a882678db
					
				
					 4 changed files with 204 additions and 0 deletions
				
			
		|  | @ -7,6 +7,10 @@ from symposion.proposals import models as symposion_models | |||
| @admin.register(models.TalkProposal) | ||||
| @admin.register(models.TutorialProposal) | ||||
| @admin.register(models.MiniconfProposal) | ||||
| @admin.register(models.SysAdminProposal) | ||||
| @admin.register(models.KernelProposal) | ||||
| @admin.register(models.GamesProposal) | ||||
| @admin.register(models.OpenHardwareProposal) | ||||
| class CategoryAdmin(admin.ModelAdmin): | ||||
| 
 | ||||
|     class AdditionalSpeakerInline(admin.TabularInline): | ||||
|  |  | |||
|  | @ -2,6 +2,9 @@ from django import forms | |||
| 
 | ||||
| from pinaxcon.proposals.models import TalkProposal, TutorialProposal, MiniconfProposal | ||||
| 
 | ||||
| from .models import TalkProposal, TutorialProposal, MiniconfProposal | ||||
| from .models import SysAdminProposal, KernelProposal, OpenHardwareProposal | ||||
| from .models import GamesProposal | ||||
| 
 | ||||
| class ProposalForm(forms.ModelForm): | ||||
| 
 | ||||
|  | @ -64,3 +67,70 @@ class MiniconfProposalForm(ProposalForm): | |||
|             "recording_release", | ||||
|             "materials_release", | ||||
|         ] | ||||
| 
 | ||||
| class SysAdminProposalForm(ProposalForm): | ||||
| 
 | ||||
|     class Meta: | ||||
|         model = SysAdminProposal | ||||
|         fields = [ | ||||
|             "title", | ||||
|             "talk_format", | ||||
|             "target_audience", | ||||
|             "abstract", | ||||
|             "private_abstract", | ||||
|             "technical_requirements", | ||||
|             "project", | ||||
|             "project_url", | ||||
|             "recording_release", | ||||
|             "materials_release", | ||||
|         ] | ||||
| 
 | ||||
| class KernelProposalForm(ProposalForm): | ||||
| 
 | ||||
|     class Meta: | ||||
|         model = KernelProposal | ||||
|         fields = [ | ||||
|             "title", | ||||
|             "target_audience", | ||||
|             "abstract", | ||||
|             "private_abstract", | ||||
|             "technical_requirements", | ||||
|             "project", | ||||
|             "project_url", | ||||
|             "recording_release", | ||||
|             "materials_release", | ||||
|         ] | ||||
| 
 | ||||
| class GamesProposalForm(ProposalForm): | ||||
| 
 | ||||
|     class Meta: | ||||
|         model = GamesProposal | ||||
|         fields = [ | ||||
|             "title", | ||||
|             "talk_format", | ||||
|             "target_audience", | ||||
|             "abstract", | ||||
|             "private_abstract", | ||||
|             "technical_requirements", | ||||
|             "project", | ||||
|             "project_url", | ||||
|             "recording_release", | ||||
|             "materials_release", | ||||
|         ] | ||||
| 
 | ||||
| class OpenHardwareProposalForm(ProposalForm): | ||||
| 
 | ||||
|     class Meta: | ||||
|         model = OpenHardwareProposal | ||||
|         fields = [ | ||||
|             "title", | ||||
|             "talk_format", | ||||
|             "target_audience", | ||||
|             "abstract", | ||||
|             "private_abstract", | ||||
|             "technical_requirements", | ||||
|             "project", | ||||
|             "project_url", | ||||
|             "recording_release", | ||||
|             "materials_release", | ||||
|         ] | ||||
|  |  | |||
|  | @ -0,0 +1,72 @@ | |||
| # -*- coding: utf-8 -*- | ||||
| # Generated by Django 1.11.5 on 2017-09-20 12:58 | ||||
| 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', '0003_auto_20170702_2227'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         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>")), | ||||
|                 ('talk_format', models.IntegerField(choices=[(1, 'Presentation'), (2, 'Demonstration'), (3, 'Other')])), | ||||
|             ], | ||||
|             options={ | ||||
|                 'verbose_name': 'Games and FOSS 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>")), | ||||
|             ], | ||||
|             options={ | ||||
|                 'verbose_name': 'Kernel 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>")), | ||||
|                 ('talk_format', models.IntegerField(choices=[(1, 'Presentation (20 min)'), (2, 'Lightning Talk (5 min)')])), | ||||
|             ], | ||||
|             options={ | ||||
|                 'verbose_name': 'Open Hardware 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>")), | ||||
|                 ('talk_format', models.IntegerField(choices=[(1, 'Short Presentation (15-25 min)'), (2, 'Lightning Talk (5-10 min)')], 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,61 @@ class MiniconfProposal(Proposal): | |||
| 
 | ||||
|     class Meta: | ||||
|         verbose_name = "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): | ||||
| 
 | ||||
|     class Meta: | ||||
|         verbose_name = "Kernel Miniconf Proposal" | ||||
| 
 | ||||
| 
 | ||||
| class GamesProposal(Proposal): | ||||
| 
 | ||||
|     TYPE_PRESENTATION = 1 | ||||
|     TYPE_DEMONSTRATION = 2 | ||||
|     TYPE_OTHER = 3 | ||||
| 
 | ||||
|     TALK_FORMATS = [ | ||||
|         (TYPE_PRESENTATION, "Presentation"), | ||||
|         (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" | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 James Polley
						James Polley