(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.TalkProposal) | ||||||
| @admin.register(models.TutorialProposal) | @admin.register(models.TutorialProposal) | ||||||
| @admin.register(models.MiniconfProposal) | @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 CategoryAdmin(admin.ModelAdmin): | ||||||
| 
 | 
 | ||||||
|     class AdditionalSpeakerInline(admin.TabularInline): |     class AdditionalSpeakerInline(admin.TabularInline): | ||||||
|  |  | ||||||
|  | @ -2,6 +2,9 @@ from django import forms | ||||||
| 
 | 
 | ||||||
| from pinaxcon.proposals.models import TalkProposal, TutorialProposal, MiniconfProposal | 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): | class ProposalForm(forms.ModelForm): | ||||||
| 
 | 
 | ||||||
|  | @ -64,3 +67,70 @@ class MiniconfProposalForm(ProposalForm): | ||||||
|             "recording_release", |             "recording_release", | ||||||
|             "materials_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: |     class Meta: | ||||||
|         verbose_name = "miniconf proposal" |         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