Members

This module maintains member training data.

Models

class members.models.Trainee(*args, **kwargs)[source]

Record of an individual’s completion or revocation of training

Parameters:
  • id (AutoField) – Id (required)
  • training (ForeignKey to Training) – Training (required)
  • person (ForeignKey to User) – Person (required)
  • revoked (BooleanField) – Revoked (default=False)
  • revoked_by (ForeignKey to User) – Revoked by
  • revoked_on (DateTimeField) – Revoked on
  • notes (TextField) – Notes (required)
  • _order (OrderWrt) – order (required)
exception DoesNotExist
exception MultipleObjectsReturned
get_next_in_order(*, is_next=True)
get_previous_in_order(*, is_next=False)
id

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

is_valid()[source]
notes

TextField(blank=True)

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

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

person_id

Raw (integer) FK for person

revoked

BooleanField(default=False)

revoked_by

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

revoked_by_id

Raw (integer) FK for revoked_by

revoked_on

DateTimeField(blank=True, null=True)

training

ForeignKey(related_name=”trainees”, on_delete=CASCADE(), to= Training)

training_id

Raw (integer) FK for training

was_valid_on(date)[source]
class members.models.Training(*args, **kwargs)[source]

A training event

Parameters:
  • id (AutoField) – Id (required)
  • training_type (ForeignKey to TrainingType) – Training type (required)
  • date (DateField) – Date (required)
  • trainer (ForeignKey to User) – Trainer
  • recorded_by (ForeignKey to User) – Recorded by (required)
  • recorded_on (DateTimeField) – Recorded on (required)
  • expiration_date (DateField) – Expiration date
  • notes (TextField) – Notes (required)
exception DoesNotExist
exception MultipleObjectsReturned
date

DateField()

expiration_date

DateField(blank=True, null=True)

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

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

is_expired()[source]
notes

TextField(blank=True)

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

ForeignKey(editable=False, related_name=”trainings_entered”, on_delete=PROTECT(), to= User)

recorded_by_id

Raw (integer) FK for recorded_by

recorded_on

DateTimeField(auto_now_add=True)

set_trainee_order(id_list, using=None)
trainees

Reverse Manager for members.Trainee’s training

trainer

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

trainer_id

Raw (integer) FK for trainer

training_type

ForeignKey(related_name=”trainings”, on_delete=PROTECT(), to= TrainingType)

training_type_id

Raw (integer) FK for training_type

class members.models.TrainingType(id, name, external, description)[source]
Parameters:
  • id (AutoField) – Id (required)
  • name (CharField) – Name (required)
  • external (BooleanField) – External (default=False)
  • description (TextField) – Description (required)
exception DoesNotExist
exception MultipleObjectsReturned
description

TextField()

external

BooleanField(default=False)

id

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

name

CharField(max_length=64, unique=True)

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

Reverse Manager for members.Training’s training_type


Views

members.views.enter_training(request)[source]

Update training records

members.views.revoke_training(request, pk)[source]

Revoke training for a particular user

members.views.trainee_notes(request, pk)[source]

Update trainee records for a particular individual (must not be expired)

members.views.training_list(request)[source]

List all members with valid training


Forms

class members.forms.TraineeNotesForm(*args, **kwargs)[source]
class Meta[source]
fields = ('notes',)
model

alias of members.models.Trainee

base_fields = {'notes': <django.forms.fields.CharField object>}
declared_fields = {}
media
class members.forms.TrainingForm(*args, **kwargs)[source]
base_fields = {'date': <django.forms.fields.DateField object>, 'expiration_date': <django.forms.fields.DateField object>, 'notes': <django.forms.fields.CharField object>, 'trainees': <ajax_select.fields.AutoCompleteSelectMultipleField object>, 'trainer': <ajax_select.fields.AutoCompleteSelectField object>, 'training_type': <django.forms.models.ModelChoiceField 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__’.

clean_trainees()[source]
clean_trainer()[source]
declared_fields = {'date': <django.forms.fields.DateField object>, 'expiration_date': <django.forms.fields.DateField object>, 'notes': <django.forms.fields.CharField object>, 'trainees': <ajax_select.fields.AutoCompleteSelectMultipleField object>, 'trainer': <ajax_select.fields.AutoCompleteSelectField object>, 'training_type': <django.forms.models.ModelChoiceField object>}
media