physics_workload.app.tables.task

Classes

TaskTable

Describe a table. Example:

Module Contents

class physics_workload.app.tables.task.TaskTable(**kwargs)

Bases: iommi.Table

Describe a table. Example:

class AlbumTable(Table):
    name = Column()
    artist = Column()

    class Meta:
        sortable = False

# @test
artist = Artist.objects.create(name='Black Sabbath')
Album.objects.create(name='Heaven & Hell', artist=artist, year=1980),
Album.objects.create(name='Mob Rules', artist=artist, year=1981),

show_output(AlbumTable(rows=Album.objects.all()))
# @end
Parameters:
  • rows – a list or QuerySet of objects

  • columns – (use this only when not using the declarative style) a list of Column objects

  • attrs – dict of strings to string/callable of HTML attributes to apply to the table

  • row__attrs – dict of strings to string/callable of HTML attributes to apply to the row. Callables are passed the row as argument.

  • row__template – name of template (or Template object) to use for rendering the row

  • bulk_filter – filters to apply to the QuerySet before performing the bulk operation

  • bulk_exclude – exclude filters to apply to the QuerySet before performing the bulk operation

  • sortable – set this to False to turn off sorting for all columns

class Meta
auto
columns__unit
columns__academic_group
columns__assignment_required
columns__assignment_provisional
columns__owner
columns__title
columns__load_calc
columns__load_calc_first
columns__assignment_set
query
page_size = 50
iommi_style
empty_message = 'No tasks available.'
static query__filters__status__value_to_q(value_string_or_f, **_) django.db.models.Q
static get_owner_for_task(task: app.models.Task) app.models.AcademicGroup | app.models.Unit | None
static annotate_query_set(query_set: django.db.models.QuerySet[app.models.Task]) django.db.models.QuerySet[app.models.Task]

Annotates the passed QuerySet with any additional data needed for columns, convenience method to keep consistent between uses. :param query_set: QuerySet to annotate. :return: Annotated QuerySet, with the number of assignments yet needed added as assignment_open