2020-01-14 00:06:14 +11:00
|
|
|
{#
|
|
|
|
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/>.
|
|
|
|
#}
|
|
|
|
|
2020-03-20 23:20:39 +11:00
|
|
|
{% extends 'base.html' %}
|
|
|
|
|
|
|
|
{% block title %}ledger-pyreport{% endblock %}
|
|
|
|
|
|
|
|
{% block body %}
|
2020-04-15 11:10:16 +10:00
|
|
|
<div class="index-group">
|
2020-03-23 23:55:06 +11:00
|
|
|
<form action="{{ url_for('trial') }}">
|
2020-03-20 23:20:39 +11:00
|
|
|
<button type="submit">Trial balance</button>
|
2020-03-23 00:44:32 +11:00
|
|
|
<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>
|
2020-05-01 02:30:51 +10:00
|
|
|
<label>
|
|
|
|
Compare <input name="compare" data-inputgroup="compare" value="0" style="width: 2em;" oninput="txtc(this)">
|
|
|
|
<select name="cmpperiod" data-inputgroup="cmpperiod" oninput="selc(this)">
|
|
|
|
<option value="period" selected>periods</option>
|
|
|
|
<option value="month">months</option>
|
|
|
|
</select>
|
|
|
|
</label>
|
2020-03-23 00:44:32 +11:00
|
|
|
<label><input name="cash" data-inputgroup="cash" type="checkbox" oninput="chbc(this)"> Cash basis</label>
|
2020-03-23 23:55:06 +11:00
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
|
2020-04-15 11:10:16 +10:00
|
|
|
<div class="index-group">
|
2020-03-23 23:55:06 +11:00
|
|
|
<form action="{{ url_for('balance') }}">
|
2020-03-20 23:20:39 +11:00
|
|
|
<button type="submit">Balance sheet</button>
|
2020-03-23 00:44:32 +11:00
|
|
|
<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>
|
2020-05-01 02:30:51 +10:00
|
|
|
<label>
|
|
|
|
Compare <input name="compare" data-inputgroup="compare" value="0" style="width: 2em;" oninput="txtc(this)">
|
|
|
|
<select name="cmpperiod" data-inputgroup="cmpperiod" oninput="selc(this)">
|
|
|
|
<option value="period" selected>periods</option>
|
|
|
|
<option value="month">months</option>
|
|
|
|
</select>
|
|
|
|
</label>
|
2020-03-23 00:44:32 +11:00
|
|
|
<label><input name="cash" data-inputgroup="cash" type="checkbox" oninput="chbc(this)"> Cash basis</label>
|
2020-03-23 23:55:06 +11:00
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
|
2020-04-15 11:10:16 +10:00
|
|
|
<div class="index-group">
|
2020-03-23 23:55:06 +11:00
|
|
|
<form action="{{ url_for('pandl') }}">
|
2020-03-20 23:20:39 +11:00
|
|
|
<button type="submit">Income statement</button>
|
2020-03-23 00:44:32 +11:00
|
|
|
<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>
|
2020-05-01 02:30:51 +10:00
|
|
|
<label>
|
|
|
|
Compare <input name="compare" data-inputgroup="compare" value="0" style="width: 2em;" oninput="txtc(this)">
|
|
|
|
<select name="cmpperiod" data-inputgroup="cmpperiod" oninput="selc(this)">
|
|
|
|
<option value="period" selected>periods</option>
|
|
|
|
<option value="month">months</option>
|
|
|
|
</select>
|
|
|
|
</label>
|
2020-03-23 00:44:32 +11:00
|
|
|
<label><input name="cash" data-inputgroup="cash" type="checkbox" oninput="chbc(this)"> Cash basis</label>
|
2020-04-01 13:48:14 +11:00
|
|
|
<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>
|
2020-03-23 23:55:06 +11:00
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
|
2020-04-15 11:10:16 +10:00
|
|
|
<div class="index-group">
|
2020-04-03 22:34:01 +11:00
|
|
|
<form action="{{ url_for('cashflow') }}">
|
|
|
|
<button type="submit">Cash flows</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>
|
2020-05-01 02:30:51 +10:00
|
|
|
<label>
|
|
|
|
Compare <input name="compare" data-inputgroup="compare" value="0" style="width: 2em;" oninput="txtc(this)">
|
|
|
|
<select name="cmpperiod" data-inputgroup="cmpperiod" oninput="selc(this)">
|
|
|
|
<option value="period" selected>periods</option>
|
|
|
|
<option value="month">months</option>
|
|
|
|
</select>
|
|
|
|
</label>
|
2020-04-03 22:34:01 +11:00
|
|
|
<label>Method: <select name="method">
|
|
|
|
<option value="indirect" selected>Indirect</option>
|
|
|
|
<option value="direct">Direct</option>
|
|
|
|
</select></label>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
|
2020-04-15 11:10:16 +10:00
|
|
|
<div class="index-group">
|
2020-03-23 23:55:06 +11:00
|
|
|
<form action="{{ url_for('transactions') }}">
|
2020-03-20 23:20:39 +11:00
|
|
|
<button type="submit">General ledger</button>
|
2020-04-01 11:58:35 +11:00
|
|
|
<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>
|
2020-03-23 00:44:32 +11:00
|
|
|
<label><input name="cash" data-inputgroup="cash" type="checkbox" oninput="chbc(this)"> Cash basis</label>
|
2020-03-23 23:55:06 +11:00
|
|
|
</form>
|
|
|
|
</div>
|
2020-03-20 23:20:39 +11:00
|
|
|
|
|
|
|
<script>
|
|
|
|
// Called whenever a text input changes - update others to match
|
|
|
|
function txtc(el) {
|
2020-03-23 00:44:32 +11:00
|
|
|
for (var e2 of document.querySelectorAll('input[data-inputgroup="' + el.dataset['inputgroup'] + '"]')) {
|
2020-03-20 23:20:39 +11:00
|
|
|
e2.value = el.value;
|
2020-02-15 11:47:10 +11:00
|
|
|
}
|
2020-03-20 23:20:39 +11:00
|
|
|
}
|
|
|
|
|
|
|
|
// Ditto for checkboxes
|
|
|
|
function chbc(el) {
|
2020-03-23 00:44:32 +11:00
|
|
|
for (var e2 of document.querySelectorAll('input[data-inputgroup="' + el.dataset['inputgroup'] + '"]')) {
|
2020-03-20 23:20:39 +11:00
|
|
|
e2.checked = el.checked;
|
2020-02-15 11:47:10 +11:00
|
|
|
}
|
2020-03-20 23:20:39 +11:00
|
|
|
}
|
2020-05-01 02:30:51 +10:00
|
|
|
|
|
|
|
// Ditto for dropdowns
|
|
|
|
function selc(el) {
|
|
|
|
for (var e2 of document.querySelectorAll('select[data-inputgroup="' + el.dataset['inputgroup'] + '"]')) {
|
|
|
|
e2.value = el.value;
|
|
|
|
}
|
|
|
|
}
|
2020-03-20 23:20:39 +11:00
|
|
|
</script>
|
|
|
|
{% endblock %}
|