From 5c6102bdbde57c23e1547dd4051fb995ebf16fa7 Mon Sep 17 00:00:00 2001 From: Christian Heller <c.heller@plomlompom.de> Date: Mon, 24 Feb 2025 12:48:36 +0100 Subject: [PATCH] Refactor template code. --- src/templates/_macros.tmpl | 48 +++++++++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/src/templates/_macros.tmpl b/src/templates/_macros.tmpl index bc98cc1..a1a2764 100644 --- a/src/templates/_macros.tmpl +++ b/src/templates/_macros.tmpl @@ -4,44 +4,49 @@ td.amt, td.curr { font-family: monospace; font-size: 1.3em; } {% endmacro %} + {% macro css_td_money_balance() %} td.balance.amt { width: 10em; } td.balance.curr { width: 3em; } {% endmacro %} + {% macro css_errors() %} td.invalid, tr.warning td.invalid { background-color: #ff0000; } {% endmacro %} + {% macro css_ledger_index_col() %} table.ledger tr > td:first-child { background-color: white; } {% endmacro %} -{% macro tr_money_balance(amt, curr) %} -<tr> -<td class="balance amt">{{amt}}</td> -<td class="balance curr">{{curr|truncate(4,true,"â¦")}}</td> -</tr> -{% endmacro %} +{% macro table_dat_lines_action_button(dat_line, verb, direction, label, enabled=true) %} +<input type="submit" name="ledger_{{verb}}_{{dat_line.booking_id}}_{{direction}}" value="{{label}}"{% if not enabled %} disabled{% endif %} /> +{% endmacro %} {% macro table_dat_lines(dat_lines, raw) %} <form action="/ledger_{% if raw %}raw{% else %}structured{% endif %}" method="POST"> <table class="ledger"> {% for dat_line in dat_lines %} <tr class="alternating{% if dat_line.is_questionable %} warning{% endif %}"> + + <td{% if dat_line.is_intro %} id="{{dat_line.booking_id}}"{% endif %}> {% if dat_line.is_intro %} - <td id="{{dat_line.booking_id}}"><a href="#{{dat_line.booking_id}}">[#]</a><input type="submit" name="ledger_move_{{dat_line.booking_id}}_up" value="^"{% if not dat_line.booking.can_move(1) %} disabled{% endif %}/></td> + <a href="#{{dat_line.booking_id}}">[#]</a> + {{ table_dat_lines_action_button(dat_line, "move", "up", "^", dat_line.booking.can_move(1)) }} {% elif dat_line.booking_line.idx == 1 %} - <td><a href="/balance?up_incl={{dat_line.booking_id}}">[b]</a><input type="submit" name="ledger_move_{{dat_line.booking_id}}_down" value="v"{% if not dat_line.booking.can_move(0) %} disabled{% endif %}/></td> + <a href="/balance?up_incl={{dat_line.booking_id}}">[b]</a> + {{ table_dat_lines_action_button(dat_line, "move", "down", "v", dat_line.booking.can_move(0)) }} {% elif dat_line.booking_line.idx == 2 %} - <td><input type="submit" name="ledger_copy_{{dat_line.booking_id}}_here" value="c" /><input type="submit" name="ledger_copy_{{dat_line.booking_id}}_to_end" value="C" /></td> - {% else %} - <td></td> + {{ table_dat_lines_action_button(dat_line, "copy", "here", "c") }} + {{ table_dat_lines_action_button(dat_line, "copy", "to_end", "C") }} {% endif %} + </td> + {% if raw %} <td{% if dat_line.error %} class="invalid"{% endif %}> {% if dat_line.is_intro %} @@ -52,7 +57,9 @@ table.ledger tr > td:first-child { background-color: white; } </td> {% else %} {% if dat_line.is_intro %} - <td class="date {% if dat_line.error %} invalid{% endif %}" colspan=2><a href="/bookings/{{dat_line.booking_id}}">{{dat_line.booking.date}}</a></td> + <td class="date {% if dat_line.error %} invalid{% endif %}" colspan=2> + <a href="/bookings/{{dat_line.booking_id}}">{{dat_line.booking.date}}</a> + </td> <td{% if dat_line.error %} class="invalid"{% endif %}>{{dat_line.booking.target}}</td> <td>{{dat_line.comment}}</td> {% elif dat_line.error %} @@ -64,17 +71,20 @@ table.ledger tr > td:first-child { background-color: white; } <td>{{dat_line.booking_line.account}}</td> <td>{{dat_line.comment}}</td> {% else %} - <td colspan=2></td><td colspan=2>{{dat_line.comment}} </td> + <td colspan=2></td> + <td colspan=2>{{dat_line.comment}} </td> {% endif %} {% endif %} </tr> - {% if dat_line.error and not raw %} + + {% if (not raw) and dat_line.error %} <tr class="alternating warning"> <td></td> <td class="invalid" colspan=3>{{dat_line.error}}</td> <td></td> </tr> {% endif %} + {% endfor %} </table> </form> @@ -108,6 +118,7 @@ function taint() { {% endmacro %} + {% macro edit_bar(target, id) %} <span class="disable_on_change"> <a href="/bookings/{{id-1}}">prev</a> · <a href="/bookings/{{id+1}}">next</a> @@ -121,6 +132,14 @@ function taint() { {% endmacro %} + +{% macro tr_money_balance(amt, curr) %} +<tr> +<td class="balance amt">{{amt}}</td> +<td class="balance curr">{{curr|truncate(4,true,"â¦")}}</td> +</tr> +{% endmacro %} + {% macro booking_balance_account_with_children(node) %} <tr class="alternating"> <td {% if node.direct_target %}class="direct_target"{% endif %}>{{node.name}}{% if node.children %}:{% endif %}</td> @@ -153,6 +172,7 @@ function taint() { {% endmacro %} + {% macro booking_balance(valid, roots) %} <hr /> <table{% if not valid %} class="warning"{% endif %}> -- 2.30.2