Show paid status in admin and filter CSV exports by year (#30)
CI / test (pull_request) Successful in 5s
Unit Tests / test (pull_request) Successful in 5s

## Summary
Closes #30.
- Green check on membership/person admin when a current-year payment email matches
- Year picker on membership and payment CSV downloads
- Payments admin search by email, plus year list filters
This commit is contained in:
2026-09-03 15:48:57 -05:00
parent f37ff3e87b
commit 249163c21d
3 changed files with 490 additions and 123 deletions
@@ -0,0 +1,29 @@
{% extends "admin/base_site.html" %}
{% load i18n %}
{% block content %}
<form action="" method="post">{% csrf_token %}
<p>{{ help_text }}</p>
<fieldset class="module aligned">
<div class="form-row">
<label for="id_year">Year:</label>
<select name="year" id="id_year">
<option value="all">All years</option>
{% for year in years %}
<option value="{{ year }}"{% if year == default_year %} selected{% endif %}>{{ year }}</option>
{% endfor %}
</select>
</div>
</fieldset>
{% for selected_id in selected_ids %}
<input type="hidden" name="_selected_action" value="{{ selected_id }}">
{% endfor %}
<input type="hidden" name="action" value="{{ action_name }}">
<input type="hidden" name="select_across" value="{{ select_across }}">
<input type="hidden" name="index" value="{{ index }}">
<div class="submit-row">
<input type="submit" name="apply" class="default" value="Download CSV">
<a href="{{ changelist_url }}" class="button cancel-link">{% translate "Cancel" %}</a>
</div>
</form>
{% endblock %}