{% extends "management/base.html" %} {% load lucide ui i18n %} {% block heading %}{% trans "Members" %}{% endblock heading %} {% block topbar_context %} {% blocktrans count counter=paginator.count %}{{ counter }} member{% plural %}{{ counter }} members{% endblocktrans %} {% endblock topbar_context %} {% block actions %} {% lucide "download" size=16 %} {% trans "Download upload template" %} {% if is_club_admin %} {% lucide "upload" size=16 %} {% trans "Mass upload" %} {% lucide "users" size=16 %} {% trans "Add family" %} {% lucide "user-plus" size=16 %} {% trans "Add member" %} {% endif %} {% endblock actions %} {% block filter_strip %}
| {% trans "Member" %} | {% trans "Email" %} | {% trans "Licence" %} | {% trans "Family" %} | {% trans "Status" %} | {% if requirements_configured %}{% trans "Documents" %} | {% endif %} {% if is_club_admin %}{% trans "Dues" %} | {% endif %}|
|---|---|---|---|---|---|---|---|
|
{{ member.first_name|slice:":1" }}{{ member.last_name|slice:":1" }}
{{ member.last_name }}, {{ member.first_name }}
{% if selected_kind == "both" and member.current_membership.kind == "guardian" %}
{% trans "Guardian" %}
{% endif %}
{% if member.date_of_birth %}{{ member.date_of_birth|date:"Y" }} {% endif %}
|
{{ member.contact_email|default:"—" }} | {# text-xs, not text-sm: IBM Plex Mono reads noticeably larger than Barlow at the same declared size. #}{{ member.current_membership.license|default:"—" }} |
{% if member.family_memberships_display %}
{% for fm in member.family_memberships_display %}
{% lucide "users" size=12 %} {{ fm.family }}
{% endfor %}
{% else %}
—
{% endif %}
|
{% if member.current_membership %} {{ member.current_membership.get_status_display }} {% else %} {% trans "unknown" %} {% endif %} | {% if requirements_configured %}{% if member.current_membership and not member.current_membership.is_guardian %} {{ member.current_membership.completed_requirements }}/{{ total_requirements }} {% else %} — {% endif %} | {% endif %} {% if is_club_admin %}{% if member.current_membership and not member.current_membership.is_guardian %} {{ member.current_membership.get_fee_status_display }} {% else %} — {% endif %} | {% endif %}{% if can_manage_members %} {% endif %} |
| {% trans "No members yet." %} | |||||||