Changeset - a6c17876a9c8
[Not reviewed]
Clinton Roy - 5 years ago 2019-06-13 12:30:28
clintonr@ansto.gov.au
basic model and form of a miniconf proposal.
4 files changed with 62 insertions and 16 deletions:
0 comments (0 inline, 0 general)
pinaxcon/proposals/admin.py
Show inline comments
...
 
@@ -20,12 +20,12 @@ 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 ]:
 
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.MiniconfOrganiserProposal]:
 
    admin.site.register(model, CategoryAdmin,
 
                        list_display = [
 
                            "id",
pinaxcon/proposals/forms.py
Show inline comments
...
 
@@ -4,6 +4,7 @@ from django import forms
 

	
 
from pinaxcon.proposals.fields import HelpTextField
 
from pinaxcon.proposals.models import TalkProposal, TutorialProposal, MiniconfProposal
 
from pinaxcon.proposals.models import MiniconfOrganiserProposal
 
from pinaxcon.proposals.models import SysAdminProposal, KernelProposal, OpenHardwareProposal
 
from pinaxcon.proposals.models import GamesProposal, DevDevProposal, ArtTechProposal
 
from pinaxcon.proposals.models import OpenEdProposal, DocsProposal, SecurityProposal
...
 
@@ -93,6 +94,18 @@ class MiniconfProposalForm(ProposalForm):
 
            "materials_release",
 
        ]
 

	
 

	
 
class MiniconfOrganiserProposalForm(ProposalForm):
 
    class meta:
 
        model = MiniconfOrganiserProposal
 
        fields = [
 
            "name",
 
            "private_description",
 
            "public_description",
 
            "additional_organisers",
 
            ]
 

	
 

	
 
class SysadminProposalForm(ProposalForm):
 

	
 
    class Meta:
pinaxcon/proposals/models.py
Show inline comments
 
from django.db import models
 
from django.utils.translation import ugettext_lazy as _
 

	
 
from symposion.proposals.models import ProposalBase
 

	
 
from django.contrib.auth.models import User
 

	
 
class Proposal(ProposalBase):
 

	
...
 
@@ -52,6 +54,46 @@ class TutorialProposal(Proposal):
 
        verbose_name = "tutorial proposal"
 

	
 

	
 
class MiniconfOrganiserProposal(Proposal):
 

	
 
    class Meta:
 
        verbose_name = "miniconf organiser proposal"
 

	
 
    name = models.TextField(
 
        blank=False,
 
        default="",
 
        help_text="What your miniconf will be named publically.")
 

	
 
    miniconf_public_description = models.TextField(
 
        blank=False,
 
        default="",
 
        help_text="Public description of your miniconf. "
 
        "If your miniconf is selected, this description "
 
        "will be used on the website.")
 

	
 
    miniconf_selection_description = models.TextField(
 
        blank=False,
 
        default="",
 
        help_text="Private description of your miniconf proposal, "
 
        "explain to the conference organisers why your miniconf "
 
        "proposal should be accepted.")
 

	
 
    lead_organiser = User
 

	
 
    additional_organisers = models.ManyToManyField(
 
        User, through="AdditionalOrganiser",
 
        blank=True, verbose_name="Additional organisers")
 

	
 
    accepted = models.BooleanField(default=False)
 

	
 

	
 
class AdditionalOrganiser(models.Model):
 

	
 
    organiser = models.ForeignKey(User, verbose_name=_("User"))
 
    miniconfOrganiserProposal = models.ForeignKey(MiniconfOrganiserProposal,
 
                                                  verbose_name=_("Proposal"))
 

	
 

	
 
class MiniconfProposal(Proposal):
 

	
 
    target_audience = models.IntegerField(choices=Proposal.TARGET_AUIDENCES,
pinaxcon/settings.py
Show inline comments
...
 
@@ -336,16 +336,7 @@ CONFERENCE_ID = 1
 
PROPOSAL_FORMS = {
 
    "talk": "pinaxcon.proposals.forms.TalkProposalForm",
 
    "tutorial": "pinaxcon.proposals.forms.TutorialProposalForm",
 
    "miniconf": "pinaxcon.proposals.forms.MiniconfProposalForm",
 
    "sysadmin-miniconf": "pinaxcon.proposals.forms.SysadminProposalForm",
 
    "games-miniconf": "pinaxcon.proposals.forms.GamesProposalForm",
 
    "openhardware-miniconf": "pinaxcon.proposals.forms.OpenHardwareProposalForm",
 
    "kernel-miniconf": "pinaxcon.proposals.forms.KernelProposalForm",
 
    "opened-miniconf": "pinaxcon.proposals.forms.OpenEdProposalForm",
 
    "devdev-miniconf": "pinaxcon.proposals.forms.DevDevProposalForm",
 
    "arttech-miniconf": "pinaxcon.proposals.forms.ArtTechProposalForm",
 
    "docs-miniconf": "pinaxcon.proposals.forms.DocsProposalForm",
 
    "security-identity-privacy-miniconf": "pinaxcon.proposals.forms.SecurityProposalForm"
 
    "miniconforganiser": "pinaxcon.proposals.forms.MiniconfOrganiserProposal",
 
}
 

	
 
# Registrasion bits:
0 comments (0 inline, 0 general)