Files
BlackMarkandClaude Opus 5.5 45424e6fd6 Vermietungs-Tool
A local web app for a small room-rental business in Austria: guest register,
room ledger, occupancy plan, invoices, the monthly tourist-tax report and the
quarterly VAT list. Application code only; it ships no data.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 16:52:27 +01:00

40 lines
1.8 KiB
HTML

{% extends "base.html" %}
{% block main_class %}grid-page{% endblock %}
{% block content %}
<h1>{{ t('clients_title') }}</h1>
<div class="toolbar">
<input class="search live-search" data-grid="cli" type="text" placeholder="{{ t('search_placeholder') }}">
<span class="count"><span class="grid-count" data-grid="cli">{{ rows|length }}</span> {{ t('showing_count', count='')|trim }}</span>
<span class="spacer"></span>
</div>
<div class="tablewrap">
<table id="cli" class="grid">
<thead><tr>
<th>{{ t('col_name') }}</th><th>{{ t('col_kind') }}</th><th>{{ t('col_address_current') }}</th>
<th class="num">{{ t('col_versions') }}</th><th class="num">{{ t('home_stays') }}</th>
<th class="num">{{ t('nav_invoices') }}</th><th>{{ t('col_uid') }}</th><th class="nosort actions"></th>
</tr></thead>
<tbody>
{# rows ship inside an inert <template>: grids.js renders only the visible window (see freezeLayout) #}
<template>
{% for r in rows %}
<tr>
<td>{{ r.name }}</td>
<td>{{ t('kind_private') if r.kind == 'private' else t('kind_company') }}</td>
<td>{{ r.cur_address or '' }}{% if r.cur_postcode or r.cur_city %}, {{ r.cur_postcode or '' }} {{ r.cur_city or '' }}{% endif %}</td>
<td class="num">{{ r.versions }}</td>
<td class="num">{{ r.stays }}</td>
<td class="num">{{ r.invoices }}</td>
<td>{{ r.uid or '' }}</td>
<td class="actions"><a class="btn secondary small" href="{{ url_for('client_edit', company_id=r.id) }}">{{ t('btn_edit') }}</a></td>
</tr>
{% endfor %}
</template>
{% if not rows %}
<tr data-empty="1"><td class="empty" colspan="8">{{ t('no_results') }}</td></tr>
{% endif %}
</tbody>
</table>
</div>
{% endblock %}