Changeset - 57ed5e546b34
[Not reviewed]
0 4 2
Scott Bragg - 8 years ago 2016-09-23 11:23:46
jsbragg@scriptforge.org
CFPs that are ready (#68)

* CFPs that are ready

* Updated choices for sysadmin
6 files changed with 281 insertions and 1 deletions:
0 comments (0 inline, 0 general)
pinaxcon/proposals/admin.py
Show inline comments
...
 
@@ -7,6 +7,12 @@ 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.WriteTheDocsProposal)
 
@admin.register(models.OpenRadioProposal)
 
@admin.register(models.SecurityProposal)
 
@admin.register(models.WootconfProposal)
 
@admin.register(models.KernelProposal)
 
class CategoryAdmin(admin.ModelAdmin):
 

	
 
    class AdditionalSpeakerInline(admin.TabularInline):
pinaxcon/proposals/forms.py
Show inline comments
...
 
@@ -3,7 +3,8 @@ from django import forms
 
from pinaxcon import widgets
 

	
 
from .models import TalkProposal, TutorialProposal, MiniconfProposal
 

	
 
from .models import SysAdminProposal, WriteTheDocsProposal, WootconfProposal
 
from .models import KernelProposal, OpenRadioProposal, SecurityProposal
 

	
 
class ProposalForm(forms.ModelForm):
 

	
...
 
@@ -80,3 +81,117 @@ class MiniconfProposalForm(ProposalForm):
 
            "private_abstract" : widgets.AceMarkdownEditor(),
 
            "technical_requirements" : widgets.AceMarkdownEditor(),
 
        }
 

	
 
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",
 
        ]
 

	
 
        widgets = {
 
            "abstract" : widgets.AceMarkdownEditor(),
 
            "private_abstract" : widgets.AceMarkdownEditor(),
 
            "technical_requirements" : widgets.AceMarkdownEditor(),
 
        }
 

	
 
class WriteTheDocsProposalForm(ProposalForm):
 

	
 
    class Meta:
 
        model = WriteTheDocsProposal
 
        fields = [
 
            "title",
 
            "talk_format",
 
            "target_audience",  
 
            "abstract",
 
            "private_abstract",
 
            "technical_requirements",
 
            "project",
 
            "project_url",
 
            "recording_release",
 
            "materials_release",
 
        ]
 

	
 
        widgets = {
 
            "abstract" : widgets.AceMarkdownEditor(),
 
            "private_abstract" : widgets.AceMarkdownEditor(),
 
            "technical_requirements" : widgets.AceMarkdownEditor(),
 
        }
 

	
 
class RadioProposalForm(ProposalForm):
 

	
 
    class Meta:
 
        model = OpenRadioProposal
 
        fields = [
 
            "title",
 
            "abstract",
 
            "private_abstract",
 
            "technical_requirements",
 
        ]
 

	
 
        widgets = {
 
            "abstract" : widgets.AceMarkdownEditor(),
 
            "private_abstract" : widgets.AceMarkdownEditor(),
 
            "technical_requirements" : widgets.AceMarkdownEditor(),
 
        }
 

	
 
class KernelProposalForm(ProposalForm):
 

	
 
    class Meta:
 
        model = KernelProposal
 
        fields = [
 
            "title",
 
            "abstract",
 
            "private_abstract",
 
            "technical_requirements",
 
        ]
 

	
 
        widgets = {
 
            "abstract" : widgets.AceMarkdownEditor(),
 
            "private_abstract" : widgets.AceMarkdownEditor(),
 
            "technical_requirements" : widgets.AceMarkdownEditor(),
 
        }
 

	
 
class WootconfProposalForm(ProposalForm):
 

	
 
    class Meta:
 
        model = WootconfProposal
 
        fields = [
 
            "title",
 
            "abstract",
 
            "private_abstract",
 
            "technical_requirements",
 
        ]
 

	
 
        widgets = {
 
            "abstract" : widgets.AceMarkdownEditor(),
 
            "private_abstract" : widgets.AceMarkdownEditor(),
 
            "technical_requirements" : widgets.AceMarkdownEditor(),
 
        }
 

	
 
class SecurityProposalForm(ProposalForm):
 

	
 
    class Meta:
 
        model = SecurityProposal
 
        fields = [
 
            "title",
 
            "abstract",
 
            "private_abstract",
 
            "technical_requirements",
 
        ]
 

	
 
        widgets = {
 
            "abstract" : widgets.AceMarkdownEditor(),
 
            "private_abstract" : widgets.AceMarkdownEditor(),
 
            "technical_requirements" : widgets.AceMarkdownEditor(),
 
        }
pinaxcon/proposals/migrations/0002_sysadminproposal_writethedocsproposal.py
Show inline comments
 
new file 100644
 
# -*- coding: utf-8 -*-
 
# Generated by Django 1.9.7 on 2016-09-21 10:36
 
from __future__ import unicode_literals
 

	
 
from django.db import migrations, models
 
import django.db.models.deletion
 

	
 

	
 
class Migration(migrations.Migration):
 

	
 
    dependencies = [
 
        ('symposion_proposals', '0001_initial'),
 
        ('proposals', '0001_initial'),
 
    ]
 

	
 
    operations = [
 
        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, b'User'), (2, b'Business'), (3, b'Community'), (4, b'Developer')])),
 
                ('recording_release', models.BooleanField(default=True, help_text=b"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=b"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, b'Long Presentation (45 min)'), (2, b'Short Presentation (20 min)'), (3, b'Lightning Talk (5 min)')])),
 
            ],
 
            options={
 
                'verbose_name': 'System Administration Miniconf Proposal',
 
            },
 
            bases=('symposion_proposals.proposalbase',),
 
        ),
 
        migrations.CreateModel(
 
            name='WriteTheDocsProposal',
 
            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, b'User'), (2, b'Business'), (3, b'Community'), (4, b'Developer')])),
 
                ('recording_release', models.BooleanField(default=True, help_text=b"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=b"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, b'Long Presentation (40 min)'), (2, b'Short Presentation (20 min)')])),
 
            ],
 
            options={
 
                'verbose_name': 'WriteThe Docs Miniconf Proposal',
 
            },
 
            bases=('symposion_proposals.proposalbase',),
 
        ),
 
    ]
pinaxcon/proposals/migrations/0003_kernelproposal_openradioproposal_securityproposal_wootconfproposal.py
Show inline comments
 
new file 100644
 
# -*- coding: utf-8 -*-
 
# Generated by Django 1.9.7 on 2016-09-21 10:44
 
from __future__ import unicode_literals
 

	
 
from django.db import migrations, models
 
import django.db.models.deletion
 

	
 

	
 
class Migration(migrations.Migration):
 

	
 
    dependencies = [
 
        ('symposion_proposals', '0001_initial'),
 
        ('proposals', '0002_sysadminproposal_writethedocsproposal'),
 
    ]
 

	
 
    operations = [
 
        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')),
 
            ],
 
            options={
 
                'verbose_name': 'Kernel Miniconf Proposal',
 
            },
 
            bases=('symposion_proposals.proposalbase',),
 
        ),
 
        migrations.CreateModel(
 
            name='OpenRadioProposal',
 
            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')),
 
            ],
 
            options={
 
                'verbose_name': 'OpenRadio Miniconf Proposal',
 
            },
 
            bases=('symposion_proposals.proposalbase',),
 
        ),
 
        migrations.CreateModel(
 
            name='SecurityProposal',
 
            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')),
 
            ],
 
            options={
 
                'verbose_name': 'Security/Privacy Miniconf Proposal',
 
            },
 
            bases=('symposion_proposals.proposalbase',),
 
        ),
 
        migrations.CreateModel(
 
            name='WootconfProposal',
 
            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')),
 
            ],
 
            options={
 
                'verbose_name': 'WOOTCONF Miniconf Proposal',
 
            },
 
            bases=('symposion_proposals.proposalbase',),
 
        ),
 
    ]
pinaxcon/proposals/models.py
Show inline comments
...
 
@@ -54,3 +54,53 @@ class MiniconfProposal(ProposalBase):
 

	
 
    class Meta:
 
        verbose_name = "miniconf proposal"
 

	
 
class SysAdminProposal(Proposal):
 

	
 
    TYPE_SHORT_PRESENTATION = 1
 
    TYPE_LIGHTNING_TALK = 2
 
    
 
    TALK_FORMATS = [
 
        (TYPE_SHORT_PRESENTATION, "Short Presentation (20 min)"),
 
        (TYPE_LIGHTNING_TALK, "Lightning Talk (5 min)"),
 
    ]
 
    
 
    talk_format = models.IntegerField(choices=TALK_FORMATS)
 
    
 
    class Meta:
 
        verbose_name = "System Administration Miniconf Proposal"
 

	
 
class WriteTheDocsProposal(Proposal):
 

	
 
    TYPE_LONG_PRESENTATION = 1 
 
    TYPE_SHORT_PRESENTATION = 2
 
    
 
    TALK_FORMATS = [
 
        (TYPE_LONG_PRESENTATION, "Long Presentation (40 min)"),  
 
        (TYPE_SHORT_PRESENTATION, "Short Presentation (20 min)"),
 
    ]
 
    
 
    talk_format = models.IntegerField(choices=TALK_FORMATS)
 
    
 
    class Meta:
 
        verbose_name = "WriteThe Docs Miniconf Proposal"
 

	
 
class OpenRadioProposal(ProposalBase):
 

	
 
    class Meta:
 
        verbose_name = "OpenRadio Miniconf Proposal"
 

	
 
class WootconfProposal(ProposalBase):
 

	
 
    class Meta:
 
        verbose_name = "WOOTCONF Miniconf Proposal"
 

	
 
class KernelProposal(ProposalBase):
 

	
 
    class Meta:
 
        verbose_name = "Kernel Miniconf Proposal"
 

	
 
class SecurityProposal(ProposalBase):
 

	
 
    class Meta:
 
        verbose_name = "Security/Privacy Miniconf Proposal"
pinaxcon/settings.py
Show inline comments
...
 
@@ -253,7 +253,14 @@ PROPOSAL_FORMS = {
 
    "talk": "pinaxcon.proposals.forms.TalkProposalForm",
 
    "tutorial": "pinaxcon.proposals.forms.TutorialProposalForm",
 
    "miniconf": "pinaxcon.proposals.forms.MiniconfProposalForm",
 
    "sysadmin-miniconf": "pinaxcon.proposals.forms.SysAdminProposalForm",
 
    "radio-miniconf": "pinaxcon.proposals.forms.RadioProposalForm",
 
    "wootconf-miniconf": "pinaxcon.proposals.forms.WootconfProposalForm",
 
    "writethedocs-miniconf": "pinaxcon.proposals.forms.WriteTheDocsProposalForm",
 
    "security-miniconf": "pinaxcon.proposals.forms.SecurityProposalForm",
 
    "kernel-miniconf": "pinaxcon.proposals.forms.KernelProposalForm",
 
}
 

	
 
#PINAX_PAGES_HOOKSET = "pinaxcon.hooks.PinaxPagesHookSet"
 
#PINAX_BOXES_HOOKSET = "pinaxcon.hooks.PinaxBoxesHookSet"
 

	
0 comments (0 inline, 0 general)