django_program.manage.forms_overrides

Model forms for Pretalx overrides and submission type defaults.

Classes

RoomChoiceField

ModelChoiceField that renders Room options with capacity.

RoomLabelMixin

Format Room choices as 'Name [capacity]' for searchability.

RoomOverrideForm

Form for creating or editing a room override.

SpeakerChoiceField

ModelChoiceField that renders Speaker options with email.

SpeakerLabelMixin

Format Speaker choices as 'Name (email)' for searchability.

SpeakerOverrideForm

Form for creating or editing a speaker override.

SponsorChoiceField

ModelChoiceField that renders Sponsor options with level.

SponsorLabelMixin

Format Sponsor choices as 'Name (Level)' for searchability.

SponsorOverrideForm

Form for creating or editing a sponsor override.

SubmissionTypeDefaultForm

Form for creating or editing submission type default assignments.

TalkChoiceField

ModelChoiceField that renders Talk options with type and state.

TalkLabelMixin

Format Talk choices as 'Title [Type] (state)' for searchability.

TalkOverrideForm

Form for creating or editing a talk override.

class django_program.manage.forms_overrides.TalkLabelMixin[source]

Bases: object

Format Talk choices as ‘Title [Type] (state)’ for searchability.

label_from_instance(obj)[source]

Return a descriptive label for the talk option.

Parameters:

obj (Talk)

Return type:

str

class django_program.manage.forms_overrides.TalkChoiceField[source]

Bases: TalkLabelMixin, ModelChoiceField

ModelChoiceField that renders Talk options with type and state.

class django_program.manage.forms_overrides.SpeakerLabelMixin[source]

Bases: object

Format Speaker choices as ‘Name (email)’ for searchability.

label_from_instance(obj)[source]

Return a descriptive label for the speaker option.

Parameters:

obj (Speaker)

Return type:

str

class django_program.manage.forms_overrides.SpeakerChoiceField[source]

Bases: SpeakerLabelMixin, ModelChoiceField

ModelChoiceField that renders Speaker options with email.

class django_program.manage.forms_overrides.RoomLabelMixin[source]

Bases: object

Format Room choices as ‘Name [capacity]’ for searchability.

label_from_instance(obj)[source]

Return a descriptive label for the room option.

Parameters:

obj (Room)

Return type:

str

class django_program.manage.forms_overrides.RoomChoiceField[source]

Bases: RoomLabelMixin, ModelChoiceField

ModelChoiceField that renders Room options with capacity.

class django_program.manage.forms_overrides.SponsorLabelMixin[source]

Bases: object

Format Sponsor choices as ‘Name (Level)’ for searchability.

label_from_instance(obj)[source]

Return a descriptive label for the sponsor option.

Parameters:

obj (Sponsor)

Return type:

str

class django_program.manage.forms_overrides.SponsorChoiceField[source]

Bases: SponsorLabelMixin, ModelChoiceField

ModelChoiceField that renders Sponsor options with level.

class django_program.manage.forms_overrides.TalkOverrideForm[source]

Bases: ModelForm

Form for creating or editing a talk override.

Parameters:
class Meta[source]

Bases: object

model

alias of TalkOverride

fields = ['talk', 'override_room', 'override_title', 'override_state', 'override_slot_start', 'override_slot_end', 'override_abstract', 'is_cancelled', 'note']
widgets = {'note': <django.forms.widgets.Textarea object>, 'override_abstract': <django.forms.widgets.Textarea object>, 'override_slot_end': <django.forms.widgets.DateTimeInput object>, 'override_slot_start': <django.forms.widgets.DateTimeInput object>}
__init__(*args, conference=None, is_edit=False, **kwargs)[source]

Scope choice querysets to the given conference.

Parameters:
base_fields = {'is_cancelled': <django.forms.fields.BooleanField object>, 'note': <django.forms.fields.CharField object>, 'override_abstract': <django.forms.fields.CharField object>, 'override_room': <django.forms.models.ModelChoiceField object>, 'override_slot_end': <django.forms.fields.DateTimeField object>, 'override_slot_start': <django.forms.fields.DateTimeField object>, 'override_state': <django.forms.fields.CharField object>, 'override_title': <django.forms.fields.CharField object>, 'talk': <django_program.manage.forms_overrides.TalkChoiceField object>}
declared_fields = {'talk': <django_program.manage.forms_overrides.TalkChoiceField object>}
property media

Return all media required to render the widgets on this form.

class django_program.manage.forms_overrides.SpeakerOverrideForm[source]

Bases: ModelForm

Form for creating or editing a speaker override.

Parameters:
class Meta[source]

Bases: object

model

alias of SpeakerOverride

fields = ['speaker', 'override_name', 'override_biography', 'override_avatar_url', 'override_email', 'note']
widgets = {'note': <django.forms.widgets.Textarea object>, 'override_biography': <django.forms.widgets.Textarea object>}
__init__(*args, conference=None, is_edit=False, **kwargs)[source]

Scope choice querysets to the given conference.

Parameters:
base_fields = {'note': <django.forms.fields.CharField object>, 'override_avatar_url': <django.forms.fields.URLField object>, 'override_biography': <django.forms.fields.CharField object>, 'override_email': <django.forms.fields.EmailField object>, 'override_name': <django.forms.fields.CharField object>, 'speaker': <django_program.manage.forms_overrides.SpeakerChoiceField object>}
declared_fields = {'speaker': <django_program.manage.forms_overrides.SpeakerChoiceField object>}
property media

Return all media required to render the widgets on this form.

class django_program.manage.forms_overrides.RoomOverrideForm[source]

Bases: ModelForm

Form for creating or editing a room override.

Parameters:
class Meta[source]

Bases: object

model

alias of RoomOverride

fields = ['room', 'override_name', 'override_description', 'override_capacity', 'note']
widgets = {'note': <django.forms.widgets.Textarea object>, 'override_description': <django.forms.widgets.Textarea object>}
__init__(*args, conference=None, is_edit=False, **kwargs)[source]

Scope choice querysets to the given conference.

Parameters:
base_fields = {'note': <django.forms.fields.CharField object>, 'override_capacity': <django.forms.fields.IntegerField object>, 'override_description': <django.forms.fields.CharField object>, 'override_name': <django.forms.fields.CharField object>, 'room': <django_program.manage.forms_overrides.RoomChoiceField object>}
declared_fields = {'room': <django_program.manage.forms_overrides.RoomChoiceField object>}
property media

Return all media required to render the widgets on this form.

class django_program.manage.forms_overrides.SponsorOverrideForm[source]

Bases: ModelForm

Form for creating or editing a sponsor override.

Parameters:
class Meta[source]

Bases: object

model

alias of SponsorOverride

fields = ['sponsor', 'override_name', 'override_description', 'override_website_url', 'override_logo_url', 'override_contact_name', 'override_contact_email', 'override_is_active', 'override_level', 'note']
widgets = {'note': <django.forms.widgets.Textarea object>, 'override_description': <django.forms.widgets.Textarea object>, 'override_is_active': <django.forms.widgets.Select object>}
__init__(*args, conference=None, is_edit=False, **kwargs)[source]

Scope choice querysets to the given conference.

Parameters:
clean_override_is_active()[source]

Convert Select widget string values to Python None/True/False.

Return type:

bool | None

base_fields = {'note': <django.forms.fields.CharField object>, 'override_contact_email': <django.forms.fields.EmailField object>, 'override_contact_name': <django.forms.fields.CharField object>, 'override_description': <django.forms.fields.CharField object>, 'override_is_active': <django.forms.fields.NullBooleanField object>, 'override_level': <django.forms.models.ModelChoiceField object>, 'override_logo_url': <django.forms.fields.URLField object>, 'override_name': <django.forms.fields.CharField object>, 'override_website_url': <django.forms.fields.URLField object>, 'sponsor': <django_program.manage.forms_overrides.SponsorChoiceField object>}
declared_fields = {'sponsor': <django_program.manage.forms_overrides.SponsorChoiceField object>}
property media

Return all media required to render the widgets on this form.

class django_program.manage.forms_overrides.SubmissionTypeDefaultForm[source]

Bases: ModelForm

Form for creating or editing submission type default assignments.

Parameters:
class Meta[source]

Bases: object

model

alias of SubmissionTypeDefault

fields = ['submission_type', 'default_room', 'default_date', 'default_start_time', 'default_end_time']
widgets = {'default_date': <django.forms.widgets.DateInput object>, 'default_end_time': <django.forms.widgets.TimeInput object>, 'default_start_time': <django.forms.widgets.TimeInput object>}
__init__(*args, conference=None, **kwargs)[source]

Scope choice querysets to the given conference.

Parameters:
clean()[source]

Validate time field consistency.

Return type:

dict[str, object]

Ensures that: - default_date is required when either time field is set (times

without a date are silently ignored by apply_type_defaults).

  • default_start_time and default_end_time must be provided as a pair or not at all (partial time ranges are invalid).

base_fields = {'default_date': <django.forms.fields.DateField object>, 'default_end_time': <django.forms.fields.TimeField object>, 'default_room': <django.forms.models.ModelChoiceField object>, 'default_start_time': <django.forms.fields.TimeField object>, 'submission_type': <django.forms.fields.CharField object>}
declared_fields = {}
property media

Return all media required to render the widgets on this form.