ledger-pyreport/ledger_pyreport/jinja2/index.html

84 lines
4.1 KiB
HTML

{#
ledger-pyreport
Copyright © 2020 Lee Yingtong Li (RunasSudo)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
#}
{% extends 'base.html' %}
{% block title %}ledger-pyreport{% endblock %}
{% block body %}
<div style="margin-bottom: 1em;">
<form action="{{ url_for('trial') }}">
<button type="submit">Trial balance</button>
<label>Date: <input name="date" data-inputgroup="date" value="{{ date.strftime('%Y-%m-%d') }}" style="width: 6em;" oninput="txtc(this)"></label>
<label>Period start: <input name="pstart" data-inputgroup="pstart" value="{{ pstart.strftime('%Y-%m-%d') }}" style="width: 6em;" oninput="txtc(this)"></label>
<label>Compare <input name="compare" data-inputgroup="compare" value="0" style="width: 2em;" oninput="txtc(this)"> periods</label>
<label><input name="cash" data-inputgroup="cash" type="checkbox" oninput="chbc(this)"> Cash basis</label>
</form>
</div>
<div style="margin-bottom: 1em;">
<form action="{{ url_for('balance') }}">
<button type="submit">Balance sheet</button>
<label>Date: <input name="date" data-inputgroup="date" value="{{ date.strftime('%Y-%m-%d') }}" style="width: 6em;" oninput="txtc(this)"></label>
<label>Period start: <input name="pstart" data-inputgroup="pstart" value="{{ pstart.strftime('%Y-%m-%d') }}" style="width: 6em;" oninput="txtc(this)"></label>
<label>Compare <input name="compare" data-inputgroup="compare" value="0" style="width: 2em;" oninput="txtc(this)"> periods</label>
<label><input name="cash" data-inputgroup="cash" type="checkbox" oninput="chbc(this)"> Cash basis</label>
</form>
</div>
<div style="margin-bottom: 1em;">
<form action="{{ url_for('pandl') }}">
<button type="submit">Income statement</button>
<label>Begin date: <input name="date_beg" data-inputgroup="pstart" value="{{ pstart.strftime('%Y-%m-%d') }}" style="width: 6em;" oninput="txtc(this)"></label>
<label>End date: <input name="date_end" data-inputgroup="date" value="{{ date.strftime('%Y-%m-%d') }}" style="width: 6em;" oninput="txtc(this)"></label>
<label>Compare <input name="compare" data-inputgroup="compare" value="0" style="width: 2em;" oninput="txtc(this)"> periods</label>
<label><input name="cash" data-inputgroup="cash" type="checkbox" oninput="chbc(this)"> Cash basis</label>
<label>Scope: <select name="scope">
<option value="pandl" selected>P&L only</option>
<option value="oci">OCI only</option>
<option value="both">P&L and OCI</option>
</select></label>
</form>
</div>
<div style="margin-bottom: 1em;">
<form action="{{ url_for('transactions') }}">
<button type="submit">General ledger</button>
<label>Begin date: <input name="date_beg" data-inputgroup="pstart" value="{{ pstart.strftime('%Y-%m-%d') }}" style="width: 6em;" oninput="txtc(this)"></label>
<label>End date: <input name="date_end" data-inputgroup="date" value="{{ date.strftime('%Y-%m-%d') }}" style="width: 6em;" oninput="txtc(this)"></label>
<label><input name="cash" data-inputgroup="cash" type="checkbox" oninput="chbc(this)"> Cash basis</label>
</form>
</div>
<script>
// Called whenever a text input changes - update others to match
function txtc(el) {
for (var e2 of document.querySelectorAll('input[data-inputgroup="' + el.dataset['inputgroup'] + '"]')) {
e2.value = el.value;
}
}
// Ditto for checkboxes
function chbc(el) {
for (var e2 of document.querySelectorAll('input[data-inputgroup="' + el.dataset['inputgroup'] + '"]')) {
e2.checked = el.checked;
}
}
</script>
{% endblock %}