from django import template

register = template.Library()


@register.simple_tag(takes_context=True)
def export_url(context):
    """
    Build an export URL from the current request's query string.

    Strips 'page' and any stale 'export' param so the link always exports
    all filtered records cleanly, regardless of which page the user is on.

    Usage:  <a href="{% export_url %}">Export Excel</a>
    """
    request = context.get('request')
    if request is None:
        return '?export=1'
    params = request.GET.copy()
    params.pop('page', None)
    params.pop('export', None)
    qs = params.urlencode()
    return f'?{qs}&export=1' if qs else '?export=1'
