def METHOD_NAME(self, session):
    """
    This report should be the definitive report about the count and sizes of
    shirts needed to be ordered.
    There are two types of shirts:
    - "staff shirts" - staff uniforms, each staff gets c.SHIRTS_PER_STAFFER
    - "event shirts" - pre-ordered swag shirts, which are received by:
        - volunteers (non-staff who get one for free)
        - attendees (who can pre-order them)
    """
    counts = defaultdict(lambda: defaultdict(int))
    labels = ['size unknown'] + [label for val, label in c.SHIRT_OPTS][1:]
    staff_labels = ['size unknown'] + [label for val, label in c.STAFF_SHIRT_OPTS][1:]
    for attendee in session.all_attendees():
        shirt_label = attendee.shirt_label or 'size unknown'
        if c.STAFF_SHIRT_OPTS != c.SHIRT_OPTS:
            staff_shirt_label = attendee.staff_shirt_label or 'size unknown'
        else:
            staff_shirt_label = attendee.shirt_label or 'size unknown'
        counts['staff'][label(staff_shirt_label)] += attendee.num_staff_shirts_owed
        counts['event'][label(shirt_label)] += attendee.num_event_shirts_owed
    categories = []
    if c.SHIRTS_PER_STAFFER > 0:
        categories.append(('Staff Uniform Shirts', sort(counts['staff'], staff_labels)))
    categories.append(('Event Shirts', sort(counts['event'], labels)))
    return {
        'categories': categories,
    }