Added rudimentary HTTP interface

This commit is contained in:
Florian "flowdy" Heß
2017-01-15 16:27:22 +01:00
parent 6d31efee39
commit f4bcbcad6f
26 changed files with 1758 additions and 38 deletions

View File

@@ -0,0 +1,16 @@
% title 'Transfer history';
<p>Reverse ordered list:</p>
<table>
<tr><th>Timestamp</th><th>Purpose (own/other/debit)</th><th>debit</th><th>credit</th><th>note</th></tr>
% while ( my $hr = $history->next ) {
<tr><td><%= $hr->date %></td><td>
% my $this = $hr->this_credit;
<strong>On <a href="/credit/<%= $hr->credId %>"><%= <%= $this->credId %></a>:</strong> <%= $this->purpose %><br>
% my $that = $hr->that_credit;
<strong>With <%= $that->account->ID %>/<a href="/credit/<%= $that->credId %>"><%= <%= $that->credId %></a>:</strong> <%= $that->purpose %><br>
<strong>Pay <%= $hr->billId %>:</strong> <%= $hr->purpose %>
</td><td class="number"><%= $hr->debit %></td><td class="number"><%= $hr->credit %></td><td><%= $hr->note %></td></tr>
% }
</table>

View File

@@ -0,0 +1,51 @@
% title 'Accounts';
<table class="accounts">
<col class="account"><col class="even_until"><col class="arrears"><col><col><col class="transfer"><col class="available"><col><col><col class="earned"><col class="promised"><col class="history"><col class="report">
<tr><th>Account</th><th>Even until</th><th colspan="3">Arrears</th><th>Transfer</th><th colspan="3">Available</th><th>Earned</th><th>Promised</th><th>History</th><th>Report</th></tr>
% my ($type) = q{};
% my $inter_header = begin
<tr><th colspan="13"><%= shift || 'Club management accounts' %></th></tr>
% end
% while ( my $account = $accounts->next ) {
% my $bal = $account->balance;
% my $t = $account->type // q{};
% if ( $type ne $t ) {
% $type = $t;
<%= $inter_header->($t) %>
% }
% my $u = $account->ID;
<tr><th><%= $u %></th>
<td class="even_until"><%= $bal->even_until // "never" %></td><td class="number"><%= $bal->arrears %></td><td><a href="<%= $u %>/debits">list</td><td><a href="<%= $u %>/out">add</a></td>
<td class="centered">
% my $which = ($bal->arrears && 1) + ($bal->available && 1);
% if ( $which == 2 ) {
<a class="transfer-btn" href="<%= $u %>/transfer">C&hArr;D!</a>
% }
% elsif ( $which ) {
<span style="background-color:rgba(224,224,0,0.4);">N/A</span>
% }
% else {
<span style="background-color:rgba(0,224,0,0.4);">N/A</span>
% }
</td><td class="number"><%= $bal->available %></td><td><a href="<%= $u %>/credits">list</a></td><td><a href="<%= $u %>/in">add</a></td><td class="number"><%= $bal->earned %></td><td class="number"><%= $bal->promised %></td><td><a href="<%= $u %>/history">History</a></td><td><a href="<%= $u %>/report">Report</a></td></tr>
% } # while
</table>
<div class="help">
<h2>Column explanation</h2>
<dl>
<dt>Even till:</dt>
<dd><p>Date of debt up to and including which all is settled.</p></dd>
<dt>Arrears:</dt>
<dd><p>Unpaid debits</p></dd>
<dt>Transfer:</dt>
<dd><p>Link to a view where you can match credit and debit and have the software transfer money in between automatically. Yellow "N/A" means there is no money to transfer as either credit or debit is 0. Green "N/A" means there is no money to transfer because the account is even.</p></dd>
<dt>Available:</dt>
<dd><p>Credits that have not been used or not to full extent, yet</p></dd>
<dt>Earned:</dt>
<dd><p>Paid debits targetting credits of that account.</p></dd>
<dt>Promised:</dt>
<dd><p>Unpaid or not fully paid debits targetting credits of that account.</p></dd>
</dl>
</div>

View File

@@ -0,0 +1,39 @@
% title 'Make transfers';
<p>Check at least one item of each table that belong together.</p>
<form method="post">
<h2>Available credits</h2>
<p>Check credits you want to <strong>pay above debit(s)</strong> with.</p>
<table>
<tr><th>S</th><th>date</th><th>purpose</th><th>to spend</th></tr>
% while ( my $d = $credits->next ) {
<tr><td><input type="checkbox" name="credits" value="<%= $d->credId %>"></td>
<td><%= $d->date %></td>
<td><%= $d->purpose %></td>
<td><%= $d->difference %></td>
</tr>
% }
</table>
<h2>Current arrears</h2>
<p>Check arrears you want to <strong>use this credit</strong> for.</p>
<table>
<tr><th>S</th><th>date</th><th>purpose</th><th>to pay</th></tr>
% while ( my $d = $arrears->next ) {
<tr><td><input type="checkbox" name="debits" value="<%= $d->billId %>"></td>
<td><%= $d->date %></td>
<td><%= $d->purpose %></td>
<td><%= $d->difference %></td>
</tr>
% }
</table>
<p><button type="submit">Make transfers</button>
<a href="<%= url_for('home') %>">Return to account list</a></p>
</form>