django_program.manage.forms¶
Model forms for the conference management dashboard.
Each form that wraps a pretalx-synced model accepts an is_synced flag.
When the record has been synced from Pretalx (synced_at is not None),
all fields are rendered as disabled so organizers cannot accidentally
overwrite upstream data.
Classes
Form for editing a conference activity. |
|
Form for creating and editing add-ons. |
|
Form for creating and editing badge templates. |
|
Form for editing conference details. |
|
Form for marking a travel grant as disbursed. |
|
Form for creating and editing category-wide percentage discounts. |
|
Form for creating and editing direct product discounts. |
|
Form for creating and editing expense categories. |
|
Form for creating and editing individual expenses. |
|
Form for creating and editing group member conditions. |
|
Form for importing a new conference from a Pretalx event slug. |
|
Form for creating and editing included product conditions. |
|
Form for editing per-conference KPI target thresholds. |
|
Form for organizers to record a manual payment against an order. |
|
Form for flagging a receipt with a reason. |
|
Form for reviewers to send a message on a travel grant. |
|
Form for editing a room. |
|
Form for editing a schedule slot. |
|
Form for editing a conference section. |
|
Form for creating and editing speaker conditions. |
|
Form for editing a sponsor. |
|
Form for editing a sponsor level. |
|
Form for editing a talk. |
|
Form for creating and editing ticket types. |
|
Form for creating and editing time/stock limit conditions. |
|
Form for reviewing a travel grant application. |
|
Form for creating and editing vouchers. |
- class django_program.manage.forms.ImportFromPretalxForm[source]¶
Bases:
FormForm for importing a new conference from a Pretalx event slug.
Accepts a Pretalx event slug and optional conference slug override. The event slug is used to fetch event metadata from the Pretalx API and bootstrap a new Conference object with a full data sync.
- base_fields = {'api_token': <django.forms.fields.CharField object>, 'conference_slug': <django.forms.fields.SlugField object>, 'pretalx_event_slug': <django.forms.fields.CharField object>}¶
- declared_fields = {'api_token': <django.forms.fields.CharField object>, 'conference_slug': <django.forms.fields.SlugField object>, 'pretalx_event_slug': <django.forms.fields.CharField object>}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.ConferenceForm[source]¶
Bases:
ModelFormForm for editing conference details.
Stripe secret keys are excluded for security, along with auto-managed timestamp fields. The slug is excluded because it serves as the URL identifier and should not be casually changed.
- class Meta[source]¶
Bases:
object- model¶
alias of
Conference
- fields = ['name', 'start_date', 'end_date', 'timezone', 'venue', 'address', 'website_url', 'pretalx_event_slug', 'total_capacity', 'revenue_budget', 'target_attendance', 'grant_budget', 'is_active']¶
- widgets = {'end_date': <django.forms.widgets.DateInput object>, 'start_date': <django.forms.widgets.DateInput object>}¶
- base_fields = {'address': <django.forms.fields.CharField object>, 'end_date': <django.forms.fields.DateField object>, 'grant_budget': <django.forms.fields.DecimalField object>, 'is_active': <django.forms.fields.BooleanField object>, 'name': <django.forms.fields.CharField object>, 'pretalx_event_slug': <django.forms.fields.CharField object>, 'revenue_budget': <django.forms.fields.DecimalField object>, 'start_date': <django.forms.fields.DateField object>, 'target_attendance': <django.forms.fields.IntegerField object>, 'timezone': <django.forms.fields.CharField object>, 'total_capacity': <django.forms.fields.IntegerField object>, 'venue': <django.forms.fields.CharField object>, 'website_url': <django.forms.fields.URLField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.KPITargetsForm[source]¶
Bases:
ModelFormForm for editing per-conference KPI target thresholds.
- class Meta[source]¶
Bases:
object- model¶
alias of
KPITargets
- fields = ['target_conversion_rate', 'target_refund_rate', 'target_checkin_rate', 'target_fulfillment_rate', 'target_revenue_per_attendee', 'target_room_utilization']¶
- base_fields = {'target_checkin_rate': <django.forms.fields.DecimalField object>, 'target_conversion_rate': <django.forms.fields.DecimalField object>, 'target_fulfillment_rate': <django.forms.fields.DecimalField object>, 'target_refund_rate': <django.forms.fields.DecimalField object>, 'target_revenue_per_attendee': <django.forms.fields.DecimalField object>, 'target_room_utilization': <django.forms.fields.DecimalField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.SectionForm[source]¶
Bases:
ModelFormForm for editing a conference section.
- Parameters:
args (
object)conference (
Conference|None)kwargs (
object)
- class Meta[source]¶
Bases:
object- fields = ['name', 'start_date', 'end_date', 'order']¶
- widgets = {'end_date': <django.forms.widgets.DateInput object>, 'start_date': <django.forms.widgets.DateInput object>}¶
- __init__(*args, conference=None, **kwargs)[source]¶
Build date select choices from the conference date range.
- Parameters:
args (
object)conference (
Conference|None)kwargs (
object)
- base_fields = {'end_date': <django.forms.fields.DateField object>, 'name': <django.forms.fields.CharField object>, 'order': <django.forms.fields.IntegerField object>, 'start_date': <django.forms.fields.DateField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.RoomForm[source]¶
Bases:
ModelFormForm for editing a room.
When the room has been synced from Pretalx, all fields are disabled to prevent overwriting upstream data.
- base_fields = {'capacity': <django.forms.fields.IntegerField object>, 'description': <django.forms.fields.CharField object>, 'name': <django.forms.fields.CharField object>, 'position': <django.forms.fields.IntegerField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.TalkForm[source]¶
Bases:
ModelFormForm for editing a talk.
Pretalx-synced fields are disabled when the record was last synced from the upstream API.
- SYNCED_FIELDS: list[str] = ['pretalx_code', 'title', 'abstract', 'description', 'submission_type', 'track', 'duration', 'state', 'speakers', 'room', 'slot_start', 'slot_end']¶
- class Meta[source]¶
Bases:
object- fields = ['pretalx_code', 'title', 'abstract', 'description', 'submission_type', 'track', 'duration', 'state', 'speakers', 'room', 'slot_start', 'slot_end']¶
- __init__(*args, **kwargs)[source]¶
Initialise the form and disable synced fields when locked by Pretalx.
- base_fields = {'abstract': <django.forms.fields.CharField object>, 'description': <django.forms.fields.CharField object>, 'duration': <django.forms.fields.IntegerField object>, 'pretalx_code': <django.forms.fields.CharField object>, 'room': <django.forms.models.ModelChoiceField object>, 'slot_end': <django.forms.fields.DateTimeField object>, 'slot_start': <django.forms.fields.DateTimeField object>, 'speakers': <django.forms.models.ModelMultipleChoiceField object>, 'state': <django.forms.fields.CharField object>, 'submission_type': <django.forms.fields.CharField object>, 'title': <django.forms.fields.CharField object>, 'track': <django.forms.fields.CharField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.ScheduleSlotForm[source]¶
Bases:
ModelFormForm for editing a schedule slot.
Pretalx-synced fields are disabled when the slot has been synced from the upstream Pretalx API.
- class Meta[source]¶
Bases:
object- model¶
alias of
ScheduleSlot
- fields = ['talk', 'title', 'room', 'start', 'end', 'slot_type']¶
- __init__(*args, **kwargs)[source]¶
Initialise the form and disable synced fields when locked by Pretalx.
- base_fields = {'end': <django.forms.fields.DateTimeField object>, 'room': <django.forms.models.ModelChoiceField object>, 'slot_type': <django.forms.fields.TypedChoiceField object>, 'start': <django.forms.fields.DateTimeField object>, 'talk': <django.forms.models.ModelChoiceField object>, 'title': <django.forms.fields.CharField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.SponsorLevelForm[source]¶
Bases:
ModelFormForm for editing a sponsor level.
- class Meta[source]¶
Bases:
object- model¶
alias of
SponsorLevel
- fields = ['name', 'cost', 'description', 'benefits_summary', 'comp_ticket_count', 'order']¶
- base_fields = {'benefits_summary': <django.forms.fields.CharField object>, 'comp_ticket_count': <django.forms.fields.IntegerField object>, 'cost': <django.forms.fields.DecimalField object>, 'description': <django.forms.fields.CharField object>, 'name': <django.forms.fields.CharField object>, 'order': <django.forms.fields.IntegerField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.SponsorForm[source]¶
Bases:
ModelFormForm for editing a sponsor.
When the sponsor has an
external_id(synced from the PSF API), fields that come from the upstream API are disabled to prevent overwriting synced data.- class Meta[source]¶
Bases:
object- fields = ['name', 'level', 'website_url', 'logo', 'logo_url', 'description', 'contact_name', 'contact_email', 'is_active']¶
- __init__(*args, **kwargs)[source]¶
Initialise the form and disable synced fields when locked by PSF sync.
- base_fields = {'contact_email': <django.forms.fields.EmailField object>, 'contact_name': <django.forms.fields.CharField object>, 'description': <django.forms.fields.CharField object>, 'is_active': <django.forms.fields.BooleanField object>, 'level': <django.forms.models.ModelChoiceField object>, 'logo': <django.forms.fields.ImageField object>, 'logo_url': <django.forms.fields.URLField object>, 'name': <django.forms.fields.CharField object>, 'website_url': <django.forms.fields.URLField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.ActivityForm[source]¶
Bases:
ModelFormForm for editing a conference activity.
The
slugfield is excluded because it is auto-generated from the activity name. Theroomfield provides an optional link to a Pretalx-synced room for venue assignment.- class Meta[source]¶
Bases:
object- fields = ['name', 'activity_type', 'description', 'room', 'location', 'pretalx_submission_type', 'start_time', 'end_time', 'max_participants', 'requires_ticket', 'external_url', 'is_active', 'organizers']¶
- widgets = {'end_time': <django.forms.widgets.DateTimeInput object>, 'organizers': <class 'django.forms.widgets.CheckboxSelectMultiple'>, 'start_time': <django.forms.widgets.DateTimeInput object>}¶
- base_fields = {'activity_type': <django.forms.fields.TypedChoiceField object>, 'description': <django.forms.fields.CharField object>, 'end_time': <django.forms.fields.DateTimeField object>, 'external_url': <django.forms.fields.URLField object>, 'is_active': <django.forms.fields.BooleanField object>, 'location': <django.forms.fields.CharField object>, 'max_participants': <django.forms.fields.IntegerField object>, 'name': <django.forms.fields.CharField object>, 'organizers': <django.forms.models.ModelMultipleChoiceField object>, 'pretalx_submission_type': <django.forms.fields.CharField object>, 'requires_ticket': <django.forms.fields.BooleanField object>, 'room': <django.forms.models.ModelChoiceField object>, 'start_time': <django.forms.fields.DateTimeField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.TravelGrantForm[source]¶
Bases:
ModelFormForm for reviewing a travel grant application.
- class Meta[source]¶
Bases:
object- model¶
alias of
TravelGrant
- fields = ['status', 'approved_amount', 'promo_code', 'reviewer_notes']¶
- widgets = {'status': <django.forms.widgets.Select object>}¶
- base_fields = {'approved_amount': <django.forms.fields.DecimalField object>, 'promo_code': <django.forms.fields.CharField object>, 'reviewer_notes': <django.forms.fields.CharField object>, 'status': <django.forms.fields.TypedChoiceField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.ReviewerMessageForm[source]¶
Bases:
ModelFormForm for reviewers to send a message on a travel grant.
- class Meta[source]¶
Bases:
object- model¶
alias of
TravelGrantMessage
- fields = ['message', 'visible']¶
- widgets = {'message': <django.forms.widgets.Textarea object>}¶
- labels = {'visible': 'Visible to applicant'}¶
- base_fields = {'message': <django.forms.fields.CharField object>, 'visible': <django.forms.fields.BooleanField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.ReceiptFlagForm[source]¶
Bases:
FormForm for flagging a receipt with a reason.
- base_fields = {'reason': <django.forms.fields.CharField object>}¶
- declared_fields = {'reason': <django.forms.fields.CharField object>}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.DisbursementForm[source]¶
Bases:
FormForm for marking a travel grant as disbursed.
- base_fields = {'disbursed_amount': <django.forms.fields.DecimalField object>}¶
- declared_fields = {'disbursed_amount': <django.forms.fields.DecimalField object>}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.TicketTypeForm[source]¶
Bases:
ModelFormForm for creating and editing ticket types.
Provides datetime-local widgets for availability windows and auto-populates the slug from the ticket name on creation.
- class Meta[source]¶
Bases:
object- model¶
alias of
TicketType
- fields = ['name', 'slug', 'description', 'price', 'available_from', 'available_until', 'total_quantity', 'limit_per_user', 'requires_voucher', 'is_active', 'bulk_enabled', 'order']¶
- widgets = {'available_from': <django.forms.widgets.DateTimeInput object>, 'available_until': <django.forms.widgets.DateTimeInput object>, 'description': <django.forms.widgets.Textarea object>}¶
- base_fields = {'available_from': <django.forms.fields.DateTimeField object>, 'available_until': <django.forms.fields.DateTimeField object>, 'bulk_enabled': <django.forms.fields.BooleanField object>, 'description': <django.forms.fields.CharField object>, 'is_active': <django.forms.fields.BooleanField object>, 'limit_per_user': <django.forms.fields.IntegerField object>, 'name': <django.forms.fields.CharField object>, 'order': <django.forms.fields.IntegerField object>, 'price': <django.forms.fields.DecimalField object>, 'requires_voucher': <django.forms.fields.BooleanField object>, 'slug': <django.forms.fields.SlugField object>, 'total_quantity': <django.forms.fields.IntegerField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.AddOnForm[source]¶
Bases:
ModelFormForm for creating and editing add-ons.
Provides datetime-local widgets for availability windows.
- class Meta[source]¶
Bases:
object- fields = ['name', 'slug', 'description', 'price', 'available_from', 'available_until', 'total_quantity', 'is_active', 'bulk_enabled', 'order']¶
- widgets = {'available_from': <django.forms.widgets.DateTimeInput object>, 'available_until': <django.forms.widgets.DateTimeInput object>, 'description': <django.forms.widgets.Textarea object>}¶
- base_fields = {'available_from': <django.forms.fields.DateTimeField object>, 'available_until': <django.forms.fields.DateTimeField object>, 'bulk_enabled': <django.forms.fields.BooleanField object>, 'description': <django.forms.fields.CharField object>, 'is_active': <django.forms.fields.BooleanField object>, 'name': <django.forms.fields.CharField object>, 'order': <django.forms.fields.IntegerField object>, 'price': <django.forms.fields.DecimalField object>, 'slug': <django.forms.fields.SlugField object>, 'total_quantity': <django.forms.fields.IntegerField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.VoucherForm[source]¶
Bases:
ModelFormForm for creating and editing vouchers.
Uses checkbox widgets for the many-to-many ticket type and add-on fields so organizers can quickly select applicable items.
- class Meta[source]¶
Bases:
object- fields = ['code', 'voucher_type', 'discount_value', 'max_uses', 'valid_from', 'valid_until', 'unlocks_hidden_tickets', 'is_active', 'applicable_ticket_types', 'applicable_addons']¶
- widgets = {'applicable_addons': <class 'django.forms.widgets.CheckboxSelectMultiple'>, 'applicable_ticket_types': <class 'django.forms.widgets.CheckboxSelectMultiple'>, 'valid_from': <django.forms.widgets.DateTimeInput object>, 'valid_until': <django.forms.widgets.DateTimeInput object>}¶
- base_fields = {'applicable_addons': <django.forms.models.ModelMultipleChoiceField object>, 'applicable_ticket_types': <django.forms.models.ModelMultipleChoiceField object>, 'code': <django.forms.fields.CharField object>, 'discount_value': <django.forms.fields.DecimalField object>, 'is_active': <django.forms.fields.BooleanField object>, 'max_uses': <django.forms.fields.IntegerField object>, 'unlocks_hidden_tickets': <django.forms.fields.BooleanField object>, 'valid_from': <django.forms.fields.DateTimeField object>, 'valid_until': <django.forms.fields.DateTimeField object>, 'voucher_type': <django.forms.fields.TypedChoiceField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.ManualPaymentForm[source]¶
Bases:
FormForm for organizers to record a manual payment against an order.
Supports comp, credit, and manual payment methods. The note field allows attaching context (e.g. check number, approval reference).
- base_fields = {'amount': <django.forms.fields.DecimalField object>, 'method': <django.forms.fields.ChoiceField object>, 'note': <django.forms.fields.CharField object>}¶
- declared_fields = {'amount': <django.forms.fields.DecimalField object>, 'method': <django.forms.fields.ChoiceField object>, 'note': <django.forms.fields.CharField object>}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.TimeOrStockLimitConditionForm[source]¶
Bases:
ModelFormForm for creating and editing time/stock limit conditions.
Provides datetime-local widgets for the time window and checkbox widgets for the M2M product fields.
- class Meta[source]¶
Bases:
object- model¶
alias of
TimeOrStockLimitCondition
- fields = ['name', 'description', 'is_active', 'priority', 'discount_type', 'discount_value', 'max_quantity', 'applicable_ticket_types', 'applicable_addons', 'start_time', 'end_time', 'limit']¶
- widgets = {'applicable_addons': <class 'django.forms.widgets.CheckboxSelectMultiple'>, 'applicable_ticket_types': <class 'django.forms.widgets.CheckboxSelectMultiple'>, 'description': <django.forms.widgets.Textarea object>, 'end_time': <django.forms.widgets.DateTimeInput object>, 'start_time': <django.forms.widgets.DateTimeInput object>}¶
- base_fields = {'applicable_addons': <django.forms.models.ModelMultipleChoiceField object>, 'applicable_ticket_types': <django.forms.models.ModelMultipleChoiceField object>, 'description': <django.forms.fields.CharField object>, 'discount_type': <django.forms.fields.TypedChoiceField object>, 'discount_value': <django.forms.fields.DecimalField object>, 'end_time': <django.forms.fields.DateTimeField object>, 'is_active': <django.forms.fields.BooleanField object>, 'limit': <django.forms.fields.IntegerField object>, 'max_quantity': <django.forms.fields.IntegerField object>, 'name': <django.forms.fields.CharField object>, 'priority': <django.forms.fields.IntegerField object>, 'start_time': <django.forms.fields.DateTimeField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.SpeakerConditionForm[source]¶
Bases:
ModelFormForm for creating and editing speaker conditions.
Controls whether primary speakers and/or copresenters qualify for the configured discount.
- class Meta[source]¶
Bases:
object- model¶
alias of
SpeakerCondition
- fields = ['name', 'description', 'is_active', 'priority', 'discount_type', 'discount_value', 'max_quantity', 'applicable_ticket_types', 'applicable_addons', 'is_presenter', 'is_copresenter']¶
- widgets = {'applicable_addons': <class 'django.forms.widgets.CheckboxSelectMultiple'>, 'applicable_ticket_types': <class 'django.forms.widgets.CheckboxSelectMultiple'>, 'description': <django.forms.widgets.Textarea object>}¶
- base_fields = {'applicable_addons': <django.forms.models.ModelMultipleChoiceField object>, 'applicable_ticket_types': <django.forms.models.ModelMultipleChoiceField object>, 'description': <django.forms.fields.CharField object>, 'discount_type': <django.forms.fields.TypedChoiceField object>, 'discount_value': <django.forms.fields.DecimalField object>, 'is_active': <django.forms.fields.BooleanField object>, 'is_copresenter': <django.forms.fields.BooleanField object>, 'is_presenter': <django.forms.fields.BooleanField object>, 'max_quantity': <django.forms.fields.IntegerField object>, 'name': <django.forms.fields.CharField object>, 'priority': <django.forms.fields.IntegerField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.GroupMemberConditionForm[source]¶
Bases:
ModelFormForm for creating and editing group member conditions.
Uses checkbox widgets for the groups and product M2M fields.
- class Meta[source]¶
Bases:
object- model¶
alias of
GroupMemberCondition
- fields = ['name', 'description', 'is_active', 'priority', 'discount_type', 'discount_value', 'max_quantity', 'applicable_ticket_types', 'applicable_addons', 'groups']¶
- widgets = {'applicable_addons': <class 'django.forms.widgets.CheckboxSelectMultiple'>, 'applicable_ticket_types': <class 'django.forms.widgets.CheckboxSelectMultiple'>, 'description': <django.forms.widgets.Textarea object>, 'groups': <class 'django.forms.widgets.CheckboxSelectMultiple'>}¶
- base_fields = {'applicable_addons': <django.forms.models.ModelMultipleChoiceField object>, 'applicable_ticket_types': <django.forms.models.ModelMultipleChoiceField object>, 'description': <django.forms.fields.CharField object>, 'discount_type': <django.forms.fields.TypedChoiceField object>, 'discount_value': <django.forms.fields.DecimalField object>, 'groups': <django.forms.models.ModelMultipleChoiceField object>, 'is_active': <django.forms.fields.BooleanField object>, 'max_quantity': <django.forms.fields.IntegerField object>, 'name': <django.forms.fields.CharField object>, 'priority': <django.forms.fields.IntegerField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.IncludedProductConditionForm[source]¶
Bases:
ModelFormForm for creating and editing included product conditions.
Uses checkbox widgets for both the enabling and target product M2M fields.
- class Meta[source]¶
Bases:
object- model¶
alias of
IncludedProductCondition
- fields = ['name', 'description', 'is_active', 'priority', 'discount_type', 'discount_value', 'max_quantity', 'applicable_ticket_types', 'applicable_addons', 'enabling_ticket_types']¶
- widgets = {'applicable_addons': <class 'django.forms.widgets.CheckboxSelectMultiple'>, 'applicable_ticket_types': <class 'django.forms.widgets.CheckboxSelectMultiple'>, 'description': <django.forms.widgets.Textarea object>, 'enabling_ticket_types': <class 'django.forms.widgets.CheckboxSelectMultiple'>}¶
- base_fields = {'applicable_addons': <django.forms.models.ModelMultipleChoiceField object>, 'applicable_ticket_types': <django.forms.models.ModelMultipleChoiceField object>, 'description': <django.forms.fields.CharField object>, 'discount_type': <django.forms.fields.TypedChoiceField object>, 'discount_value': <django.forms.fields.DecimalField object>, 'enabling_ticket_types': <django.forms.models.ModelMultipleChoiceField object>, 'is_active': <django.forms.fields.BooleanField object>, 'max_quantity': <django.forms.fields.IntegerField object>, 'name': <django.forms.fields.CharField object>, 'priority': <django.forms.fields.IntegerField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.DiscountForProductForm[source]¶
Bases:
ModelFormForm for creating and editing direct product discounts.
Provides datetime-local widgets for the time window and checkbox widgets for the M2M product fields.
- class Meta[source]¶
Bases:
object- model¶
alias of
DiscountForProduct
- fields = ['name', 'description', 'is_active', 'priority', 'discount_type', 'discount_value', 'max_quantity', 'applicable_ticket_types', 'applicable_addons', 'start_time', 'end_time', 'limit']¶
- widgets = {'applicable_addons': <class 'django.forms.widgets.CheckboxSelectMultiple'>, 'applicable_ticket_types': <class 'django.forms.widgets.CheckboxSelectMultiple'>, 'description': <django.forms.widgets.Textarea object>, 'end_time': <django.forms.widgets.DateTimeInput object>, 'start_time': <django.forms.widgets.DateTimeInput object>}¶
- base_fields = {'applicable_addons': <django.forms.models.ModelMultipleChoiceField object>, 'applicable_ticket_types': <django.forms.models.ModelMultipleChoiceField object>, 'description': <django.forms.fields.CharField object>, 'discount_type': <django.forms.fields.TypedChoiceField object>, 'discount_value': <django.forms.fields.DecimalField object>, 'end_time': <django.forms.fields.DateTimeField object>, 'is_active': <django.forms.fields.BooleanField object>, 'limit': <django.forms.fields.IntegerField object>, 'max_quantity': <django.forms.fields.IntegerField object>, 'name': <django.forms.fields.CharField object>, 'priority': <django.forms.fields.IntegerField object>, 'start_time': <django.forms.fields.DateTimeField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.DiscountForCategoryForm[source]¶
Bases:
ModelFormForm for creating and editing category-wide percentage discounts.
Provides datetime-local widgets for the time window and boolean toggles for ticket/add-on category targeting.
- class Meta[source]¶
Bases:
object- model¶
alias of
DiscountForCategory
- fields = ['name', 'description', 'is_active', 'priority', 'percentage', 'apply_to_tickets', 'apply_to_addons', 'start_time', 'end_time', 'limit']¶
- widgets = {'description': <django.forms.widgets.Textarea object>, 'end_time': <django.forms.widgets.DateTimeInput object>, 'start_time': <django.forms.widgets.DateTimeInput object>}¶
- base_fields = {'apply_to_addons': <django.forms.fields.BooleanField object>, 'apply_to_tickets': <django.forms.fields.BooleanField object>, 'description': <django.forms.fields.CharField object>, 'end_time': <django.forms.fields.DateTimeField object>, 'is_active': <django.forms.fields.BooleanField object>, 'limit': <django.forms.fields.IntegerField object>, 'name': <django.forms.fields.CharField object>, 'percentage': <django.forms.fields.DecimalField object>, 'priority': <django.forms.fields.IntegerField object>, 'start_time': <django.forms.fields.DateTimeField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.BadgeTemplateForm[source]¶
Bases:
ModelFormForm for creating and editing badge templates.
Provides color input widgets for the color fields and a file input for the optional logo upload.
- class Meta[source]¶
Bases:
object- model¶
alias of
BadgeTemplate
- fields = ['name', 'slug', 'is_default', 'width_mm', 'height_mm', 'show_name', 'show_email', 'show_company', 'show_ticket_type', 'show_qr_code', 'show_conference_name', 'ticket_banner_position', 'font_name', 'font_body', 'background_color', 'text_color', 'accent_color', 'logo', 'background_image']¶
- widgets = {'accent_color': <django.forms.widgets.TextInput object>, 'background_color': <django.forms.widgets.TextInput object>, 'text_color': <django.forms.widgets.TextInput object>}¶
- base_fields = {'accent_color': <django.forms.fields.CharField object>, 'background_color': <django.forms.fields.CharField object>, 'background_image': <django.forms.fields.ImageField object>, 'font_body': <django.forms.fields.CharField object>, 'font_name': <django.forms.fields.CharField object>, 'height_mm': <django.forms.fields.IntegerField object>, 'is_default': <django.forms.fields.BooleanField object>, 'logo': <django.forms.fields.ImageField object>, 'name': <django.forms.fields.CharField object>, 'show_company': <django.forms.fields.BooleanField object>, 'show_conference_name': <django.forms.fields.BooleanField object>, 'show_email': <django.forms.fields.BooleanField object>, 'show_name': <django.forms.fields.BooleanField object>, 'show_qr_code': <django.forms.fields.BooleanField object>, 'show_ticket_type': <django.forms.fields.BooleanField object>, 'slug': <django.forms.fields.SlugField object>, 'text_color': <django.forms.fields.CharField object>, 'ticket_banner_position': <django.forms.fields.TypedChoiceField object>, 'width_mm': <django.forms.fields.IntegerField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.ExpenseCategoryForm[source]¶
Bases:
ModelFormForm for creating and editing expense categories.
- class Meta[source]¶
Bases:
object- model¶
alias of
ExpenseCategory
- fields = ['name', 'slug', 'description', 'budget_amount', 'order']¶
- widgets = {'description': <django.forms.widgets.Textarea object>}¶
- base_fields = {'budget_amount': <django.forms.fields.DecimalField object>, 'description': <django.forms.fields.CharField object>, 'name': <django.forms.fields.CharField object>, 'order': <django.forms.fields.IntegerField object>, 'slug': <django.forms.fields.SlugField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.
- class django_program.manage.forms.ExpenseForm[source]¶
Bases:
ModelFormForm for creating and editing individual expenses.
- class Meta[source]¶
Bases:
object- fields = ['category', 'description', 'amount', 'vendor', 'date', 'receipt_reference', 'notes']¶
- widgets = {'date': <django.forms.widgets.DateInput object>, 'notes': <django.forms.widgets.Textarea object>}¶
- base_fields = {'amount': <django.forms.fields.DecimalField object>, 'category': <django.forms.models.ModelChoiceField object>, 'date': <django.forms.fields.DateField object>, 'description': <django.forms.fields.CharField object>, 'notes': <django.forms.fields.CharField object>, 'receipt_reference': <django.forms.fields.CharField object>, 'vendor': <django.forms.fields.CharField object>}¶
- declared_fields = {}¶
- property media¶
Return all media required to render the widgets on this form.