Projection
This module handles most of the tasks related to projection.
Models
- class projection.models.PITLevel(*args, **kwargs)[source]
Projectionist In Training (PIT) levels
- Parameters:
id (AutoField) – Id (required)
name_short (CharField) – Name short (required)
name_long (CharField) – Name long (required)
ordering (IntegerField) – Ordering (default=0)
- exception DoesNotExist
- exception MultipleObjectsReturned
- id
AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)
- name_long
CharField(max_length=16)
- name_short
CharField(max_length=3)
- objects = <django.db.models.manager.Manager object>
- ordering
IntegerField(default=0)
- class projection.models.PitInstance(*args, **kwargs)[source]
Record of a projectionist’s completion of a PIT
- Parameters:
id (AutoField) – Id (required)
projectionist (ForeignKey to
Projectionist) – Projectionist (required)pit_level (ForeignKey to
PITLevel) – Pit level (required)created_on (DateField) – Created on (required)
valid (BooleanField) – Valid (default=True)
- exception DoesNotExist
- exception MultipleObjectsReturned
- created_on
DateField()
- get_next_by_created_on(*, field=<django.db.models.fields.DateField: created_on>, is_next=True, **kwargs)
- get_previous_by_created_on(*, field=<django.db.models.fields.DateField: created_on>, is_next=False, **kwargs)
- id
AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)
- objects = <django.db.models.manager.Manager object>
- projectionist
ForeignKey(related_name=”pitinstances”, on_delete=CASCADE(), to=
Projectionist)
- projectionist_id
Raw (integer) FK for
projectionist
- valid
BooleanField(default=True)
- class projection.models.PitRequest(*args, **kwargs)[source]
Members can submit a request to receive their next level of training
- Parameters:
id (AutoField) – Id (required)
projectionist (ForeignKey to
Projectionist) – Projectionist (required)level (ForeignKey to
PITLevel) – Level (required)requested_on (DateTimeField) – Requested on (required)
approved (BooleanField) – Approved (default=False)
scheduled_for (DateTimeField) – Scheduled for
- exception DoesNotExist
- exception MultipleObjectsReturned
- approved
BooleanField(default=False)
- get_next_by_requested_on(*, field=<django.db.models.fields.DateTimeField: requested_on>, is_next=True, **kwargs)
- get_previous_by_requested_on(*, field=<django.db.models.fields.DateTimeField: requested_on>, is_next=False, **kwargs)
- id
AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)
- objects = <django.db.models.manager.Manager object>
- projectionist
ForeignKey(related_name=”pitrequest”, on_delete=CASCADE(), to=
Projectionist)
- projectionist_id
Raw (integer) FK for
projectionist
- requested_on
DateTimeField(auto_now_add=True)
- scheduled_for
DateTimeField(blank=True, null=True)
- class projection.models.Projectionist(id, user, license_number, license_expiry)[source]
- Parameters:
id (AutoField) – Id (required)
user (OneToOneField to
User) – User (required)license_number (CharField) – License number
license_expiry (DateField) – License expiry
- exception DoesNotExist
- exception MultipleObjectsReturned
- property expired
- property expiring
- id
AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)
- property is_alumni
- property level
- license_expiry
DateField(blank=True, null=True)
- license_number
CharField(max_length=10, blank=True, null=True)
- objects = <django.db.models.manager.Manager object>
- pitinstances
Reverse Manager for projection.PitInstance’s
projectionist
- pitrequest
Reverse Manager for projection.PitRequest’s
projectionist
- validlevels
Views
- class projection.views.BulkUpdateView(**kwargs)[source]
Update a PIT for multiple projectionists at the same time
- form_class
alias of
BulkUpdateForm
- msg = 'Bulk Update Projectionists'
- perms = 'projection.edit_pits'
- property success_url
- template_name = 'form_crispy_cbv.html'
- class projection.views.CancelPITRequest(*args, **kwargs)[source]
Cancel a PIT request
- model
alias of
PitRequest
- msg = 'Cancelled PIT Request'
- perms = 'projection.view_pits'
- template_name = 'form_cancel_request.html'
- class projection.views.PITRequest(**kwargs)[source]
Create a new PIT request
- form_class
alias of
PITRequestForm
- model
alias of
PitRequest
- perms = 'projection.view_pits'
- template_name = 'projection_pit_request.html'
- class projection.views.ProjectionCreate(**kwargs)[source]
Add a new projectionist
- form_class
alias of
ProjectionistForm
- model
alias of
Projectionist
- msg = 'Add Projectionist'
- perms = 'projection.edit_pits'
- property success_url
- template_name = 'form_crispy_projection.html'
- class projection.views.ProjectionistDelete(*args, **kwargs)[source]
Remove a projectionist (does not remove the associated user)
- model
alias of
Projectionist
- msg = 'Delete Projectionist'
- perms = 'projection.edit_pits'
- template_name = 'form_delete_cbv.html'
- projection.views.bulk_projection(request)[source]
Add new projection events in bulk. This is an internal form and is often used when there are multiple showings over the course of a weekend.
- projection.views.get_saturdays_for_range(date_1, date_2)[source]
Get a list of Saturdays in a given time frame
- Parameters:
date_1 – Datetime of the lower bound
date_2 – Datetime of the upper bound
- Returns:
An array of datetime objects
- projection.views.manage_pit_request(request, id)[source]
Edit or approve a PIT request (not accessible by trainee)
- projection.views.pit_request_update(request, id)[source]
Edit a PIT request (accessible by trainee)
- projection.views.plist_detail(request)[source]
Grid view of projectionists and their completed PITs
Forms
- class projection.forms.BulkCreateForm(*args, user=None, **kwargs)[source]
- base_fields = {'auto_approve': <django.forms.fields.BooleanField object>, 'billing': <ajax_select.fields.AutoCompleteSelectField object>, 'contact': <ajax_select.fields.AutoCompleteSelectField object>, 'date_first': <django.forms.fields.DateField object>, 'date_second': <django.forms.fields.DateField object>}
- declared_fields = {'auto_approve': <django.forms.fields.BooleanField object>, 'billing': <ajax_select.fields.AutoCompleteSelectField object>, 'contact': <ajax_select.fields.AutoCompleteSelectField object>, 'date_first': <django.forms.fields.DateField object>, 'date_second': <django.forms.fields.DateField object>}
- property media
Return all media required to render the widgets on this form.
- class projection.forms.BulkUpdateForm(*args, **kwargs)[source]
- base_fields = {'date': <django.forms.fields.DateField object>, 'pit_level': <django.forms.models.ModelChoiceField object>, 'users': <ajax_select.fields.AutoCompleteSelectMultipleField object>}
- declared_fields = {'date': <django.forms.fields.DateField object>, 'pit_level': <django.forms.models.ModelChoiceField object>, 'users': <ajax_select.fields.AutoCompleteSelectMultipleField object>}
- property media
Return all media required to render the widgets on this form.
- class projection.forms.DateEntryFormSetBase(*args, **kwargs)[source]
- base_fields = {'date': <django.forms.fields.DateField object>, 'friday': <django.forms.fields.BooleanField object>, 'matinee': <django.forms.fields.BooleanField object>, 'name': <django.forms.fields.CharField object>, 'saturday': <django.forms.fields.BooleanField object>, 'sunday': <django.forms.fields.BooleanField object>}
- declared_fields = {'date': <django.forms.fields.DateField object>, 'friday': <django.forms.fields.BooleanField object>, 'matinee': <django.forms.fields.BooleanField object>, 'name': <django.forms.fields.CharField object>, 'saturday': <django.forms.fields.BooleanField object>, 'sunday': <django.forms.fields.BooleanField object>}
- property media
Return all media required to render the widgets on this form.
- time_offsets = {'friday': datetime.timedelta(days=-1), 'matinee': datetime.timedelta(days=-1, seconds=64800), 'saturday': datetime.timedelta(0), 'sunday': datetime.timedelta(days=1)}
- class projection.forms.InstanceForm(*args, **kwargs)[source]
- class Meta[source]
- fields = ('pit_level', 'created_on', 'valid')
- model
alias of
PitInstance
- base_fields = {'created_on': <django.forms.fields.DateField object>, 'pit_level': <django.forms.models.ModelChoiceField object>, 'valid': <django.forms.fields.BooleanField object>}
- declared_fields = {'created_on': <django.forms.fields.DateField object>}
- property media
Return all media required to render the widgets on this form.
- class projection.forms.PITRequestAdminForm(*args, **kwargs)[source]
- base_fields = {'approved': <django.forms.fields.BooleanField object>, 'level': <django.forms.models.ModelChoiceField object>, 'scheduled_for': <django.forms.fields.SplitDateTimeField object>}
- declared_fields = {'approved': <django.forms.fields.BooleanField object>, 'level': <django.forms.models.ModelChoiceField object>, 'scheduled_for': <django.forms.fields.SplitDateTimeField object>}
- property media
Return all media required to render the widgets on this form.
- class projection.forms.PITRequestForm(*args, **kwargs)[source]
- class Meta[source]
- fields = ('level', 'scheduled_for', 'approved')
- model
alias of
PitRequest
- base_fields = {'approved': <django.forms.fields.BooleanField object>, 'level': <django.forms.models.ModelChoiceField object>, 'scheduled_for': <django.forms.fields.SplitDateTimeField object>}
- declared_fields = {'level': <django.forms.models.ModelChoiceField object>, 'scheduled_for': <django.forms.fields.SplitDateTimeField object>}
- property media
Return all media required to render the widgets on this form.
- class projection.forms.ProjectionistForm(*args, **kwargs)[source]
- class Meta[source]
- fields = ('user', 'license_number', 'license_expiry')
- model
alias of
Projectionist
- base_fields = {'license_expiry': <django.forms.fields.DateField object>, 'license_number': <django.forms.fields.CharField object>, 'user': <ajax_select.fields.AutoCompleteSelectField object>}
- declared_fields = {'user': <ajax_select.fields.AutoCompleteSelectField object>}
- property media
Return all media required to render the widgets on this form.
- class projection.forms.ProjectionistUpdateForm(*args, **kwargs)[source]
- class Meta[source]
- fields = ('license_number', 'license_expiry')
- model
alias of
Projectionist
- base_fields = {'license_expiry': <django.forms.fields.DateField object>, 'license_number': <django.forms.fields.CharField object>}
- declared_fields = {}
- property media
Return all media required to render the widgets on this form.