{% extends "base.html" %} {% from "_macros.html" import media_pill %} {% from "_partials/empty_state.html" import empty_state %} {% block title %}Loan Policies — {{ library_name() }}{% endblock %} {% block content %}

Loan Policies

+ New Policy
{% if message %}

{{ message }}

{% endif %} {% if error %}

{{ error }}

{% endif %} {% if not policies %} {{ empty_state("No loan policies configured", "Policies set loan periods, renewal limits, and fine rates.", cta_href="/ui/policies/new", cta_label="Add policy") }} {% else %}

Fine fields are in cents. Leave blank for "no overdue fine / no default replacement cost."

{% for p in policies %}
{{ p.name }}   {% if p.media_type %}{{ media_pill(p.media_type) }}{% else %}All media{% endif %} · {% if p.patron_category %}{{ p.patron_category.display_name }}{% else %}All patrons{% endif %} {% if p.is_default %}default{% endif %}
{% endfor %} {% endif %} {% endblock %}