Events

This is perhaps the largest module in the LNLDB project and is central to a lot of what the LNLDB does. It manages details about LNL’s services and event bookings.

Models

class events.models.BaseEvent(*args, **kwargs)[source]

This parent class is inherited by both Event and Event2019. It contains the parts of the old Event model that were kept in Event2019. The parts of the old Event model that were _not_ kept in Event2019 remain in the Event model.

Parameters:
  • id (AutoField) – Id (required)
  • polymorphic_ctype (ForeignKey to ContentType) – Polymorphic ctype
  • submitted_by (ForeignKey to User) – Submitted by (required)
  • submitted_ip (GenericIPAddressField) – Submitted ip (required)
  • submitted_on (DateTimeField) – Submitted on (required)
  • event_name (CharField) – Event name (required)
  • description (TextField) – Description
  • location (ForeignKey to Location) – Location (required)
  • contact (ForeignKey to User) – Contact
  • lnl_contact (ForeignKey to User) – Lnl contact
  • billing_org (ForeignKey to Organization) – Billing org
  • datetime_setup_complete (DateTimeField) – Datetime setup complete (required)
  • datetime_start (DateTimeField) – Datetime start (required)
  • datetime_end (DateTimeField) – Datetime end (required)
  • internal_notes (TextField) – Notes that the client and general body should never see.
  • billed_in_bulk (BooleanField) – Check if billing of this event will be deferred so that it can be combined with other events in a single invoice (default=False)
  • sensitive (BooleanField) – Nobody besides those directly involved should know about this event (default=False)
  • test_event (BooleanField) – Check to lower the VP’s blood pressure after they see the short-notice S4/L4 (default=False)
  • approved (BooleanField) – Approved (default=False)
  • approved_on (DateTimeField) – Approved on
  • approved_by (ForeignKey to User) – Approved by
  • reviewed (BooleanField) – Reviewed (default=False)
  • reviewed_on (DateTimeField) – Reviewed on
  • reviewed_by (ForeignKey to User) – Reviewed by
  • closed (BooleanField) – Closed (default=False)
  • closed_on (DateTimeField) – Closed on
  • closed_by (ForeignKey to User) – Closed by
  • cancelled (BooleanField) – Cancelled (default=False)
  • cancelled_on (DateTimeField) – Cancelled on
  • cancelled_by (ForeignKey to User) – Cancelled by
  • cancelled_reason (TextField) – Cancelled reason
  • org (ManyToManyField to Organization) – Client (required)
exception DoesNotExist
exception MultipleObjectsReturned
approved

BooleanField(default=False)

approved_by

ForeignKey(blank=True, null=True, related_name=”eventapprovals”, on_delete=PROTECT(), to= User)

approved_by_id

Raw (integer) FK for approved_by

approved_on

DateTimeField(blank=True, null=True)

arbitraryfees

Reverse Manager for events.EventArbitrary’s event

attachments

Reverse Manager for events.EventAttachment’s event

billed_in_bulk

BooleanField(db_index=True, default=False, help_text=”Check if billing of this event will be deferred so that it can be combined with other events in a single invoice”)

Billed in bulk: Check if billing of this event will be deferred so that it can be combined with other events in a single invoice

billing_org

ForeignKey(blank=True, null=True, related_name=”billedevents”, on_delete=PROTECT(), to= Organization)

billing_org_id

Raw (integer) FK for billing_org

billings

Reverse Manager for events.Billing’s event

cal_desc()[source]

Event description used by calendars

cal_end()[source]

End time used by calendars

cal_guid()[source]

Unique event id for use by calendars

Link to display on calendars

cal_location()[source]

Location data to display on calendars

cal_name()[source]

Title to display on calendars

cal_start()[source]

Start time used by calendars

cancelled

BooleanField(default=False)

cancelled_by

ForeignKey(blank=True, null=True, related_name=”eventcancellations”, on_delete=PROTECT(), to= User)

cancelled_by_id

Raw (integer) FK for cancelled_by

cancelled_on

DateTimeField(blank=True, null=True)

cancelled_reason

TextField(blank=True, null=True)

ccinstances

Reverse Manager for events.EventCCInstance’s event

ccreport_set

Reverse Manager for events.CCReport’s event

ccreportreminders

Reverse Manager for events.ReportReminder’s event

closed

BooleanField(default=False)

closed_by

ForeignKey(blank=True, null=True, related_name=”eventclosings”, on_delete=PROTECT(), to= User)

closed_by_id

Raw (integer) FK for closed_by

closed_on

DateTimeField(blank=True, null=True)

contact

ForeignKey(verbose_name=”Contact”, blank=True, null=True, related_name=”contact”, on_delete=PROTECT(), to= User)

contact_id

Raw (integer) FK for contact

crew_needing_reports

List of crew chiefs who have not yet submitted a CC report

datetime_end

DateTimeField()

datetime_nice
datetime_setup_complete

DateTimeField()

datetime_start

DateTimeField(db_index=True)

description

TextField(blank=True, null=True)

event

Accessor to the related object on the reverse side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

Place.restaurant is a ReverseOneToOneDescriptor instance.

event2019

Accessor to the related object on the reverse side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

Place.restaurant is a ReverseOneToOneDescriptor instance.

event_name

CharField(max_length=128, db_index=True)

eventcount
eventservices
extrainstance_set

Reverse Manager for events.ExtraInstance’s event

get_next_by_datetime_end(*, field=<django.db.models.fields.DateTimeField: datetime_end>, is_next=True, **kwargs)
get_next_by_datetime_setup_complete(*, field=<django.db.models.fields.DateTimeField: datetime_setup_complete>, is_next=True, **kwargs)
get_next_by_datetime_start(*, field=<django.db.models.fields.DateTimeField: datetime_start>, is_next=True, **kwargs)
get_next_by_submitted_on(*, field=<django.db.models.fields.DateTimeField: submitted_on>, is_next=True, **kwargs)
get_previous_by_datetime_end(*, field=<django.db.models.fields.DateTimeField: datetime_end>, is_next=False, **kwargs)
get_previous_by_datetime_setup_complete(*, field=<django.db.models.fields.DateTimeField: datetime_setup_complete>, is_next=False, **kwargs)
get_previous_by_datetime_start(*, field=<django.db.models.fields.DateTimeField: datetime_start>, is_next=False, **kwargs)
get_previous_by_submitted_on(*, field=<django.db.models.fields.DateTimeField: submitted_on>, is_next=False, **kwargs)
has_projection
hours

Reverse Manager for events.Hours’s event

id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

internal_notes

TextField(blank=True, null=True, help_text=”Notes that the client and general body should never see.”)

Internal notes: Notes that the client and general body should never see.

last_bill
last_billed
last_paid
late
lnl_contact

ForeignKey(verbose_name=”LNL Contact”, blank=True, null=True, related_name=”lnl_contact”, on_delete=PROTECT(), to= User)

lnl_contact_id

Raw (integer) FK for lnl_contact

location

ForeignKey(on_delete=PROTECT(), to= Location)

location_id

Raw (integer) FK for location

meetingannouncements

Reverse Manager for meetings.MeetingAnnounce’s events

meetingccnoticeevents

Reverse Manager for meetings.CCNoticeSend’s events

multibillings

Reverse Manager for events.MultiBilling’s events

num_crew_needing_reports
oneoff_total
oneoffs
org

Reverse Manager for events.BaseEvent’s org

org_to_be_billed
over
paid
polymorphic_ctype

ForeignKey(null=True, editable=False, related_name=”polymorphic_events.baseevent_set+”, on_delete=CASCADE(), to= ContentType)

polymorphic_primary_key_name = 'id'
polymorphic_super_sub_accessors_replaced = False
reports_editable

Returns false if too much time has elapsed since the end of the event

reviewed

BooleanField(default=False)

reviewed_by

ForeignKey(blank=True, null=True, related_name=”eventbillingreview”, on_delete=PROTECT(), to= User)

reviewed_by_id

Raw (integer) FK for reviewed_by

reviewed_on

DateTimeField(blank=True, null=True)

sensitive

BooleanField(default=False, help_text=”Nobody besides those directly involved should know about this event”)

Sensitive: Nobody besides those directly involved should know about this event

serviceinstance_set

Reverse Manager for events.ServiceInstance’s event

short_services
status
submitted_by

ForeignKey(related_name=”submitter”, on_delete=PROTECT(), to= User)

submitted_by_id

Raw (integer) FK for submitted_by

submitted_ip

GenericIPAddressField()

submitted_on

DateTimeField(db_index=True, auto_now_add=True)

surveys

Reverse Manager for events.PostEventSurvey’s event

test_event

BooleanField(default=False, help_text=”Check to lower the VP’s blood pressure after they see the short-notice S4/L4”)

Test event: Check to lower the VP’s blood pressure after they see the short-notice S4/L4

times_billed
unpaid
class events.models.Billing(*args, **kwargs)[source]

A billing instance that is sent to a client

Parameters:
  • id (AutoField) – Id (required)
  • date_billed (DateField) – Date billed (required)
  • date_paid (DateField) – Date paid
  • event (ForeignKey to BaseEvent) – Event (required)
  • amount (DecimalField) – Amount (required)
exception DoesNotExist
exception MultipleObjectsReturned
amount

DecimalField(max_digits=8, decimal_places=2)

billingemail_set

Reverse Manager for events.BillingEmail’s billing

date_billed

DateField()

date_paid

DateField(blank=True, null=True)

event

ForeignKey(related_name=”billings”, on_delete=CASCADE(), to= BaseEvent)

event_id

Raw (integer) FK for event

get_next_by_date_billed(*, field=<django.db.models.fields.DateField: date_billed>, is_next=True, **kwargs)
get_previous_by_date_billed(*, field=<django.db.models.fields.DateField: date_billed>, is_next=False, **kwargs)
id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

objects = <django.db.models.manager.Manager object>
class events.models.BillingEmail(*args, **kwargs)[source]

Billing information used in an email sent to a client

Parameters:
  • id (AutoField) – Id (required)
  • billing (ForeignKey to Billing) – Billing (required)
  • subject (CharField) – Subject (required)
  • message (TextField) – Message (required)
  • sent_at (DateTimeField) – Sent at
  • email_to_users (ManyToManyField to User) – Email to users (required)
  • email_to_orgs (ManyToManyField to Organization) – Email to orgs (required)
exception DoesNotExist
exception MultipleObjectsReturned
billing

ForeignKey(on_delete=CASCADE(), to= Billing)

billing_id

Raw (integer) FK for billing

email_to_orgs

Reverse Manager for events.BillingEmail’s email_to_orgs

email_to_users

Reverse Manager for events.BillingEmail’s email_to_users

id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

message

TextField()

objects = <django.db.models.manager.Manager object>
sent_at

DateTimeField(null=True)

subject

CharField(max_length=128)

class events.models.Building(*args, **kwargs)[source]

Used to group locations together in forms

Parameters:
  • id (AutoField) – Id (required)
  • name (CharField) – Name (required)
  • shortname (CharField) – Shortname (required)
exception DoesNotExist
exception MultipleObjectsReturned
id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

location_set

Reverse Manager for events.Location’s building

name

CharField(max_length=128)

objects = <django.db.models.manager.Manager object>
shortname

CharField(max_length=4)

class events.models.CCReport(*args, **kwargs)[source]

Crew Chief post-event report

Parameters:
  • id (AutoField) – Id (required)
  • crew_chief (ForeignKey to User) – Crew chief (required)
  • event (ForeignKey to BaseEvent) – Event (required)
  • report (TextField) – Report (required)
  • created_on (DateTimeField) – Created on (required)
  • updated_on (DateTimeField) – Updated on (required)
  • for_service_cat (ManyToManyField to Category) – Services (required)
exception DoesNotExist
exception MultipleObjectsReturned
created_on

DateTimeField(auto_now_add=True)

crew_chief

ForeignKey(on_delete=PROTECT(), to= User)

crew_chief_id

Raw (integer) FK for crew_chief

event

ForeignKey(on_delete=CASCADE(), to= BaseEvent)

event_id

Raw (integer) FK for event

for_service_cat

Reverse Manager for events.CCReport’s for_service_cat

get_next_by_created_on(*, field=<django.db.models.fields.DateTimeField: created_on>, is_next=True, **kwargs)
get_next_by_updated_on(*, field=<django.db.models.fields.DateTimeField: updated_on>, is_next=True, **kwargs)
get_previous_by_created_on(*, field=<django.db.models.fields.DateTimeField: created_on>, is_next=False, **kwargs)
get_previous_by_updated_on(*, field=<django.db.models.fields.DateTimeField: updated_on>, is_next=False, **kwargs)
glyphicon = 'comment'
id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

objects = <django.db.models.manager.Manager object>
pretty_cat_list

Generates a nice list of the respective service categories

report

TextField(validators=[<django.core.validators.MinLengthValidator object at 0x7f2af49fe650>])

updated_on

DateTimeField(auto_now=True)

class events.models.Category(*args, **kwargs)[source]

A category

Parameters:
  • id (AutoField) – Id (required)
  • name (CharField) – Name (required)
exception DoesNotExist
exception MultipleObjectsReturned
ccinstances

Reverse Manager for events.EventCCInstance’s category

ccreport_set

Reverse Manager for events.CCReport’s for_service_cat

extra_set

Reverse Manager for events.Extra’s category

hours

Reverse Manager for events.Hours’s category

id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

name

CharField(max_length=16)

objects = <django.db.models.manager.Manager object>
service_set

Reverse Manager for events.Service’s category

class events.models.CrewAttendanceRecord(*args, **kwargs)[source]

Checkin and checkout times for a crew member attending an event

Parameters:
  • id (AutoField) – Id (required)
  • user (ForeignKey to User) – User (required)
  • event (ForeignKey to Event2019) – Event
  • checkin (DateTimeField) – Checkin (default=<function now at 0x7f2af5e248c0>)
  • checkout (DateTimeField) – Checkout
  • active (BooleanField) – Active (default=True)
exception DoesNotExist
exception MultipleObjectsReturned
active

BooleanField(default=True)

checkin

DateTimeField(default=now())

checkout

DateTimeField(blank=True, null=True)

event

ForeignKey(null=True, related_name=”crew_attendance”, on_delete=SET_NULL(), to= Event2019)

event_id

Raw (integer) FK for event

get_next_by_checkin(*, field=<django.db.models.fields.DateTimeField: checkin>, is_next=True, **kwargs)
get_previous_by_checkin(*, field=<django.db.models.fields.DateTimeField: checkin>, is_next=False, **kwargs)
id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

objects = <django.db.models.manager.Manager object>
user

ForeignKey(related_name=”event_records”, on_delete=CASCADE(), to= User)

user_id

Raw (integer) FK for user

class events.models.Event(*args, **kwargs)[source]

An Event, What everything ends up pointing to

This model is full of old garbage that was not kept in Event2019. Let it rest in peace.

Parameters:
  • id (AutoField) – Id (required)
  • polymorphic_ctype (ForeignKey to ContentType) – Polymorphic ctype
  • submitted_by (ForeignKey to User) – Submitted by (required)
  • submitted_ip (GenericIPAddressField) – Submitted ip (required)
  • submitted_on (DateTimeField) – Submitted on (required)
  • event_name (CharField) – Event name (required)
  • description (TextField) – Description
  • location (ForeignKey to Location) – Location (required)
  • contact (ForeignKey to User) – Contact
  • lnl_contact (ForeignKey to User) – Lnl contact
  • billing_org (ForeignKey to Organization) – Billing org
  • datetime_setup_complete (DateTimeField) – Datetime setup complete (required)
  • datetime_start (DateTimeField) – Datetime start (required)
  • datetime_end (DateTimeField) – Datetime end (required)
  • internal_notes (TextField) – Notes that the client and general body should never see.
  • billed_in_bulk (BooleanField) – Check if billing of this event will be deferred so that it can be combined with other events in a single invoice (default=False)
  • sensitive (BooleanField) – Nobody besides those directly involved should know about this event (default=False)
  • test_event (BooleanField) – Check to lower the VP’s blood pressure after they see the short-notice S4/L4 (default=False)
  • approved (BooleanField) – Approved (default=False)
  • approved_on (DateTimeField) – Approved on
  • approved_by (ForeignKey to User) – Approved by
  • reviewed (BooleanField) – Reviewed (default=False)
  • reviewed_on (DateTimeField) – Reviewed on
  • reviewed_by (ForeignKey to User) – Reviewed by
  • closed (BooleanField) – Closed (default=False)
  • closed_on (DateTimeField) – Closed on
  • closed_by (ForeignKey to User) – Closed by
  • cancelled (BooleanField) – Cancelled (default=False)
  • cancelled_on (DateTimeField) – Cancelled on
  • cancelled_by (ForeignKey to User) – Cancelled by
  • cancelled_reason (TextField) – Cancelled reason
  • org (ManyToManyField to Organization) – Client (required)
  • baseevent_ptr (OneToOneField to BaseEvent) – Baseevent ptr (required)
  • datetime_setup_start (DateTimeField) – Datetime setup start
  • lighting (ForeignKey to Lighting) – Lighting
  • sound (ForeignKey to Sound) – Sound
  • projection (ForeignKey to Projection) – Projection
  • lighting_reqs (TextField) – Lighting reqs
  • sound_reqs (TextField) – Sound reqs
  • proj_reqs (TextField) – Proj reqs
  • otherservice_reqs (TextField) – Otherservice reqs
  • setup_location (ForeignKey to Location) – Setup location
  • payment_amount (IntegerField) – Payment amount (default=None)
  • ccs_needed (PositiveIntegerField) – Ccs needed (default=0)
  • otherservices (ManyToManyField to Service) – Otherservices (required)
  • crew_chief (ManyToManyField to User) – Crew chief (required)
  • crew (ManyToManyField to User) – Crew (required)
exception DoesNotExist
exception MultipleObjectsReturned
allservices
attachment_for_lighting
attachment_for_projection
attachment_for_sound
baseevent_ptr

OneToOneField(primary_key=True, serialize=False, auto_created=True, on_delete=CASCADE(), parent_link=True, to= BaseEvent)

baseevent_ptr_id

Raw (integer) FK for baseevent_ptr

ccreport_url()[source]
ccs_needed

PositiveIntegerField(db_index=True, default=0)

contact_addr
contact_email
contact_name
contact_phone
cost_lighting_extras
cost_lighting_total
cost_other_extras
cost_other_services
cost_projection_extras
cost_projection_total
cost_sound_extras
cost_sound_total
cost_total
cost_total_pre_discount
crew

Reverse Manager for events.Event’s crew

crew_chief

Reverse Manager for events.Event’s crew_chief

datetime_setup_start

DateTimeField(blank=True, null=True, db_index=True)

discount_applied
discount_value
event_mg = <events.models.EventManager object>
eventcount
eventservices
extras_lighting
extras_other
extras_projection
extras_sound
extras_total
firstorg()[source]
glyphicon = 'bullhorn'
has_projection
lighting

ForeignKey(blank=True, null=True, related_name=”lighting”, on_delete=PROTECT(), to= Lighting)

lighting_id

Raw (integer) FK for lighting

lighting_reqs

TextField(blank=True, null=True)

objects = <events.models.OptimizedEventManager object>
otherservice_reqs

TextField(blank=True, null=True)

otherservices

Reverse Manager for events.Event’s otherservices

payment_amount

IntegerField(blank=True, null=True, default=None)

person_name
polymorphic_primary_key_name = 'id'
polymorphic_super_sub_accessors_replaced = False
pretty_title
proj_reqs

TextField(blank=True, null=True)

projection

ForeignKey(blank=True, null=True, related_name=”projection”, on_delete=PROTECT(), to= Projection)

projection_id

Raw (integer) FK for projection

return_orgs_and_associates()[source]
save(force_insert=False, force_update=False, using=None, update_fields=None)[source]

Calls pre_save_polymorphic() and saves the model.

services_other
setup_location

ForeignKey(blank=True, null=True, related_name=”setuplocation”, on_delete=PROTECT(), to= Location)

setup_location_id

Raw (integer) FK for setup_location

short_services
sound

ForeignKey(blank=True, null=True, related_name=”sound”, on_delete=PROTECT(), to= Sound)

sound_id

Raw (integer) FK for sound

sound_reqs

TextField(blank=True, null=True)

usercanseeevent(user)[source]
class events.models.Event2019(*args, **kwargs)[source]

New events under the 2019 pricelist

Parameters:
  • id (AutoField) – Id (required)
  • polymorphic_ctype (ForeignKey to ContentType) – Polymorphic ctype
  • submitted_by (ForeignKey to User) – Submitted by (required)
  • submitted_ip (GenericIPAddressField) – Submitted ip (required)
  • submitted_on (DateTimeField) – Submitted on (required)
  • event_name (CharField) – Event name (required)
  • description (TextField) – Description
  • location (ForeignKey to Location) – Location (required)
  • contact (ForeignKey to User) – Contact
  • lnl_contact (ForeignKey to User) – Lnl contact
  • billing_org (ForeignKey to Organization) – Billing org
  • datetime_setup_complete (DateTimeField) – Datetime setup complete (required)
  • datetime_start (DateTimeField) – Datetime start (required)
  • datetime_end (DateTimeField) – Datetime end (required)
  • internal_notes (TextField) – Notes that the client and general body should never see.
  • billed_in_bulk (BooleanField) – Check if billing of this event will be deferred so that it can be combined with other events in a single invoice (default=False)
  • sensitive (BooleanField) – Nobody besides those directly involved should know about this event (default=False)
  • test_event (BooleanField) – Check to lower the VP’s blood pressure after they see the short-notice S4/L4 (default=False)
  • approved (BooleanField) – Approved (default=False)
  • approved_on (DateTimeField) – Approved on
  • approved_by (ForeignKey to User) – Approved by
  • reviewed (BooleanField) – Reviewed (default=False)
  • reviewed_on (DateTimeField) – Reviewed on
  • reviewed_by (ForeignKey to User) – Reviewed by
  • closed (BooleanField) – Closed (default=False)
  • closed_on (DateTimeField) – Closed on
  • closed_by (ForeignKey to User) – Closed by
  • cancelled (BooleanField) – Cancelled (default=False)
  • cancelled_on (DateTimeField) – Cancelled on
  • cancelled_by (ForeignKey to User) – Cancelled by
  • cancelled_reason (TextField) – Cancelled reason
  • org (ManyToManyField to Organization) – Client (required)
  • baseevent_ptr (OneToOneField to BaseEvent) – Baseevent ptr (required)
  • workday_fund (IntegerField) – Workday fund
  • worktag (CharField) – Worktag
  • workday_form_comments (TextField) – Workday form comments
  • workday_entered_by (ForeignKey to User) – Workday entered by
  • entered_into_workday (BooleanField) – Checked when the Treasurer has created an Internal Service Delivery in Workday for this event (default=False)
  • send_survey (BooleanField) – Check if the event contact should be emailed the post-event survey after the event (default=True)
  • survey_sent (BooleanField) – The post-event survey has been sent to the client (default=False)
  • max_crew (PositiveIntegerField) – Max crew
  • reference_code (CharField) – The 25Live reference code, found on the event page
  • event_id (IntegerField) – The 25Live event ID. If not provided, it will be generated from the reference code.
exception DoesNotExist
exception MultipleObjectsReturned
allservices
baseevent_ptr

OneToOneField(primary_key=True, serialize=False, auto_created=True, on_delete=CASCADE(), parent_link=True, to= BaseEvent)

baseevent_ptr_id

Raw (integer) FK for baseevent_ptr

cost_total
cost_total_pre_discount
crew_attendance

Reverse Manager for events.CrewAttendanceRecord’s event

discount_applied
discount_value
entered_into_workday

BooleanField(default=False, help_text=”Checked when the Treasurer has created an Internal Service Delivery in Workday for this event”)

Entered into workday: Checked when the Treasurer has created an Internal Service Delivery in Workday for this event

event_id

IntegerField(blank=True, null=True, help_text=”The 25Live event ID. If not provided, it will be generated from the reference code.”)

Event id: The 25Live event ID. If not provided, it will be generated from the reference code.

eventcount

Number of different types of services provided (based on category)

eventservices
extras_total
get_workday_fund_display(*, field=<django.db.models.fields.IntegerField: workday_fund>)
has_projection
max_crew

PositiveIntegerField(blank=True, null=True)

polymorphic_primary_key_name = 'id'
polymorphic_super_sub_accessors_replaced = False
reference_code

CharField(max_length=12, blank=True, null=True, help_text=”The 25Live reference code, found on the event page”)

Reference code: The 25Live reference code, found on the event page

send_survey

BooleanField(default=True, help_text=”Check if the event contact should be emailed the post-event survey after the event”)

Send survey: Check if the event contact should be emailed the post-event survey after the event

services_total
session_set

Reverse Manager for spotify.Session’s event

short_services
survey_sent

BooleanField(default=False, help_text=”The post-event survey has been sent to the client”)

Survey sent: The post-event survey has been sent to the client

workday_entered_by

ForeignKey(blank=True, null=True, related_name=”workdayentries”, on_delete=PROTECT(), to= User)

workday_entered_by_id

Raw (integer) FK for workday_entered_by

workday_form_comments

TextField(blank=True, null=True)

workday_form_hash
workday_fund

IntegerField(blank=True, null=True, choices=[(810, ‘Student Organization (810-FD)’), (110, ‘Operating (110-FD)’), (220, ‘Gift (220-FD)’), (250, ‘Gift (250-FD)’), (500, ‘Gift (500-FD)’), (210, ‘Grant (210-FD)’), (900, ‘Project (900-FD)’), (120, ‘Designated (120-FD)’)])

worktag

CharField(max_length=10, blank=True, null=True)

class events.models.EventArbitrary(*args, **kwargs)[source]

Additional “OneOff” charges (i.e. rentals, additional fees)

Parameters:
  • id (AutoField) – Id (required)
  • event (ForeignKey to BaseEvent) – Event (required)
  • key_name (CharField) – Key name (required)
  • key_value (DecimalField) – Key value (required)
  • key_quantity (PositiveSmallIntegerField) – Key quantity (default=1)
exception DoesNotExist
exception MultipleObjectsReturned
abs_cost
event

ForeignKey(related_name=”arbitraryfees”, on_delete=CASCADE(), to= BaseEvent)

event_id

Raw (integer) FK for event

id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

key_name

CharField(max_length=64)

key_quantity

PositiveSmallIntegerField(default=1)

key_value

DecimalField(max_digits=8, decimal_places=2)

negative
objects = <django.db.models.manager.Manager object>
totalcost
class events.models.EventAttachment(id, event, attachment, note, externally_uploaded)[source]
Parameters:
  • id (AutoField) – Id (required)
  • event (ForeignKey to BaseEvent) – Event (required)
  • attachment (FileField) – Attachment (required)
  • note (TextField) – Note (default=)
  • externally_uploaded (BooleanField) – Externally uploaded (default=False)
  • for_service (ManyToManyField to Service) – For service (required)
exception DoesNotExist
exception MultipleObjectsReturned
attachment

The descriptor for the file attribute on the model instance. Return a FieldFile when accessed so you can write code like:

>>> from myapp.models import MyModel
>>> instance = MyModel.objects.get(pk=1)
>>> instance.file.size

Assign a file object on assignment so you can do:

>>> with open('/path/to/hello.world') as f:
...     instance.file = File(f)
event

ForeignKey(related_name=”attachments”, on_delete=CASCADE(), to= BaseEvent)

event_id

Raw (integer) FK for event

externally_uploaded

BooleanField(default=False)

for_service

Reverse Manager for events.EventAttachment’s for_service

id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

note

TextField(blank=True, null=True, default=””)

objects = <django.db.models.manager.Manager object>
class events.models.EventCCInstance(*args, **kwargs)[source]

This is the crew chief instance for a particular event

Parameters:
  • id (AutoField) – Id (required)
  • event (ForeignKey to BaseEvent) – Event (required)
  • crew_chief (ForeignKey to User) – Crew chief (required)
  • category (ForeignKey to Category) – Category (required)
  • service (ForeignKey to Service) – Service
  • setup_location (ForeignKey to Location) – Setup location (required)
  • setup_start (DateTimeField) – Setup start
exception DoesNotExist
exception MultipleObjectsReturned
cal_desc()[source]

Description used by calendars

cal_end()[source]

End time used by calendars

cal_guid()[source]

Unique event id used by calendars

Link to display on calendars

cal_location()[source]

Location used by calendars

cal_name()[source]

Title used by calendars

cal_start()[source]

Start time used by calendars (setup)

category

ForeignKey(related_name=”ccinstances”, on_delete=PROTECT(), to= Category)

category_id

Raw (integer) FK for category

crew_chief

ForeignKey(related_name=”ccinstances”, on_delete=CASCADE(), to= User)

crew_chief_id

Raw (integer) FK for crew_chief

event

ForeignKey(related_name=”ccinstances”, on_delete=CASCADE(), to= BaseEvent)

event_id

Raw (integer) FK for event

id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

objects = <django.db.models.manager.Manager object>
service

ForeignKey(null=True, related_name=”ccinstances”, on_delete=PROTECT(), to= Service)

service_id

Raw (integer) FK for service

setup_location

ForeignKey(related_name=”ccinstances”, on_delete=PROTECT(), to= Location)

setup_location_id

Raw (integer) FK for setup_location

setup_start

DateTimeField(blank=True, null=True)

class events.models.EventManager[source]

This object consumes the output of the multi step workorder form

consume_workorder_formwiz(form_fields, wiz)[source]
class events.models.Extra(*args, **kwargs)[source]

An additional item or service to be added to an event (i.e. mirror ball)

Parameters:
  • id (AutoField) – Id (required)
  • name (CharField) – Name (required)
  • cost (DecimalField) – Cost (required)
  • desc (TextField) – Desc (required)
  • category (ForeignKey to Category) – Category (required)
  • disappear (BooleanField) – Disappear this extra instead of disable (default=False)
  • checkbox (BooleanField) – Use a checkbox instead of an integer entry (default=False)
  • services (ManyToManyField to Service) – Services (required)
exception DoesNotExist
exception MultipleObjectsReturned
category

ForeignKey(on_delete=PROTECT(), to= Category)

category_id

Raw (integer) FK for category

checkbox

BooleanField(default=False, help_text=”Use a checkbox instead of an integer entry”)

Checkbox: Use a checkbox instead of an integer entry

cost

DecimalField(max_digits=8, decimal_places=2)

desc

TextField()

disappear

BooleanField(default=False, help_text=”Disappear this extra instead of disable”)

Disappear: Disappear this extra instead of disable

extrainstance_set

Reverse Manager for events.ExtraInstance’s extra

formfield
id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

name

CharField(max_length=64)

objects = <django.db.models.manager.Manager object>
services

Reverse Manager for events.Extra’s services

class events.models.ExtraInstance(*args, **kwargs)[source]

An instance of a given extra attached to an event

Parameters:
  • id (AutoField) – Id (required)
  • event (ForeignKey to BaseEvent) – Event (required)
  • extra (ForeignKey to Extra) – Extra (required)
  • quant (PositiveIntegerField) – Quant (required)
exception DoesNotExist
exception MultipleObjectsReturned
cost
event

ForeignKey(on_delete=CASCADE(), to= BaseEvent)

event_id

Raw (integer) FK for event

extra

ForeignKey(on_delete=PROTECT(), to= Extra)

extra_id

Raw (integer) FK for extra

id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

objects = <django.db.models.manager.Manager object>
quant

PositiveIntegerField()

totalcost
class events.models.Hours(*args, **kwargs)[source]

Number of hours a particular crew member put in working at a particular event

Parameters:
  • id (AutoField) – Id (required)
  • event (ForeignKey to BaseEvent) – Event (required)
  • category (ForeignKey to Category) – Category
  • service (ForeignKey to Service) – Service
  • user (ForeignKey to User) – User (required)
  • hours (DecimalField) – Hours
exception DoesNotExist
exception MultipleObjectsReturned
category

ForeignKey(blank=True, null=True, related_name=”hours”, on_delete=PROTECT(), to= Category)

category_id

Raw (integer) FK for category

event

ForeignKey(related_name=”hours”, on_delete=CASCADE(), to= BaseEvent)

event_id

Raw (integer) FK for event

hours

DecimalField(blank=True, null=True, max_digits=7, decimal_places=2)

id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

objects = <django.db.models.manager.Manager object>
service

ForeignKey(blank=True, null=True, related_name=”hours”, on_delete=PROTECT(), to= Service)

service_id

Raw (integer) FK for service

user

ForeignKey(related_name=”hours”, on_delete=CASCADE(), to= User)

user_id

Raw (integer) FK for user

class events.models.Lighting(id, shortname, longname, base_cost, addtl_cost, category, help_desc, enabled_event2012, enabled_event2019, service_ptr)[source]
Parameters:
  • id (AutoField) – Id (required)
  • shortname (CharField) – Shortname (required)
  • longname (CharField) – Longname (required)
  • base_cost (DecimalField) – Base cost (required)
  • addtl_cost (DecimalField) – Addtl cost (required)
  • category (ForeignKey to Category) – Category (required)
  • help_desc (TextField) – Help desc
  • enabled_event2012 (BooleanField) – Enabled for 2012 events (default=False)
  • enabled_event2019 (BooleanField) – Enabled for 2019 events (default=True)
  • service_ptr (OneToOneField to Service) – Service ptr (required)
exception DoesNotExist
exception MultipleObjectsReturned
lighting

Reverse Manager for events.Event’s lighting

service_ptr

OneToOneField(primary_key=True, serialize=False, auto_created=True, on_delete=CASCADE(), parent_link=True, to= Service)

service_ptr_id

Raw (integer) FK for service_ptr

class events.models.Location(*args, **kwargs)[source]

A place where an event, event setup or meeting can happen

Parameters:
  • id (AutoField) – Id (required)
  • name (CharField) – Name (required)
  • setup_only (BooleanField) – Setup only (default=False)
  • show_in_wo_form (BooleanField) – Event location (default=True)
  • available_for_meetings (BooleanField) – Available for meetings (default=False)
  • holds_equipment (BooleanField) – Holds equipment (default=False)
  • building (ForeignKey to Building) – Building (required)
exception DoesNotExist
exception MultipleObjectsReturned
available_for_meetings

BooleanField(default=False)

baseevent_set

Reverse Manager for events.BaseEvent’s location

building

ForeignKey(on_delete=CASCADE(), to= Building)

building_id

Raw (integer) FK for building

ccinstances

Reverse Manager for events.EventCCInstance’s setup_location

equipmentcategory_set

Reverse Manager for inventory.EquipmentCategory’s usual_place

equipmentitem_set

Reverse Manager for inventory.EquipmentItem’s home

holds_equipment

BooleanField(default=False)

id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

meeting_set

Reverse Manager for meetings.Meeting’s location

name

CharField(max_length=64)

objects = <django.db.models.manager.Manager object>
office_hours

Reverse Manager for events.OfficeHour’s location

setup_only

BooleanField(default=False)

setuplocation

Reverse Manager for events.Event’s setup_location

show_in_wo_form

BooleanField(verbose_name=”Event Location”, default=True)

class events.models.MultiBilling(*args, **kwargs)[source]

A billing instance for multiple events that is sent to a client

Parameters:
  • id (AutoField) – Id (required)
  • date_billed (DateField) – Date billed (required)
  • date_paid (DateField) – Date paid
  • org (ForeignKey to Organization) – Org
  • amount (DecimalField) – Amount (required)
  • events (ManyToManyField to BaseEvent) – Events (required)
exception DoesNotExist
exception MultipleObjectsReturned
amount

DecimalField(max_digits=8, decimal_places=2)

date_billed

DateField()

date_paid

DateField(blank=True, null=True)

events

Reverse Manager for events.MultiBilling’s events

get_next_by_date_billed(*, field=<django.db.models.fields.DateField: date_billed>, is_next=True, **kwargs)
get_previous_by_date_billed(*, field=<django.db.models.fields.DateField: date_billed>, is_next=False, **kwargs)
id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

multibillingemail_set

Reverse Manager for events.MultiBillingEmail’s multibilling

objects = <django.db.models.manager.Manager object>
org

ForeignKey(null=True, related_name=”multibillings”, on_delete=PROTECT(), to= Organization)

org_id

Raw (integer) FK for org

class events.models.MultiBillingEmail(*args, **kwargs)[source]

Billing information used in an email sent to a client (multiple events)

Parameters:
  • id (AutoField) – Id (required)
  • multibilling (ForeignKey to MultiBilling) – Multibilling (required)
  • subject (CharField) – Subject (required)
  • message (TextField) – Message (required)
  • sent_at (DateTimeField) – Sent at
  • email_to_users (ManyToManyField to User) – Email to users (required)
  • email_to_orgs (ManyToManyField to Organization) – Email to orgs (required)
exception DoesNotExist
exception MultipleObjectsReturned
email_to_orgs

Reverse Manager for events.MultiBillingEmail’s email_to_orgs

email_to_users

Reverse Manager for events.MultiBillingEmail’s email_to_users

id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

message

TextField()

multibilling

ForeignKey(on_delete=CASCADE(), to= MultiBilling)

multibilling_id

Raw (integer) FK for multibilling

objects = <django.db.models.manager.Manager object>
sent_at

DateTimeField(null=True)

subject

CharField(max_length=128)

class events.models.OfficeHour(*args, **kwargs)[source]

A listing for an officer’s Office Hours

Parameters:
  • id (AutoField) – Id (required)
  • officer (ForeignKey to User) – Officer (required)
  • day (IntegerField) – Day (required)
  • hour_start (TimeField) – Start time (required)
  • hour_end (TimeField) – End time (required)
  • location (ForeignKey to Location) – Location (required)
exception DoesNotExist
exception MultipleObjectsReturned
day

IntegerField(choices=[(0, ‘Sunday’), (1, ‘Monday’), (2, ‘Tuesday’), (3, ‘Wednesday’), (4, ‘Thursday’), (5, ‘Friday’), (6, ‘Saturday’)])

get_day
get_day_display(*, field=<django.db.models.fields.IntegerField: day>)
hour_end

TimeField(verbose_name=”End Time”)

hour_start

TimeField(verbose_name=”Start Time”)

id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

location

ForeignKey(related_name=”office_hours”, on_delete=CASCADE(), to= Location)

location_id

Raw (integer) FK for location

objects = <django.db.models.manager.Manager object>
officer

ForeignKey(on_delete=CASCADE(), to= User)

officer_id

Raw (integer) FK for officer

class events.models.OptimizedEventManager[source]
get_queryset()[source]

Return a new QuerySet object. Subclasses can override this method to customize the behavior of the Manager.

class events.models.OrgBillingVerificationEvent(id, org, date, verified_by, note)[source]
Parameters:
  • id (AutoField) – Id (required)
  • org (ForeignKey to Organization) – Org (required)
  • date (DateField) – Date (required)
  • verified_by (ForeignKey to User) – Verified by (required)
  • note (TextField) – Note
exception DoesNotExist
exception MultipleObjectsReturned
date

DateField()

get_next_by_date(*, field=<django.db.models.fields.DateField: date>, is_next=True, **kwargs)
get_previous_by_date(*, field=<django.db.models.fields.DateField: date>, is_next=False, **kwargs)
id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

note

TextField(blank=True, null=True)

objects = <django.db.models.manager.Manager object>
org

ForeignKey(related_name=”verifications”, on_delete=CASCADE(), to= Organization)

org_id

Raw (integer) FK for org

verified_by

ForeignKey(related_name=”verification_events”, on_delete=CASCADE(), to= User)

verified_by_id

Raw (integer) FK for verified_by

class events.models.Organization(*args, **kwargs)[source]

AKA: A Client

Parameters:
  • id (AutoField) – Id (required)
  • name (CharField) – Name (required)
  • shortname (CharField) – Shortname
  • email (EmailField) – Normal_email_unused
  • exec_email (EmailField) – Email
  • email_exec (BooleanField) – Email exec (default=True)
  • email_normal (BooleanField) – Email normal (default=False)
  • address (TextField) – Address
  • phone (CharField) – Phone (required)
  • workday_fund (IntegerField) – Workday fund
  • worktag (CharField) – Worktag
  • user_in_charge (ForeignKey to User) – User in charge (required)
  • notes (TextField) – Notes
  • personal (BooleanField) – Personal (default=False)
  • delinquent (BooleanField) – Delinquent (default=False)
  • last_updated (DateTimeField) – Last updated (required)
  • archived (BooleanField) – Archived (default=False)
  • locked (BooleanField) – Locked (default=False)
  • associated_users (ManyToManyField to User) – Associated users (required)
  • associated_orgs (ManyToManyField to Organization) – Associated clients (required)
exception DoesNotExist
exception MultipleObjectsReturned
address

TextField(blank=True, null=True)

archived

BooleanField(default=False)

associated_orgs

Reverse Manager for events.Organization’s associated_orgs

associated_users

Reverse Manager for events.Organization’s associated_users

billedevents

Reverse Manager for events.BaseEvent’s billing_org

billingemail_set

Reverse Manager for events.BillingEmail’s email_to_orgs

delinquent

BooleanField(default=False)

email

CharField(verbose_name=”normal_email_unused”, max_length=254, blank=True, null=True)

email_exec

BooleanField(default=True)

email_normal

BooleanField(default=False)

eventcount
events

Reverse Manager for events.BaseEvent’s org

exec_email

CharField(verbose_name=”Email”, max_length=254, null=True)

get_absolute_url()[source]
get_next_by_last_updated(*, field=<django.db.models.fields.DateTimeField: last_updated>, is_next=True, **kwargs)
get_previous_by_last_updated(*, field=<django.db.models.fields.DateTimeField: last_updated>, is_next=False, **kwargs)
get_workday_fund_display(*, field=<django.db.models.fields.IntegerField: workday_fund>)
glyphicon = 'education'
id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

last_updated

DateTimeField(auto_now=True)

locked

BooleanField(blank=True, default=False)

multibillingemail_set

Reverse Manager for events.MultiBillingEmail’s email_to_orgs

multibillings

Reverse Manager for events.MultiBilling’s org

name

CharField(max_length=128, unique=True)

notes

TextField(blank=True, null=True)

objects = <django.db.models.manager.Manager object>
organizationtransfer_set

Reverse Manager for events.OrganizationTransfer’s org

personal

BooleanField(default=False)

phone

CharField(max_length=32)

retname
shortname

CharField(max_length=8, blank=True, null=True)

user_in_charge

ForeignKey(related_name=”orgowner”, on_delete=PROTECT(), to= User)

user_in_charge_id

Raw (integer) FK for user_in_charge

verifications

Reverse Manager for events.OrgBillingVerificationEvent’s org

workday_fund

IntegerField(blank=True, null=True, choices=[(810, ‘Student Organization (810-FD)’), (110, ‘Operating (110-FD)’), (220, ‘Gift (220-FD)’), (250, ‘Gift (250-FD)’), (500, ‘Gift (500-FD)’), (210, ‘Grant (210-FD)’), (900, ‘Project (900-FD)’), (120, ‘Designated (120-FD)’)])

worktag

CharField(max_length=10, blank=True, null=True)

class events.models.OrganizationTransfer(*args, **kwargs)[source]

Record of a transfer of ownership between two users for a particular organization

Parameters:
  • id (AutoField) – Id (required)
  • initiator (ForeignKey to User) – Initiator (required)
  • new_user_in_charge (ForeignKey to User) – New user in charge (required)
  • old_user_in_charge (ForeignKey to User) – Old user in charge (required)
  • org (ForeignKey to Organization) – Org (required)
  • uuid (UUIDField) – Uuid (required)
  • created (DateTimeField) – Created (required)
  • completed_on (DateTimeField) – Completed on
  • expiry (DateTimeField) – Expiry
  • completed (BooleanField) – Completed (default=False)
exception DoesNotExist
exception MultipleObjectsReturned
completed

BooleanField(default=False)

completed_on

DateTimeField(blank=True, null=True)

created

DateTimeField(auto_now=True)

expiry

DateTimeField(blank=True, null=True)

get_next_by_created(*, field=<django.db.models.fields.DateTimeField: created>, is_next=True, **kwargs)
get_previous_by_created(*, field=<django.db.models.fields.DateTimeField: created>, is_next=False, **kwargs)
id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

initiator

ForeignKey(related_name=”xfer_initiated”, on_delete=CASCADE(), to= User)

initiator_id

Raw (integer) FK for initiator

is_expired
new_user_in_charge

ForeignKey(related_name=”xfer_new”, on_delete=CASCADE(), to= User)

new_user_in_charge_id

Raw (integer) FK for new_user_in_charge

objects = <django.db.models.manager.Manager object>
old_user_in_charge

ForeignKey(related_name=”xfer_old”, on_delete=CASCADE(), to= User)

old_user_in_charge_id

Raw (integer) FK for old_user_in_charge

org

ForeignKey(on_delete=CASCADE(), to= Organization)

org_id

Raw (integer) FK for org

uuid

UUIDField()

class events.models.PostEventSurvey(*args, **kwargs)[source]

Survey sent to clients after an event to collect their feedback

Parameters:
  • id (AutoField) – Id (required)
  • event (ForeignKey to BaseEvent) – Event (required)
  • person (ForeignKey to User) – Person (required)
  • services_quality (IntegerField) – Please rate the overall quality of the services lens and lights provided. (required)
  • lighting_quality (IntegerField) – How satisfied were you with the lighting? (required)
  • sound_quality (IntegerField) – How satisfied were you with the sound system? (required)
  • work_order_method (IntegerField) – How did you submit the workorder? (required)
  • work_order_experience (IntegerField) – How would you rate your overall experience using the workorder tool? (default=-1)
  • work_order_ease (IntegerField) – How would you rate the workorder tool’s clarity and ease of use? (default=-1)
  • work_order_comments (TextField) – Please provide any additional comments you may have regarding your experience with the workorder tool. is there anything you would like to see us improve? (required)
  • communication_responsiveness (IntegerField) – Lens and lights was responsive to my communications. (required)
  • pricelist_ux (IntegerField) – It was easy to determine which services to request and i had no problem finding what i needed. (required)
  • setup_on_time (IntegerField) – My event was set up and the crew was ready on time. (required)
  • crew_respectfulness (IntegerField) – When interacting with the crew, they were helpful and respectful. (required)
  • price_appropriate (IntegerField) – The price quoted for the event matched my expectations and was appropriate for the services provided. (required)
  • customer_would_return (IntegerField) – I would use lens and lights in the future. (required)
  • comments (TextField) – Please use this area to provide any additional feedback you may have about your event. (required)
exception DoesNotExist
exception MultipleObjectsReturned
comments

TextField(verbose_name=”Please use this area to provide any additional feedback you may have about your event.”, blank=True)

communication_responsiveness

IntegerField(verbose_name=”Lens and Lights was responsive to my communications.”, choices=[(-1, ‘Not applicable’), (0, ‘Strongly disagree’), (1, ‘Disagree’), (2, ‘Neither agree nor disagree’), (3, ‘Agree’), (4, ‘Strongly agree’)])

crew_respectfulness

IntegerField(verbose_name=”When interacting with the crew, they were helpful and respectful.”, choices=[(-1, ‘Not applicable’), (0, ‘Strongly disagree’), (1, ‘Disagree’), (2, ‘Neither agree nor disagree’), (3, ‘Agree’), (4, ‘Strongly agree’)])

customer_would_return

IntegerField(verbose_name=”I would use Lens and Lights in the future.”, choices=[(-1, ‘Not applicable’), (0, ‘Strongly disagree’), (1, ‘Disagree’), (2, ‘Neither agree nor disagree’), (3, ‘Agree’), (4, ‘Strongly agree’)])

event

ForeignKey(related_name=”surveys”, on_delete=PROTECT(), to= BaseEvent)

event_id

Raw (integer) FK for event

get_communication_responsiveness_display(*, field=<django.db.models.fields.IntegerField: communication_responsiveness>)
get_crew_respectfulness_display(*, field=<django.db.models.fields.IntegerField: crew_respectfulness>)
get_customer_would_return_display(*, field=<django.db.models.fields.IntegerField: customer_would_return>)
get_lighting_quality_display(*, field=<django.db.models.fields.IntegerField: lighting_quality>)
get_price_appropriate_display(*, field=<django.db.models.fields.IntegerField: price_appropriate>)
get_pricelist_ux_display(*, field=<django.db.models.fields.IntegerField: pricelist_ux>)
get_services_quality_display(*, field=<django.db.models.fields.IntegerField: services_quality>)
get_setup_on_time_display(*, field=<django.db.models.fields.IntegerField: setup_on_time>)
get_sound_quality_display(*, field=<django.db.models.fields.IntegerField: sound_quality>)
get_work_order_ease_display(*, field=<django.db.models.fields.IntegerField: work_order_ease>)
get_work_order_experience_display(*, field=<django.db.models.fields.IntegerField: work_order_experience>)
get_work_order_method_display(*, field=<django.db.models.fields.IntegerField: work_order_method>)
id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

lighting_quality

IntegerField(verbose_name=”How satisfied were you with the lighting?”, choices=[(-1, ‘Not applicable’), (0, ‘Poor’), (1, ‘Fair’), (2, ‘Good’), (3, ‘Very good’), (4, ‘Excellent’)])

objects = <django.db.models.manager.Manager object>
person

ForeignKey(related_name=”surveys”, on_delete=PROTECT(), to= User)

person_id

Raw (integer) FK for person

price_appropriate

IntegerField(verbose_name=”The price quoted for the event matched my expectations and was appropriate for the services provided.”, choices=[(-1, ‘Not applicable’), (0, ‘Strongly disagree’), (1, ‘Disagree’), (2, ‘Neither agree nor disagree’), (3, ‘Agree’), (4, ‘Strongly agree’)])

pricelist_ux

IntegerField(verbose_name=”It was easy to determine which services to request and I had no problem finding what I needed.”, choices=[(-1, ‘Not applicable’), (0, ‘Strongly disagree’), (1, ‘Disagree’), (2, ‘Neither agree nor disagree’), (3, ‘Agree’), (4, ‘Strongly agree’)])

services_quality

IntegerField(verbose_name=”Please rate the overall quality of the services Lens and Lights provided.”, choices=[(-1, ‘Not applicable’), (0, ‘Poor’), (1, ‘Fair’), (2, ‘Good’), (3, ‘Very good’), (4, ‘Excellent’)])

setup_on_time

IntegerField(verbose_name=”My event was set up and the crew was ready on time.”, choices=[(-1, ‘Not applicable’), (0, ‘Strongly disagree’), (1, ‘Disagree’), (2, ‘Neither agree nor disagree’), (3, ‘Agree’), (4, ‘Strongly agree’)])

sound_quality

IntegerField(verbose_name=”How satisfied were you with the sound system?”, choices=[(-1, ‘Not applicable’), (0, ‘Poor’), (1, ‘Fair’), (2, ‘Good’), (3, ‘Very good’), (4, ‘Excellent’)])

work_order_comments

TextField(verbose_name=”Please provide any additional comments you may have regarding your experience with the workorder tool. Is there anything you would like to see us improve?”, blank=True)

work_order_ease

IntegerField(verbose_name=”How would you rate the workorder tool’s clarity and ease of use?”, blank=True, null=True, default=-1, choices=[(-1, ‘Not applicable’), (0, ‘Poor’), (1, ‘Fair’), (2, ‘Good’), (3, ‘Very good’), (4, ‘Excellent’)])

work_order_experience

IntegerField(verbose_name=”How would you rate your overall experience using the workorder tool?”, blank=True, null=True, default=-1, choices=[(-1, ‘Not applicable’), (0, ‘Poor’), (1, ‘Fair’), (2, ‘Good’), (3, ‘Very good’), (4, ‘Excellent’)])

work_order_method

IntegerField(verbose_name=”How did you submit the workorder?”, choices=[(None, ‘Please select…’), (1, ‘Via the website at lnl.wpi.edu/workorder’), (2, ‘Emailed lnl@wpi.edu’), (3, ‘Emailed an LNL representative directly’), (4, ‘By phone’), (5, ‘In person’), (0, ‘Other’), (-1, “I don’t know”)])

class events.models.Projection(id, shortname, longname, base_cost, addtl_cost, category, help_desc, enabled_event2012, enabled_event2019, service_ptr)[source]
Parameters:
  • id (AutoField) – Id (required)
  • shortname (CharField) – Shortname (required)
  • longname (CharField) – Longname (required)
  • base_cost (DecimalField) – Base cost (required)
  • addtl_cost (DecimalField) – Addtl cost (required)
  • category (ForeignKey to Category) – Category (required)
  • help_desc (TextField) – Help desc
  • enabled_event2012 (BooleanField) – Enabled for 2012 events (default=False)
  • enabled_event2019 (BooleanField) – Enabled for 2019 events (default=True)
  • service_ptr (OneToOneField to Service) – Service ptr (required)
exception DoesNotExist
exception MultipleObjectsReturned
projection

Reverse Manager for events.Event’s projection

service_ptr

OneToOneField(primary_key=True, serialize=False, auto_created=True, on_delete=CASCADE(), parent_link=True, to= Service)

service_ptr_id

Raw (integer) FK for service_ptr

class events.models.ReportReminder(*args, **kwargs)[source]

A log of CC Report Reminders sent

Parameters:
  • id (AutoField) – Id (required)
  • event (ForeignKey to BaseEvent) – Event (required)
  • crew_chief (ForeignKey to User) – Crew chief (required)
  • sent (DateTimeField) – Sent (required)
exception DoesNotExist
exception MultipleObjectsReturned
crew_chief

ForeignKey(related_name=”ccreportreminders”, on_delete=CASCADE(), to= User)

crew_chief_id

Raw (integer) FK for crew_chief

event

ForeignKey(related_name=”ccreportreminders”, on_delete=CASCADE(), to= BaseEvent)

event_id

Raw (integer) FK for event

get_next_by_sent(*, field=<django.db.models.fields.DateTimeField: sent>, is_next=True, **kwargs)
get_previous_by_sent(*, field=<django.db.models.fields.DateTimeField: sent>, is_next=False, **kwargs)
id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

objects = <django.db.models.manager.Manager object>
sent

DateTimeField(auto_now_add=True)

class events.models.Service(*args, **kwargs)[source]

Some chargable service that is added to an event; lighting, sound, projection are examples

Parameters:
  • id (AutoField) – Id (required)
  • shortname (CharField) – Shortname (required)
  • longname (CharField) – Longname (required)
  • base_cost (DecimalField) – Base cost (required)
  • addtl_cost (DecimalField) – Addtl cost (required)
  • category (ForeignKey to Category) – Category (required)
  • help_desc (TextField) – Help desc
  • enabled_event2012 (BooleanField) – Enabled for 2012 events (default=False)
  • enabled_event2019 (BooleanField) – Enabled for 2019 events (default=True)
exception DoesNotExist
exception MultipleObjectsReturned
addtl_cost

DecimalField(max_digits=8, decimal_places=2)

attachments

Reverse Manager for events.EventAttachment’s for_service

base_cost

DecimalField(max_digits=8, decimal_places=2)

category

ForeignKey(on_delete=PROTECT(), to= Category)

category_id

Raw (integer) FK for category

ccinstances

Reverse Manager for events.EventCCInstance’s service

enabled_event2012

BooleanField(verbose_name=”Enabled for 2012 Events”, default=False)

enabled_event2019

BooleanField(verbose_name=”Enabled for 2019 Events”, default=True)

event_set

Reverse Manager for events.Event’s otherservices

extra_set

Reverse Manager for events.Extra’s services

help_desc

TextField(blank=True, null=True)

hours

Reverse Manager for events.Hours’s service

id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

lighting

Accessor to the related object on the reverse side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

Place.restaurant is a ReverseOneToOneDescriptor instance.

longname

CharField(max_length=64)

objects = <django.db.models.manager.Manager object>
projection

Accessor to the related object on the reverse side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

Place.restaurant is a ReverseOneToOneDescriptor instance.

serviceinstance_set

Reverse Manager for events.ServiceInstance’s service

shortname

CharField(max_length=2)

sound

Accessor to the related object on the reverse side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

Place.restaurant is a ReverseOneToOneDescriptor instance.

class events.models.ServiceInstance(*args, **kwargs)[source]

An instance of a service associated with a specific event. Created with Event2019

Parameters:
  • id (AutoField) – Id (required)
  • service (ForeignKey to Service) – Service (required)
  • event (ForeignKey to BaseEvent) – Event (required)
  • detail (TextField) – Detail (required)
exception DoesNotExist
exception MultipleObjectsReturned
detail

TextField(blank=True)

event

ForeignKey(on_delete=CASCADE(), to= BaseEvent)

event_id

Raw (integer) FK for event

id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

objects = <django.db.models.manager.Manager object>
service

ForeignKey(on_delete=PROTECT(), to= Service)

service_id

Raw (integer) FK for service

class events.models.Sound(id, shortname, longname, base_cost, addtl_cost, category, help_desc, enabled_event2012, enabled_event2019, service_ptr)[source]
Parameters:
  • id (AutoField) – Id (required)
  • shortname (CharField) – Shortname (required)
  • longname (CharField) – Longname (required)
  • base_cost (DecimalField) – Base cost (required)
  • addtl_cost (DecimalField) – Addtl cost (required)
  • category (ForeignKey to Category) – Category (required)
  • help_desc (TextField) – Help desc
  • enabled_event2012 (BooleanField) – Enabled for 2012 events (default=False)
  • enabled_event2019 (BooleanField) – Enabled for 2019 events (default=True)
  • service_ptr (OneToOneField to Service) – Service ptr (required)
exception DoesNotExist
exception MultipleObjectsReturned
service_ptr

OneToOneField(primary_key=True, serialize=False, auto_created=True, on_delete=CASCADE(), parent_link=True, to= Service)

service_ptr_id

Raw (integer) FK for service_ptr

sound

Reverse Manager for events.Event’s sound

class events.models.Workshop(*args, **kwargs)[source]

A Workshop series hosted by LNL

Parameters:
  • id (AutoField) – Id (required)
  • name (CharField) – Name (required)
  • instructors (CharField) – Instructors (required)
  • description (TextField) – Description (required)
  • location (CharField) – Location (required)
  • notes (TextField) – Notes
exception DoesNotExist
exception MultipleObjectsReturned
dates

Reverse Manager for events.WorkshopDate’s workshop

description

TextField()

id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

instructors

CharField(max_length=100)

location

CharField(max_length=100)

name

CharField(max_length=128)

notes

TextField(blank=True, null=True)

objects = <django.db.models.manager.Manager object>
class events.models.WorkshopDate(id, workshop, date)[source]
Parameters:
  • id (AutoField) – Id (required)
  • workshop (ForeignKey to Workshop) – Workshop (required)
  • date (DateTimeField) – Date (required)
exception DoesNotExist
exception MultipleObjectsReturned
date

DateTimeField()

get_next_by_date(*, field=<django.db.models.fields.DateTimeField: date>, is_next=True, **kwargs)
get_previous_by_date(*, field=<django.db.models.fields.DateTimeField: date>, is_next=False, **kwargs)
id

AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)

objects = <django.db.models.manager.Manager object>
workshop

ForeignKey(related_name=”dates”, on_delete=CASCADE(), to= Workshop)

workshop_id

Raw (integer) FK for workshop

events.models.attachment_file_name(instance, filename)[source]
events.models.consume_event_method(emethod, methodname)[source]
events.models.get_host()[source]
events.models.get_level_object(level, etype)[source]

Views

class events.views.flow.BillingCreate(**kwargs)[source]
dispatch(request, *args, **kwargs)[source]
form_class

alias of events.forms.BillingForm

form_valid(form)[source]

If the form is valid, save the associated model.

get_context_data(**kwargs)[source]

Insert the form into the context dict.

get_form_kwargs()[source]

Return the keyword arguments for instantiating the form.

get_success_url()[source]

Return the URL to redirect to after processing a valid form.

model

alias of events.models.Billing

msg = 'New Bill'
perms = 'events.bill_event'
template_name = 'form_crispy_cbv.html'
class events.views.flow.BillingDelete(**kwargs)[source]
dispatch(request, *args, **kwargs)[source]
get_object(*args, **kwargs)[source]

Validate preconditions for deleting a bill

get_success_url()[source]
model

alias of events.models.Billing

msg = 'Delete Bill'
perms = 'events.bill_event'
template_name = 'form_delete_cbv.html'
class events.views.flow.BillingEmailCreate(**kwargs)[source]
dispatch(request, *args, **kwargs)[source]
form_class

alias of events.forms.BillingEmailForm

form_valid(form)[source]

If the form is valid, save the associated model.

get_form_kwargs()[source]

Return the keyword arguments for instantiating the form.

get_success_url()[source]

Return the URL to redirect to after processing a valid form.

model

alias of events.models.BillingEmail

msg = 'New Billing Email'
perms = 'events.bill_event'
template_name = 'form_crispy.html'
class events.views.flow.BillingUpdate(**kwargs)[source]
dispatch(request, *args, **kwargs)[source]
form_class

alias of events.forms.BillingUpdateForm

form_valid(form)[source]

If the form is valid, save the associated model.

get_form_kwargs()[source]

Return the keyword arguments for instantiating the form.

get_object(*args, **kwargs)[source]

Validate preconditions for editing a bill

get_success_url()[source]

Return the URL to redirect to after processing a valid form.

model

alias of events.models.Billing

msg = 'Update Bill'
perms = 'events.bill_event'
template_name = 'form_crispy_cbv.html'
class events.views.flow.CCRCreate(**kwargs)[source]

Create a new crew chief report

dispatch(request, *args, **kwargs)[source]
form_class

alias of events.forms.InternalReportForm

form_valid(form)[source]

If the form is valid, save the associated model.

get_form_kwargs()[source]

Return the keyword arguments for instantiating the form.

get_success_url()[source]

Return the URL to redirect to after processing a valid form.

model

alias of events.models.CCReport

msg = 'New Crew Chief Report'
perms = 'events.add_event_report'
template_name = 'form_crispy_cbv.html'
user_passes_test(request, *args, **kwargs)[source]
class events.views.flow.CCRDelete(**kwargs)[source]

Delete a crew chief report

get_object(queryset=None)[source]

Hook to ensure object isn’t closed

get_success_url()[source]
model

alias of events.models.CCReport

msg = 'Delete Crew Chief Report'
perms = 'events.delete_ccreport'
template_name = 'form_delete_cbv.html'
user_passes_test(request, *args, **kwargs)[source]
class events.views.flow.CCRUpdate(**kwargs)[source]

Update an existing crew chief report

form_class

alias of events.forms.InternalReportForm

form_valid(form)[source]

If the form is valid, save the associated model.

get_form_kwargs()[source]

Return the keyword arguments for instantiating the form.

get_success_url()[source]

Return the URL to redirect to after processing a valid form.

model

alias of events.models.CCReport

msg = 'Update Crew Chief Report'
perms = 'events.change_ccreport'
template_name = 'form_crispy_cbv.html'
user_passes_test(request, *args, **kwargs)[source]
class events.views.flow.MultiBillingCreate(**kwargs)[source]
form_class

alias of events.forms.MultiBillingForm

form_valid(form)[source]

If the form is valid, save the associated model.

get_form_kwargs()[source]

Return the keyword arguments for instantiating the form.

get_success_url()[source]

Return the URL to redirect to after processing a valid form.

model

alias of events.models.MultiBilling

msg = 'New MultiBill'
perms = 'events.bill_event'
template_name = 'form_crispy.html'
class events.views.flow.MultiBillingDelete(**kwargs)[source]
get_object(*args, **kwargs)[source]

Validate preconditions for deleting a multibill

get_success_url()[source]
model

alias of events.models.MultiBilling

msg = 'Delete MultiBill'
perms = 'events.bill_event'
template_name = 'form_delete_cbv.html'
class events.views.flow.MultiBillingEmailCreate(**kwargs)[source]
dispatch(request, *args, **kwargs)[source]
form_class

alias of events.forms.MultiBillingEmailForm

form_valid(form)[source]

If the form is valid, save the associated model.

get_form_kwargs()[source]

Return the keyword arguments for instantiating the form.

get_success_url()[source]

Return the URL to redirect to after processing a valid form.

model

alias of events.models.MultiBillingEmail

msg = 'New Billing Email'
perms = 'events.bill_event'
template_name = 'form_crispy.html'
class events.views.flow.MultiBillingUpdate(**kwargs)[source]
form_class

alias of events.forms.MultiBillingUpdateForm

form_valid(form)[source]

If the form is valid, save the associated model.

get_object(*args, **kwargs)[source]

Validate preconditions for editing a multibill

get_success_url()[source]

Return the URL to redirect to after processing a valid form.

model

alias of events.models.MultiBilling

msg = 'Update MultiBill'
perms = 'events.bill_event'
template_name = 'form_crispy.html'
class events.views.flow.WorkdayEntry(**kwargs)[source]
dispatch(request, *args, **kwargs)[source]
form_class

alias of events.forms.WorkdayForm

form_valid(form)[source]

If the form is valid, save the associated model.

get_initial()[source]

Return the initial data to use for forms on this view.

get_success_url()[source]

Return the URL to redirect to after processing a valid form.

model

alias of events.models.Event2019

perms = 'events.edit_org_billing'
template_name = 'form_crispy_workday.html'
user_passes_test(request, *args, **kwargs)[source]
events.views.flow.approval(request, id)[source]

Approve an event (agree to provide services for the event)

events.views.flow.assignattach(request, id)[source]

Update attachments for an event (file uploads)

events.views.flow.assignattach_external(request, id)[source]

Update attachments for an event (client-view)

events.views.flow.assigncc(request, id)[source]

Assign crew chiefs to an event

events.views.flow.assigncrew(request, id)[source]
  • Pre-2019 Events: Assign crew members to an event
  • Newer Events: Redirect to crew list
events.views.flow.bulk_checkin(request)[source]

Scan or swipe a registered WPI ID to checkin or checkout of an event as a crew member

events.views.flow.cancel(request, id)[source]

Cancel an event (LNL will no longer provide services for this event). POST only.

events.views.flow.checkin(request)[source]

Event checkin page for crew members

events.views.flow.checkout(request)[source]

Event checkout page for crew members

events.views.flow.close(request, id)[source]

Close an event (not to be confused with cancel). POST only.

events.views.flow.crew_tracker(request)[source]

Event checkin / checkout menu for crew members. GET requests only.

events.views.flow.denial(request, id)[source]

Deny an incoming event (LNL will not provide services for the event)

events.views.flow.download_ics(request, pk)[source]

Generate and download an ics file

events.views.flow.extras(request, id)[source]

This form is for adding extras to an event

events.views.flow.hours_bulk_admin(request, id)[source]

Update crew member hours in bulk

events.views.flow.hours_prefill_self(request, id)[source]

Log the current user as a crew member for an event. This only works after setup begins and will continue to work up until 3 hours after the event. GET requests only.

events.views.flow.mark_entered_into_workday(request, id)[source]

Marks an event as entered into Workday. POST only.

events.views.flow.oneoff(request, id)[source]

This form is for adding oneoff fees to an event

events.views.flow.pay_bill(request, event, pk)[source]

Quietly pays a bill, showing a message on the next page. POST only.

events.views.flow.remindall(request, id)[source]

Remind any crew chiefs who have not yet completed a CC report for a particular event to do so

events.views.flow.reopen(request, id)[source]

Reopen an event that has already been closed. POST only.

events.views.flow.review(request, id)[source]

Review an event for billing

events.views.flow.reviewremind(request, id, uid)[source]

Remind a crew chief to complete their CC report

Parameters:
  • id – The primary key value of the respective event
  • uid – The primary key value of the user to send a reminder to
events.views.flow.rmcc(request, id, user)[source]

Remove a crew chief from an event (pre-2019 events only)

Parameters:
  • id – The primary key value of the event
  • user – The primary key value of the user
events.views.flow.rmcrew(request, id, user)[source]

Remove a user from the list of crew members who attended an event (pre-2019 events only)

Parameters:
  • id – The primary key value of the event
  • user – The primary key value of the user
events.views.flow.viewevent(request, id)[source]

View event details

events.views.indices.admin(request, msg=None)[source]

Member landing page

events.views.indices.dbg_land(request)[source]
events.views.indices.index(request)[source]

Landing Page

events.views.indices.survey_dashboard(request)[source]

Dashboard for post-event survey results

events.views.indices.workshops(request)[source]

Public workshops page

class events.views.list.DeleteWorkshop(**kwargs)[source]

Delete a series of workshops

get_success_url()[source]
model

alias of events.models.Workshop

msg = 'Delete Workshop'
perms = 'events.edit_workshops'
template_name = 'form_delete_cbv.html'
class events.views.list.FakeExtendedField(name, model=<class 'events.models.BaseEvent'>, favicon=None, verbose_name=None, sortable=True)[source]

Just a shim to make things clear, using getattr magic to make python think it’s the original field Use it if you want to change something about a field

class events.views.list.FakeField(name, verbose_name=None, favicon=None, sortable=False)[source]

Means that there is some check for it in the template end or that the thing is a property instead of a field

events.views.list.all(request, start=None, end=None)[source]

Lists all events

events.views.list.all_cal(request, start=None, end=None)[source]

Calendar view for all events

events.views.list.awaitingworkday(request, start=None, end=None)[source]

Lists events that are waiting to be entered into Workday

events.views.list.build_redirect(request, **kwargs)[source]

Add query string to URL

events.views.list.closed(request, start=None, end=None)[source]

Lists closed events

events.views.list.closed_cal(request, start=None, end=None)[source]

Calendar view for closed events

events.views.list.datefilter(eventqs, context, start=None, end=None)[source]

Generic date filtering

events.views.list.edit_workshop(request, pk)[source]

Form to edit the details for a workshop series

events.views.list.filter_events(request, context, events, start, end, prefetch_org=False, prefetch_cc=False, prefetch_billing=False, hide_unapproved=False, event2019=False, sort='-datetime_start')[source]

Filter a queryset of events based on specified criteria

Parameters:
  • request – The calling view’s request object
  • context – The calling view’s current context dictionary
  • events – Queryset of events to filter
  • start – Datetime to compare event start times to
  • end – Datetime to compare event end times to
  • prefetch_org – Boolean - If true, prefetch related items based on client
  • prefetch_cc – Boolean - If true, prefetch related items based on client or crew chiefs and select related items based on building
  • prefetch_billing – Boolean - If true, prefetch related items based on client or crew chiefs and select related items based on building
  • hide_unapproved – Boolean - If true, exclude events that have not been approved
  • event2019 – Boolean - If true, queryset only contains Event2019 objects
  • sort – String - Default field to sort by (prepend “-” for reverse)
Returns:

Queryset of events and updated context dictionary

events.views.list.findchief(request, start=None, end=None)[source]

Lists any events that have been approved and need crew chiefs

events.views.list.findchief_cal(request, start=None, end=None)[source]

Calendar view for events that need crew chiefs

events.views.list.generate_response(request, context, start, end, time_range_unspecified)[source]

Build an event list view response object and set cookies if necessary

Parameters:
  • request – The calling view’s request object
  • context – The calling view’s context dictionary
  • start – Datetime used to filter the events (Optional)
  • end – Datetime used to filter the events (Optional)
  • time_range_unspecified – Boolean - If true, will ignore start and end times
Returns:

Response object

events.views.list.get_very_large_date_range()[source]

Helper function to return start and end that go very far into past and future

events.views.list.incoming(request, start=None, end=None)[source]

Lists all incoming events (not yet approved)

events.views.list.incoming_cal(request, start=None, end=None)[source]

Calendar view of incoming events

events.views.list.map_fields(cols)[source]

Puts field names into actual fields (even if they don’t exist)

events.views.list.multibillings(request)[source]

Lists all multibills

events.views.list.new_workshop(request)[source]

Form to add a new workshop series

events.views.list.openworkorders(request, start=None, end=None)[source]

Lists open events (not cancelled or otherwise closed)

events.views.list.openworkorders_cal(request, start=None, end=None)[source]

Calendar view for open events

events.views.list.paginate_helper(queryset, page, sort=None, count=40)[source]
events.views.list.paid(request, start=None, end=None)[source]

Lists events where all bills have been paid

events.views.list.paid_cal(request, start=None, end=None)[source]

Calendar view for events that have already been paid

events.views.list.public_facing(request)[source]

Lists events that have been approved, have not yet ended, and can otherwise be viewed by anyone (i.e. no sensitive or test events)

events.views.list.unbilled(request, start=None, end=None)[source]

Lists events that are ready to be billed

events.views.list.unbilled_cal(request, start=None, end=None)[source]

Calendar view for events that have yet to be billed

events.views.list.unbilled_semester(request, start=None, end=None)[source]

Lists events that have yet to be billed and are set to be billed in bulk

events.views.list.unbilled_semester_cal(request, start=None, end=None)[source]

Calendar view for events that have yet to be billed and are set to be billed in bulk

events.views.list.unpaid(request, start=None, end=None)[source]

Lists events that have unpaid bills

events.views.list.unpaid_cal(request, start=None, end=None)[source]

Calendar view for events that have unpaid bills

events.views.list.unpaid_workday(request, start=None, end=None)[source]

Lists events that have been entered into workday but have not yet been paid for

events.views.list.unreviewed(request, start=None, end=None)[source]

Lists events that are pending review for billing

events.views.list.unreviewed_cal(request, start=None, end=None)[source]

Calendar view for events that are ready to be reviewed for billing

events.views.list.upcoming(request, start=None, end=None)[source]

Lists Upcoming Events

If start and end are both None, then it’ll show all upcoming events for the next 15 days

events.views.list.workshop_dates(request, pk)[source]

Form to add / edit sessions (dates) for a workshop series

events.views.list.workshops_list(request)[source]

List all workshop series

events.views.mkedrm.clear_to_send(to, triggered_by, fields_edited)[source]

Helper function to determine if a user should receive an Event Edited notification

Parameters:
  • to – The user the message would be sent to
  • triggered_by – The user that edited the event
  • fields_edited – A list of edited fields
Returns:

A list of approved communication methods

events.views.mkedrm.eventnew(request, id=None)[source]

Create or edit an event

Parameters:id – Defaults to None (create a new event). Otherwise, this is the primary key value of the event you intend to edit
class events.views.my.PostEventSurveyCreate(**kwargs)[source]
dispatch(request, *args, **kwargs)[source]
form_class

alias of events.forms.PostEventSurveyForm

form_valid(form)[source]

If the form is valid, save the associated model.

get_context_data(**kwargs)[source]

Insert the form into the context dict.

get_form_kwargs()[source]

Return the keyword arguments for instantiating the form.

get_success_url()[source]

Return the URL to redirect to after processing a valid form.

model

alias of events.models.PostEventSurvey

template_name = 'form_crispy_survey.html'
events.views.my.ccreport(request, eventid)[source]

Submits a crew chief report

events.views.my.eventfiles(request, eventid)[source]
events.views.my.hours_bulk(request, eventid)[source]

Bulk Hours Entry Form

events.views.my.hours_edit(request, eventid, userid)[source]

Hour Entry Form for CC (editing)

events.views.my.hours_list(request, eventid)[source]

Lists a user’s work hours

events.views.my.hours_mk(request, eventid)[source]

Hour Entry Form for CC

events.views.my.myevents(request)[source]

Lists events that a user has CC’d or been involved with

events.views.my.myorgform(request)[source]

Organization Creation Request Form

events.views.my.myorgs(request)[source]

List of associated organizations

events.views.my.mywo(request)[source]

List Events (if LNL member will list their events)

events.views.my.office_hours(request)[source]

Form for updating a user’s office hours (Officers only)

events.views.my.survey_success(request)[source]

Displayed to the user after successfully completing a survey

class events.views.orgs.OrgVerificationCreate(**kwargs)[source]

Verify that a client’s billing details are valid

form_class

alias of events.forms.IOrgVerificationForm

form_valid(form)[source]

If the form is valid, save the associated model.

get_form_kwargs()[source]

Return the keyword arguments for instantiating the form.

get_success_url()[source]

Return the URL to redirect to after processing a valid form.

model

alias of events.models.OrgBillingVerificationEvent

msg = 'Mark Client billing as valid'
perms = ('events.create_verifications',)
template_name = 'form_crispy_cbv.html'
events.views.orgs.addeditorgs(request, org_id=None)[source]

internal form for adding/editing an org Clients should not have access to this page. The accounts field autocomplete exposes ALL funds, and this form also allows the owner of the org to be changed without the email verification done by the org transfer form. Clients should use the much less confusing ‘orgedit’ view.

events.views.orgs.org_acceptxfer(request, idstr)[source]

Complete an organization transfer

events.views.orgs.org_mkxfer(request, id)[source]

Begin the process of transferring ownership of an organization

events.views.orgs.orgdetail(request, org_id)[source]

Organization detail page

events.views.orgs.orgedit(request, id)[source]

Form for editing organization details (client view)

events.views.orgs.vieworgs(request)[source]

Lists all organizations


Forms

class events.forms.AttachmentForm(event, externally_uploaded=False, *args, **kwargs)[source]
class Meta[source]
fields = ('for_service', 'attachment', 'note')
model

alias of events.models.EventAttachment

base_fields = {'attachment': <django.forms.fields.FileField object>, 'for_service': <django.forms.models.ModelMultipleChoiceField object>, 'note': <django.forms.fields.CharField object>}
declared_fields = {}
media
save(commit=True)[source]

Save this form’s self.instance object if commit=True. Otherwise, add a save_m2m() method to the form which can be called after the instance is saved manually at a later time. Return the model instance.

class events.forms.BillingEmailForm(billing, *args, **kwargs)[source]
class Meta[source]
fields = ('subject', 'message', 'email_to_users', 'email_to_orgs')
model

alias of events.models.BillingEmail

base_fields = {'email_to_orgs': <events.forms.CustomOrganizationEmailModelMultipleChoiceField object>, 'email_to_users': <ajax_select.fields.AutoCompleteSelectMultipleField object>, 'message': <django.forms.fields.CharField object>, 'subject': <django.forms.fields.CharField object>}
clean()[source]

Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.

declared_fields = {'email_to_orgs': <events.forms.CustomOrganizationEmailModelMultipleChoiceField object>, 'email_to_users': <ajax_select.fields.AutoCompleteSelectMultipleField object>}
media
save(commit=True)[source]

Save this form’s self.instance object if commit=True. Otherwise, add a save_m2m() method to the form which can be called after the instance is saved manually at a later time. Return the model instance.

class events.forms.BillingForm(event, *args, **kwargs)[source]
class Meta[source]
fields = ('date_billed', 'amount')
model

alias of events.models.Billing

base_fields = {'amount': <django.forms.fields.DecimalField object>, 'date_billed': <django.forms.fields.DateField object>}
declared_fields = {}
media
save(commit=True)[source]

Save this form’s self.instance object if commit=True. Otherwise, add a save_m2m() method to the form which can be called after the instance is saved manually at a later time. Return the model instance.

class events.forms.BillingUpdateForm(event, *args, **kwargs)[source]
class Meta[source]
fields = ('date_paid', 'amount')
model

alias of events.models.Billing

base_fields = {'amount': <django.forms.fields.DecimalField object>, 'date_paid': <django.forms.fields.DateField object>}
declared_fields = {}
media
save(commit=True)[source]

Save this form’s self.instance object if commit=True. Otherwise, add a save_m2m() method to the form which can be called after the instance is saved manually at a later time. Return the model instance.

class events.forms.BulkCheckinForm(*args, **kwargs)[source]
base_fields = {'id': <django.forms.fields.IntegerField object>}
declared_fields = {'id': <django.forms.fields.IntegerField object>}
media
secure_widget = <django.forms.widgets.PasswordInput object>
class events.forms.CCIForm(event, *args, **kwargs)[source]

Crew Chief Instance form

class Meta[source]
fields = ('category', 'crew_chief', 'service', 'setup_location', 'setup_start')
model

alias of events.models.EventCCInstance

base_fields = {'category': <django.forms.models.ModelChoiceField object>, 'crew_chief': <ajax_select.fields.AutoCompleteSelectField object>, 'service': <django.forms.models.ModelChoiceField object>, 'setup_location': <events.fields.GroupedModelChoiceField object>, 'setup_start': <django.forms.fields.SplitDateTimeField object>}
clean()[source]

Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.

declared_fields = {'category': <django.forms.models.ModelChoiceField object>, 'crew_chief': <ajax_select.fields.AutoCompleteSelectField object>, 'service': <django.forms.models.ModelChoiceField object>, 'setup_location': <events.fields.GroupedModelChoiceField object>, 'setup_start': <django.forms.fields.SplitDateTimeField object>}
media
save(commit=True)[source]

Save this form’s self.instance object if commit=True. Otherwise, add a save_m2m() method to the form which can be called after the instance is saved manually at a later time. Return the model instance.

class events.forms.CheckoutHoursForm(*args, **kwargs)[source]
base_fields = {'total': <django.forms.fields.DecimalField object>}
clean()[source]

Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.

declared_fields = {'total': <django.forms.fields.DecimalField object>}
disabled_widget = <django.forms.widgets.NumberInput object>
media
class events.forms.CrewAssign(*args, **kwargs)[source]
class Meta[source]
fields = ('crew',)
model

alias of events.models.Event

base_fields = {'crew': <ajax_select.fields.AutoCompleteSelectMultipleField object>}
declared_fields = {'crew': <ajax_select.fields.AutoCompleteSelectMultipleField object>}
media
class events.forms.CrewCheckinForm(*args, **kwargs)[source]
base_fields = {}
declared_fields = {}
media
class events.forms.CrewCheckoutForm(*args, **kwargs)[source]
base_fields = {'checkin': <django.forms.fields.SplitDateTimeField object>, 'checkout': <django.forms.fields.SplitDateTimeField object>}
clean()[source]

Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.

declared_fields = {'checkin': <django.forms.fields.SplitDateTimeField object>, 'checkout': <django.forms.fields.SplitDateTimeField object>}
media
class events.forms.CrewChiefAssign(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, instance=None, use_required_attribute=None, renderer=None)[source]
class Meta[source]
fields = ('crew_chief',)
model

alias of events.models.Event

base_fields = {'crew_chief': <ajax_select.fields.AutoCompleteSelectMultipleField object>}
declared_fields = {'crew_chief': <ajax_select.fields.AutoCompleteSelectMultipleField object>}
media
class events.forms.CustomAutoCompleteSelectMultipleField(channel, *args, **kwargs)[source]
has_changed(initial_value, data_value)[source]

Return True if data differs from initial.

class events.forms.CustomEventModelMultipleChoiceField(queryset, **kwargs)[source]
label_from_instance(event)[source]

Convert objects into strings and generate the labels for the choices presented by this object. Subclasses can override this method to customize the display of the choices.

class events.forms.CustomOrganizationEmailModelMultipleChoiceField(queryset, **kwargs)[source]
label_from_instance(org)[source]

Convert objects into strings and generate the labels for the choices presented by this object. Subclasses can override this method to customize the display of the choices.

class events.forms.EditHoursForm(*args, **kwargs)[source]
class Meta[source]
fields = ('hours',)
model

alias of events.models.Hours

base_fields = {'hours': <django.forms.fields.DecimalField object>}
declared_fields = {}
media
class events.forms.EventApprovalForm(*args, **kwargs)[source]
class Meta[source]
fields = ['description', 'internal_notes', 'datetime_start', 'datetime_end', 'org', 'billing_org', 'billed_in_bulk', 'datetime_setup_complete', 'lighting', 'lighting_reqs', 'sound', 'sound_reqs', 'projection', 'proj_reqs', 'otherservices', 'otherservice_reqs']
model

alias of events.models.Event

widgets = {'description': <pagedown.widgets.PagedownWidget object>, 'internal_notes': <class 'pagedown.widgets.PagedownWidget'>, 'lighting_reqs': <pagedown.widgets.PagedownWidget object>, 'otherservice_reqs': <pagedown.widgets.PagedownWidget object>, 'proj_reqs': <pagedown.widgets.PagedownWidget object>, 'sound_reqs': <pagedown.widgets.PagedownWidget object>}
base_fields = {'billed_in_bulk': <django.forms.fields.BooleanField object>, 'billing_org': <ajax_select.fields.AutoCompleteSelectField object>, 'datetime_end': <django.forms.fields.SplitDateTimeField object>, 'datetime_setup_complete': <django.forms.fields.SplitDateTimeField object>, 'datetime_start': <django.forms.fields.SplitDateTimeField object>, 'description': <django.forms.fields.CharField object>, 'internal_notes': <django.forms.fields.CharField object>, 'lighting': <django.forms.models.ModelChoiceField object>, 'lighting_reqs': <django.forms.fields.CharField object>, 'org': <ajax_select.fields.AutoCompleteSelectMultipleField object>, 'otherservice_reqs': <django.forms.fields.CharField object>, 'otherservices': <django.forms.models.ModelMultipleChoiceField object>, 'proj_reqs': <django.forms.fields.CharField object>, 'projection': <django.forms.models.ModelChoiceField object>, 'sound': <django.forms.models.ModelChoiceField object>, 'sound_reqs': <django.forms.fields.CharField object>}
declared_fields = {'billing_org': <ajax_select.fields.AutoCompleteSelectField object>, 'datetime_end': <django.forms.fields.SplitDateTimeField object>, 'datetime_setup_complete': <django.forms.fields.SplitDateTimeField object>, 'datetime_start': <django.forms.fields.SplitDateTimeField object>, 'org': <ajax_select.fields.AutoCompleteSelectMultipleField object>}
media
class events.forms.EventDenialForm(*args, **kwargs)[source]
class Meta[source]
fields = ['cancelled_reason', 'send_email']
model

alias of events.models.BaseEvent

widgets = {'cancelled_reason': <pagedown.widgets.PagedownWidget object>}
base_fields = {'cancelled_reason': <django.forms.fields.CharField object>, 'send_email': <django.forms.fields.BooleanField object>}
declared_fields = {'send_email': <django.forms.fields.BooleanField object>}
media
class events.forms.EventMeetingForm(*args, **kwargs)[source]
class Meta[source]
fields = ['datetime_setup_start', 'datetime_setup_complete', 'crew_chief', 'crew']
model

alias of events.models.Event

base_fields = {'crew': <ajax_select.fields.AutoCompleteSelectMultipleField object>, 'crew_chief': <ajax_select.fields.AutoCompleteSelectMultipleField object>, 'datetime_setup_complete': <django.forms.fields.SplitDateTimeField object>, 'datetime_setup_start': <django.forms.fields.SplitDateTimeField object>}
declared_fields = {'crew': <ajax_select.fields.AutoCompleteSelectMultipleField object>, 'crew_chief': <ajax_select.fields.AutoCompleteSelectMultipleField object>, 'datetime_setup_complete': <django.forms.fields.SplitDateTimeField object>, 'datetime_setup_start': <django.forms.fields.SplitDateTimeField object>}
media
class events.forms.EventReviewForm(*args, **kwargs)[source]
class Meta[source]
fields = ('org', 'billing_org', 'internal_notes')
model

alias of events.models.Event

widgets = {'internal_notes': <pagedown.widgets.PagedownWidget object>}
base_fields = {'billing_org': <ajax_select.fields.AutoCompleteSelectField object>, 'internal_notes': <django.forms.fields.CharField object>, 'org': <ajax_select.fields.AutoCompleteSelectMultipleField object>}
declared_fields = {'billing_org': <ajax_select.fields.AutoCompleteSelectField object>, 'org': <ajax_select.fields.AutoCompleteSelectMultipleField object>}
media
class events.forms.ExternalOrgUpdateForm(*args, **kwargs)[source]

Organization Details Form for Client

class Meta[source]
fields = ('exec_email', 'address', 'phone', 'associated_users', 'workday_fund', 'worktag')
model

alias of events.models.Organization

base_fields = {'address': <django.forms.fields.CharField object>, 'associated_users': <ajax_select.fields.AutoCompleteSelectMultipleField object>, 'exec_email': <django.forms.fields.EmailField object>, 'phone': <django.forms.fields.CharField object>, 'workday_fund': <django.forms.fields.TypedChoiceField object>, 'worktag': <django.forms.fields.CharField object>}
clean_worktag()[source]
declared_fields = {'associated_users': <ajax_select.fields.AutoCompleteSelectMultipleField object>, 'worktag': <django.forms.fields.CharField object>}
media
class events.forms.ExtraForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, instance=None, use_required_attribute=None, renderer=None)[source]
class Meta[source]
fields = ('extra', 'quant')
model

alias of events.models.ExtraInstance

base_fields = {'extra': <events.fields.GroupedModelChoiceField object>, 'quant': <django.forms.fields.IntegerField object>}
declared_fields = {'extra': <events.fields.GroupedModelChoiceField object>}
media
class events.forms.IOrgForm(request_user, *args, **kwargs)[source]

Internal Organization Details Form

class FieldAccess[source]
billing_edit = <data.forms.FieldAccessLevel object>
billing_view = <data.forms.FieldAccessLevel object>
everything_else_edit = <data.forms.FieldAccessLevel object>
internal_notes_edit = <data.forms.FieldAccessLevel object>
internal_notes_view = <data.forms.FieldAccessLevel object>
members_edit = <data.forms.FieldAccessLevel object>
members_view = <data.forms.FieldAccessLevel object>
owner_edit = <data.forms.FieldAccessLevel object>
class Meta[source]
fields = ('name', 'exec_email', 'address', 'phone', 'associated_orgs', 'personal', 'workday_fund', 'worktag', 'user_in_charge', 'associated_users', 'notes', 'delinquent')
model

alias of events.models.Organization

base_fields = {'address': <django.forms.fields.CharField object>, 'associated_orgs': <ajax_select.fields.AutoCompleteSelectMultipleField object>, 'associated_users': <ajax_select.fields.AutoCompleteSelectMultipleField object>, 'delinquent': <django.forms.fields.BooleanField object>, 'exec_email': <django.forms.fields.EmailField object>, 'name': <django.forms.fields.CharField object>, 'notes': <django.forms.fields.CharField object>, 'personal': <django.forms.fields.BooleanField object>, 'phone': <django.forms.fields.CharField object>, 'user_in_charge': <ajax_select.fields.AutoCompleteSelectField object>, 'workday_fund': <django.forms.fields.TypedChoiceField object>, 'worktag': <django.forms.fields.CharField object>}
clean_worktag()[source]
declared_fields = {'associated_orgs': <ajax_select.fields.AutoCompleteSelectMultipleField object>, 'associated_users': <ajax_select.fields.AutoCompleteSelectMultipleField object>, 'notes': <django.forms.fields.CharField object>, 'user_in_charge': <ajax_select.fields.AutoCompleteSelectField object>, 'worktag': <django.forms.fields.CharField object>}
media
class events.forms.IOrgVerificationForm(org, *args, **kwargs)[source]

Internal Client Billing Verification Form

class Meta[source]
fields = ('date', 'verified_by', 'note')
model

alias of events.models.OrgBillingVerificationEvent

base_fields = {'date': <django.forms.fields.DateField object>, 'note': <django.forms.fields.CharField object>, 'verified_by': <ajax_select.fields.AutoCompleteSelectField object>}
declared_fields = {'verified_by': <ajax_select.fields.AutoCompleteSelectField object>}
media
save(commit=True)[source]

Save this form’s self.instance object if commit=True. Otherwise, add a save_m2m() method to the form which can be called after the instance is saved manually at a later time. Return the model instance.

class events.forms.InternalEventForm(request_user, *args, **kwargs)[source]
class FieldAccess[source]
billing_edit = <data.forms.FieldAccessLevel object>
billing_view = <data.forms.FieldAccessLevel object>
change_flags = <data.forms.FieldAccessLevel object>
change_lnl_contact = <data.forms.FieldAccessLevel object>
change_owner = <data.forms.FieldAccessLevel object>
change_type = <data.forms.FieldAccessLevel object>
edit_descriptions = <data.forms.FieldAccessLevel object>
event_times = <data.forms.FieldAccessLevel object>
hide_internal_notes = <data.forms.FieldAccessLevel object>
internal_notes_write = <data.forms.FieldAccessLevel object>
class Meta[source]
fields = ('event_name', 'location', 'lnl_contact', 'description', 'internal_notes', 'billing_org', 'billed_in_bulk', 'contact', 'org', 'datetime_setup_complete', 'datetime_start', 'datetime_end', 'lighting', 'lighting_reqs', 'sound', 'sound_reqs', 'projection', 'proj_reqs', 'otherservices', 'otherservice_reqs', 'sensitive', 'test_event')
model

alias of events.models.Event

widgets = {'description': <pagedown.widgets.PagedownWidget object>, 'internal_notes': <class 'pagedown.widgets.PagedownWidget'>, 'lighting_reqs': <pagedown.widgets.PagedownWidget object>, 'otherservice_reqs': <pagedown.widgets.PagedownWidget object>, 'proj_reqs': <pagedown.widgets.PagedownWidget object>, 'sound_reqs': <pagedown.widgets.PagedownWidget object>}
base_fields = {'billed_in_bulk': <django.forms.fields.BooleanField object>, 'billing_org': <ajax_select.fields.AutoCompleteSelectField object>, 'contact': <ajax_select.fields.AutoCompleteSelectField object>, 'datetime_end': <django.forms.fields.SplitDateTimeField object>, 'datetime_setup_complete': <django.forms.fields.SplitDateTimeField object>, 'datetime_start': <django.forms.fields.SplitDateTimeField object>, 'description': <django.forms.fields.CharField object>, 'event_name': <django.forms.fields.CharField object>, 'internal_notes': <django.forms.fields.CharField object>, 'lighting': <django.forms.models.ModelChoiceField object>, 'lighting_reqs': <django.forms.fields.CharField object>, 'lnl_contact': <ajax_select.fields.AutoCompleteSelectField object>, 'location': <events.fields.GroupedModelChoiceField object>, 'org': <events.forms.CustomAutoCompleteSelectMultipleField object>, 'otherservice_reqs': <django.forms.fields.CharField object>, 'otherservices': <django.forms.models.ModelMultipleChoiceField object>, 'proj_reqs': <django.forms.fields.CharField object>, 'projection': <django.forms.models.ModelChoiceField object>, 'sensitive': <django.forms.fields.BooleanField object>, 'sound': <django.forms.models.ModelChoiceField object>, 'sound_reqs': <django.forms.fields.CharField object>, 'test_event': <django.forms.fields.BooleanField object>}
declared_fields = {'billing_org': <ajax_select.fields.AutoCompleteSelectField object>, 'contact': <ajax_select.fields.AutoCompleteSelectField object>, 'datetime_end': <django.forms.fields.SplitDateTimeField object>, 'datetime_setup_complete': <django.forms.fields.SplitDateTimeField object>, 'datetime_start': <django.forms.fields.SplitDateTimeField object>, 'lnl_contact': <ajax_select.fields.AutoCompleteSelectField object>, 'location': <events.fields.GroupedModelChoiceField object>, 'org': <events.forms.CustomAutoCompleteSelectMultipleField object>, 'otherservices': <django.forms.models.ModelMultipleChoiceField object>}
media
class events.forms.InternalEventForm2019(request_user, *args, **kwargs)[source]
class FieldAccess[source]
billing_edit = <data.forms.FieldAccessLevel object>
billing_view = <data.forms.FieldAccessLevel object>
cancelled_reason_edit = <data.forms.FieldAccessLevel object>
change_entered_into_workday = <data.forms.FieldAccessLevel object>
change_flags = <data.forms.FieldAccessLevel object>
change_lnl_contact = <data.forms.FieldAccessLevel object>
change_owner = <data.forms.FieldAccessLevel object>
change_type = <data.forms.FieldAccessLevel object>
edit_descriptions = <data.forms.FieldAccessLevel object>
event_times = <data.forms.FieldAccessLevel object>
hide_internal_notes = <data.forms.FieldAccessLevel object>
internal_notes_write = <data.forms.FieldAccessLevel object>
survey_edit = <data.forms.FieldAccessLevel object>
survey_view = <data.forms.FieldAccessLevel object>
class Meta[source]
fields = ('event_name', 'location', 'lnl_contact', 'description', 'internal_notes', 'billing_org', 'billed_in_bulk', 'contact', 'org', 'datetime_setup_complete', 'datetime_start', 'datetime_end', 'sensitive', 'test_event', 'entered_into_workday', 'send_survey', 'max_crew', 'cancelled_reason', 'reference_code')
model

alias of events.models.Event2019

widgets = {'cancelled_reason': <django.forms.widgets.TextInput object>, 'description': <pagedown.widgets.PagedownWidget object>, 'internal_notes': <pagedown.widgets.PagedownWidget object>}
base_fields = {'billed_in_bulk': <django.forms.fields.BooleanField object>, 'billing_org': <ajax_select.fields.AutoCompleteSelectField object>, 'cancelled_reason': <django.forms.fields.CharField object>, 'contact': <ajax_select.fields.AutoCompleteSelectField object>, 'datetime_end': <django.forms.fields.SplitDateTimeField object>, 'datetime_setup_complete': <django.forms.fields.SplitDateTimeField object>, 'datetime_start': <django.forms.fields.SplitDateTimeField object>, 'description': <django.forms.fields.CharField object>, 'entered_into_workday': <django.forms.fields.BooleanField object>, 'event_name': <django.forms.fields.CharField object>, 'internal_notes': <django.forms.fields.CharField object>, 'lnl_contact': <ajax_select.fields.AutoCompleteSelectField object>, 'location': <events.fields.GroupedModelChoiceField object>, 'max_crew': <django.forms.fields.IntegerField object>, 'org': <events.forms.CustomAutoCompleteSelectMultipleField object>, 'reference_code': <django.forms.fields.CharField object>, 'send_survey': <django.forms.fields.BooleanField object>, 'sensitive': <django.forms.fields.BooleanField object>, 'test_event': <django.forms.fields.BooleanField object>}
cancelled_reason = (<django.forms.fields.CharField object>,)
declared_fields = {'billing_org': <ajax_select.fields.AutoCompleteSelectField object>, 'contact': <ajax_select.fields.AutoCompleteSelectField object>, 'datetime_end': <django.forms.fields.SplitDateTimeField object>, 'datetime_setup_complete': <django.forms.fields.SplitDateTimeField object>, 'datetime_start': <django.forms.fields.SplitDateTimeField object>, 'lnl_contact': <ajax_select.fields.AutoCompleteSelectField object>, 'location': <events.fields.GroupedModelChoiceField object>, 'max_crew': <django.forms.fields.IntegerField object>, 'org': <events.forms.CustomAutoCompleteSelectMultipleField object>, 'reference_code': <django.forms.fields.CharField object>}
media
class events.forms.InternalReportForm(event, *args, **kwargs)[source]

Crew Chief Report Form

class FieldAccess[source]
admin = <data.forms.FieldAccessLevel object>
all = <data.forms.FieldAccessLevel object>
avg_user = <data.forms.FieldAccessLevel object>
class Meta[source]
fields = ('crew_chief', 'report')
model

alias of events.models.CCReport

widgets = {'report': <pagedown.widgets.PagedownWidget object>}
base_fields = {'crew_chief': <ajax_select.fields.AutoCompleteSelectField object>, 'report': <django.forms.fields.CharField object>}
declared_fields = {'crew_chief': <ajax_select.fields.AutoCompleteSelectField object>}
media
save(commit=True)[source]

Save this form’s self.instance object if commit=True. Otherwise, add a save_m2m() method to the form which can be called after the instance is saved manually at a later time. Return the model instance.

class events.forms.MKHoursForm(event, *args, **kwargs)[source]

Event Hours Form

class Meta[source]
fields = ('user', 'hours', 'category', 'service')
model

alias of events.models.Hours

base_fields = {'category': <django.forms.models.ModelChoiceField object>, 'hours': <django.forms.fields.DecimalField object>, 'service': <django.forms.models.ModelChoiceField object>, 'user': <ajax_select.fields.AutoCompleteSelectField object>}
clean()[source]

Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.

declared_fields = {'category': <django.forms.models.ModelChoiceField object>, 'hours': <django.forms.fields.DecimalField object>, 'service': <django.forms.models.ModelChoiceField object>, 'user': <ajax_select.fields.AutoCompleteSelectField object>}
media
save(commit=True)[source]

Save this form’s self.instance object if commit=True. Otherwise, add a save_m2m() method to the form which can be called after the instance is saved manually at a later time. Return the model instance.

class events.forms.MultiBillingEmailForm(multibilling, *args, **kwargs)[source]
class Meta[source]
fields = ('subject', 'message', 'email_to_users', 'email_to_orgs')
model

alias of events.models.MultiBillingEmail

base_fields = {'email_to_orgs': <events.forms.CustomOrganizationEmailModelMultipleChoiceField object>, 'email_to_users': <ajax_select.fields.AutoCompleteSelectMultipleField object>, 'message': <django.forms.fields.CharField object>, 'subject': <django.forms.fields.CharField object>}
clean()[source]

Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.

declared_fields = {'email_to_orgs': <events.forms.CustomOrganizationEmailModelMultipleChoiceField object>, 'email_to_users': <ajax_select.fields.AutoCompleteSelectMultipleField object>}
media
save(commit=True)[source]

Save this form’s self.instance object if commit=True. Otherwise, add a save_m2m() method to the form which can be called after the instance is saved manually at a later time. Return the model instance.

class events.forms.MultiBillingForm(*args, **kwargs)[source]
class Meta[source]
fields = ('events', 'date_billed', 'amount')
model

alias of events.models.MultiBilling

base_fields = {'amount': <django.forms.fields.DecimalField object>, 'date_billed': <django.forms.fields.DateField object>, 'events': <events.forms.CustomEventModelMultipleChoiceField object>}
clean()[source]

Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.

declared_fields = {'events': <events.forms.CustomEventModelMultipleChoiceField object>}
media
save(commit=True)[source]

Save this form’s self.instance object if commit=True. Otherwise, add a save_m2m() method to the form which can be called after the instance is saved manually at a later time. Return the model instance.

class events.forms.MultiBillingUpdateForm(*args, **kwargs)[source]
class Meta[source]
fields = ('date_paid', 'amount')
model

alias of events.models.MultiBilling

base_fields = {'amount': <django.forms.fields.DecimalField object>, 'date_paid': <django.forms.fields.DateField object>}
declared_fields = {}
media
class events.forms.OfficeHoursForm(*args, **kwargs)[source]
class Meta[source]
fields = ('day', 'location', 'hour_start', 'hour_end')
model

alias of events.models.OfficeHour

base_fields = {'day': <django.forms.fields.TypedChoiceField object>, 'hour_end': <django.forms.fields.TimeField object>, 'hour_start': <django.forms.fields.TimeField object>, 'location': <django.forms.models.ModelChoiceField object>}
declared_fields = {}
media
class events.forms.OrgXFerForm(org, user, *args, **kwargs)[source]

Organization Transfer Form

class Meta[source]
fields = ('new_user_in_charge',)
model

alias of events.models.OrganizationTransfer

base_fields = {'new_user_in_charge': <django.forms.models.ModelChoiceField object>}
declared_fields = {}
media
save(commit=True)[source]

Save this form’s self.instance object if commit=True. Otherwise, add a save_m2m() method to the form which can be called after the instance is saved manually at a later time. Return the model instance.

class events.forms.PostEventSurveyForm(event, *args, **kwargs)[source]
class Meta[source]
fields = ('services_quality', 'lighting_quality', 'sound_quality', 'work_order_method', 'work_order_experience', 'work_order_ease', 'work_order_comments', 'communication_responsiveness', 'pricelist_ux', 'setup_on_time', 'crew_respectfulness', 'price_appropriate', 'customer_would_return', 'comments')
model

alias of events.models.PostEventSurvey

base_fields = {'comments': <django.forms.fields.CharField object>, 'communication_responsiveness': <django.forms.fields.ChoiceField object>, 'crew_respectfulness': <django.forms.fields.ChoiceField object>, 'customer_would_return': <django.forms.fields.ChoiceField object>, 'lighting_quality': <django.forms.fields.ChoiceField object>, 'price_appropriate': <django.forms.fields.ChoiceField object>, 'pricelist_ux': <django.forms.fields.ChoiceField object>, 'services_quality': <django.forms.fields.ChoiceField object>, 'setup_on_time': <django.forms.fields.ChoiceField object>, 'sound_quality': <django.forms.fields.ChoiceField object>, 'work_order_comments': <django.forms.fields.CharField object>, 'work_order_ease': <django.forms.fields.ChoiceField object>, 'work_order_experience': <django.forms.fields.ChoiceField object>, 'work_order_method': <django.forms.fields.ChoiceField object>}
declared_fields = {'communication_responsiveness': <django.forms.fields.ChoiceField object>, 'crew_respectfulness': <django.forms.fields.ChoiceField object>, 'customer_would_return': <django.forms.fields.ChoiceField object>, 'lighting_quality': <django.forms.fields.ChoiceField object>, 'price_appropriate': <django.forms.fields.ChoiceField object>, 'pricelist_ux': <django.forms.fields.ChoiceField object>, 'services_quality': <django.forms.fields.ChoiceField object>, 'setup_on_time': <django.forms.fields.ChoiceField object>, 'sound_quality': <django.forms.fields.ChoiceField object>, 'work_order_ease': <django.forms.fields.ChoiceField object>, 'work_order_experience': <django.forms.fields.ChoiceField object>, 'work_order_method': <django.forms.fields.ChoiceField object>}
media
save(commit=True)[source]

Save this form’s self.instance object if commit=True. Otherwise, add a save_m2m() method to the form which can be called after the instance is saved manually at a later time. Return the model instance.

class events.forms.SelfServiceOrgRequestForm(*args, **kwargs)[source]
base_fields = {'address': <django.forms.fields.CharField object>, 'client_name': <django.forms.fields.CharField object>, 'email': <django.forms.fields.EmailField object>, 'phone': <django.forms.fields.CharField object>}
declared_fields = {'address': <django.forms.fields.CharField object>, 'client_name': <django.forms.fields.CharField object>, 'email': <django.forms.fields.EmailField object>, 'phone': <django.forms.fields.CharField object>}
media
class events.forms.ServiceInstanceForm(event, *args, **kwargs)[source]
class Meta[source]
fields = ('service', 'detail')
model

alias of events.models.ServiceInstance

widgets = {'detail': <pagedown.widgets.PagedownWidget object>}
base_fields = {'detail': <django.forms.fields.CharField object>, 'service': <django.forms.models.ModelChoiceField object>}
declared_fields = {'service': <django.forms.models.ModelChoiceField object>}
media
save(commit=True)[source]

Save this form’s self.instance object if commit=True. Otherwise, add a save_m2m() method to the form which can be called after the instance is saved manually at a later time. Return the model instance.

class events.forms.SurveyCustomRadioSelect(attrs=None, choices=())[source]
input_type = 'radio'
media
option_template_name = 'survey_custom_radio_select.html'
template_name = 'survey_custom_radio_select.html'
class events.forms.WorkdayForm(*args, **kwargs)[source]

Workday Bill Pay Form

class Meta[source]
fields = ('workday_fund', 'worktag', 'workday_form_comments')
model

alias of events.models.Event2019

base_fields = {'workday_form_comments': <django.forms.fields.CharField object>, 'workday_fund': <django.forms.fields.TypedChoiceField object>, 'worktag': <django.forms.fields.CharField object>}
clean_worktag()[source]
declared_fields = {'worktag': <django.forms.fields.CharField object>}
media
class events.forms.WorkorderRepeatForm(*args, **kwargs)[source]
class Meta[source]
fields = ['location', 'event_name', 'description', 'datetime_start', 'datetime_end', 'datetime_setup_complete', 'lighting', 'lighting_reqs', 'sound', 'sound_reqs', 'projection', 'proj_reqs', 'otherservices', 'otherservice_reqs']
model

alias of events.models.Event

base_fields = {'datetime_end': <django.forms.fields.SplitDateTimeField object>, 'datetime_setup_complete': <django.forms.fields.SplitDateTimeField object>, 'datetime_start': <django.forms.fields.SplitDateTimeField object>, 'description': <django.forms.fields.CharField object>, 'event_name': <django.forms.fields.CharField object>, 'lighting': <django.forms.models.ModelChoiceField object>, 'lighting_reqs': <django.forms.fields.CharField object>, 'location': <events.fields.GroupedModelChoiceField object>, 'otherservice_reqs': <django.forms.fields.CharField object>, 'otherservices': <django.forms.models.ModelMultipleChoiceField object>, 'proj_reqs': <django.forms.fields.CharField object>, 'projection': <django.forms.models.ModelChoiceField object>, 'sound': <django.forms.models.ModelChoiceField object>, 'sound_reqs': <django.forms.fields.CharField object>}
clean()[source]

Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.

declared_fields = {'datetime_end': <django.forms.fields.SplitDateTimeField object>, 'datetime_setup_complete': <django.forms.fields.SplitDateTimeField object>, 'datetime_start': <django.forms.fields.SplitDateTimeField object>, 'lighting': <django.forms.models.ModelChoiceField object>, 'location': <events.fields.GroupedModelChoiceField object>, 'otherservices': <django.forms.models.ModelMultipleChoiceField object>, 'projection': <django.forms.models.ModelChoiceField object>, 'sound': <django.forms.models.ModelChoiceField object>}
media
class events.forms.WorkorderSubmit(*args, **kwargs)[source]
class Meta[source]
exclude = ('submitted_by', 'submitted_ip', 'approved', 'crew', 'crew_chief', 'report', 'closed', 'payment_amount', 'paid')
model

alias of events.models.Event

base_fields = {'approved_by': <django.forms.models.ModelChoiceField object>, 'approved_on': <django.forms.fields.DateTimeField object>, 'billed_in_bulk': <django.forms.fields.BooleanField object>, 'billing_org': <django.forms.models.ModelChoiceField object>, 'cancelled': <django.forms.fields.BooleanField object>, 'cancelled_by': <django.forms.models.ModelChoiceField object>, 'cancelled_on': <django.forms.fields.DateTimeField object>, 'cancelled_reason': <django.forms.fields.CharField object>, 'ccs_needed': <django.forms.fields.IntegerField object>, 'closed_by': <django.forms.models.ModelChoiceField object>, 'closed_on': <django.forms.fields.DateTimeField object>, 'contact': <django.forms.models.ModelChoiceField object>, 'datetime_end': <django.forms.fields.DateTimeField object>, 'datetime_setup_complete': <django.forms.fields.DateTimeField object>, 'datetime_setup_start': <django.forms.fields.DateTimeField object>, 'datetime_start': <django.forms.fields.DateTimeField object>, 'description': <django.forms.fields.CharField object>, 'event_name': <django.forms.fields.CharField object>, 'internal_notes': <django.forms.fields.CharField object>, 'lighting': <django.forms.models.ModelChoiceField object>, 'lighting_reqs': <django.forms.fields.CharField object>, 'lnl_contact': <django.forms.models.ModelChoiceField object>, 'location': <django.forms.models.ModelChoiceField object>, 'org': <django.forms.models.ModelMultipleChoiceField object>, 'otherservice_reqs': <django.forms.fields.CharField object>, 'otherservices': <django.forms.models.ModelMultipleChoiceField object>, 'proj_reqs': <django.forms.fields.CharField object>, 'projection': <django.forms.models.ModelChoiceField object>, 'reviewed': <django.forms.fields.BooleanField object>, 'reviewed_by': <django.forms.models.ModelChoiceField object>, 'reviewed_on': <django.forms.fields.DateTimeField object>, 'sensitive': <django.forms.fields.BooleanField object>, 'setup_location': <django.forms.models.ModelChoiceField object>, 'sound': <django.forms.models.ModelChoiceField object>, 'sound_reqs': <django.forms.fields.CharField object>, 'test_event': <django.forms.fields.BooleanField object>}
declared_fields = {}
media
class events.forms.WorkshopDatesForm(*args, **kwargs)[source]
class Meta[source]
fields = ('workshop', 'date')
model

alias of events.models.WorkshopDate

base_fields = {'date': <django.forms.fields.SplitDateTimeField object>, 'workshop': <django.forms.models.ModelChoiceField object>}
declared_fields = {'date': <django.forms.fields.SplitDateTimeField object>}
media
class events.forms.WorkshopForm(*args, **kwargs)[source]
class Meta[source]
fields = ('name', 'instructors', 'description', 'location', 'notes')
model

alias of events.models.Workshop

base_fields = {'description': <django.forms.fields.CharField object>, 'instructors': <django.forms.fields.CharField object>, 'location': <django.forms.fields.CharField object>, 'name': <django.forms.fields.CharField object>, 'notes': <django.forms.fields.CharField object>}
declared_fields = {}
media
events.forms.get_qs_from_event(event)[source]