home · contact · privacy
Refactor templates.
authorChristian Heller <c.heller@plomlompom.de>
Sat, 18 May 2024 01:34:44 +0000 (03:34 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Sat, 18 May 2024 01:34:44 +0000 (03:34 +0200)
templates/_base.html [new file with mode: 0644]
templates/base.html [deleted file]
templates/calendar.html
templates/condition.html
templates/conditions.html
templates/day.html
templates/msg.html
templates/process.html
templates/processes.html
templates/todo.html

diff --git a/templates/_base.html b/templates/_base.html
new file mode 100644 (file)
index 0000000..0070630
--- /dev/null
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html>
+<meta charset="UTF-8">
+<style>
+body {
+  font-family: monospace;
+  text-align: left;
+  padding: 0;
+}
+input.btn-harmless {
+  color: green;
+}
+input.btn-dangerous {
+  color: red;
+}
+div.btn-to-right {
+  float: right;
+  text-align: right;
+}
+td, th, tr, table {
+  vertical-align: top;
+  padding: 0;
+}
+{% block css %}
+{% endblock %}
+</style>
+<body>
+<a href="processes">processes</a>
+<a href="conditions">conditions</a>
+<a href="day">today</a>
+<a href="calendar">calendar</a>
+<hr>
+{% block content %}
+{% endblock %}
+</body>
+</html>
diff --git a/templates/base.html b/templates/base.html
deleted file mode 100644 (file)
index 0070630..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html>
-<html>
-<meta charset="UTF-8">
-<style>
-body {
-  font-family: monospace;
-  text-align: left;
-  padding: 0;
-}
-input.btn-harmless {
-  color: green;
-}
-input.btn-dangerous {
-  color: red;
-}
-div.btn-to-right {
-  float: right;
-  text-align: right;
-}
-td, th, tr, table {
-  vertical-align: top;
-  padding: 0;
-}
-{% block css %}
-{% endblock %}
-</style>
-<body>
-<a href="processes">processes</a>
-<a href="conditions">conditions</a>
-<a href="day">today</a>
-<a href="calendar">calendar</a>
-<hr>
-{% block content %}
-{% endblock %}
-</body>
-</html>
index eae103d9929ccc061b6eff1d296ecf2767325e81..f6208bbc79d08bdad6301480293d548d89a09923 100644 (file)
@@ -1,4 +1,6 @@
-{% extends 'base.html' %}
+{% extends '_base.html' %}
+
+
 
 {% block css %}
 tr.week_row td {
index 00aeedb6762f2d304b8784f116bce795ba350418..8e73e5ee5ec712f566271dc2ab8eb8347042048a 100644 (file)
@@ -1,4 +1,5 @@
-{% extends 'base.html' %}
+{% extends '_base.html' %}
+{% import '_macros.html' as macros %}
 
 
 
@@ -23,9 +24,6 @@
 <tr/>
 
 </table>
-<input class="btn-harmless" type="submit" name="update" value="update" />
-<div class="btn-to-right">
-<input class="btn-dangerous" type="submit" name="delete" value="delete" />
-</div>
+{{ macros.edit_buttons() }}
 {% endblock %}
 
index a717bf0b2fd887bc8adbf5a30abc4caed3c303d5..e2c4ec1ff7ff99be52c19903afe141a34fc11f12 100644 (file)
@@ -1,4 +1,4 @@
-{% extends 'base.html' %}
+{% extends '_base.html' %}
 
 {% block content %}
 <a href="condition">add</a>
index a0823f33e16fb218d3212756fb3fe11bb9c8cfb3..da5e17ae91d239e4d95a3893c5f34d31837b3ebd 100644 (file)
@@ -1,4 +1,5 @@
-{% extends 'base.html' %}
+{% extends '_base.html' %}
+{% import '_macros.html' as macros %}
 
 
 
@@ -106,11 +107,6 @@ td.todo_line {
 comment: <input name="day_comment" value="{{day.comment|e}}" />
 <input type="submit" value="OK" /><br />
 add todo: <input name="new_todo" list="processes" autocomplete="off" />
-<datalist id="processes">
-{% for process in processes %}
-<option value="{{process.id_}}">{{process.title.newest|e}}</option>
-{% endfor %}
-</datalist>
 
 <h4>todo</h4>
 
@@ -148,13 +144,9 @@ add todo: <input name="new_todo" list="processes" autocomplete="off" />
 <td class="cond_line_{{(conditions_present|length - loop.index) % 3}}">
 {% endif %}
 {% endfor %}
-
-<td><input name="new_todo" list="todos_for_{{condition.id_}}" autocomplete="off" /></td>
-<datalist name="new_todo" id="todos_for_{{condition.id_}}" />
-{% for process in enablers_for[condition.id_] %}
-<option value="{{process.id_}}">{{process.title.newest|e}}</option>
-{% endfor %}
-</datalist />
+{% set list_name = "todos_for_%s"|format(condition.id_) %}
+<td><input name="new_todo" list="{{list_name}}" autocomplete="off" /></td>
+{{ macros.datalist_of_direct_titles(list_name, enablers_for[condition.id_]) }}
 </td>
 </tr>
 {% endfor %}
@@ -184,5 +176,6 @@ add todo: <input name="new_todo" list="processes" autocomplete="off" />
 </table>
 
 </form>
-{% endblock %}
 
+{{ macros.datalist_of_direct_titles("processes", processes) }}
+{% endblock %}
index 90cd61c15a25c66944b0e6a4bd967768b28e4a0e..3672f21346194c75c702625e20a792e5c9fe1db3 100644 (file)
@@ -1,4 +1,6 @@
-{% extends 'base.html' %}
+{% extends '_base.html' %}
+
+
 
 {% block content %}
 <p>{{msg}}</p>
index 10442cfe76bffd5e85788b82e12f184f1ff94b72..41f811705eef7223efb7d92591b4c0431c629c03 100644 (file)
@@ -1,4 +1,5 @@
-{% extends 'base.html' %}
+{% extends '_base.html' %}
+{% import '_macros.html' as macros %}
 
 
 
@@ -56,59 +57,17 @@ add: <input name="new_step_to_{{step_id}}" list="candidates" autocomplete="off"
 
 <tr>
 <th>conditions</th>
-<td>
-<table>
-{% for condition in process.conditions %}
-<tr>
-<td>
-<input type="checkbox" name="condition" value="{{condition.id_}}" checked />
-</td>
-<td>
-<a href="condition?id={{condition.id_}}">{{condition.title.newest|e}}</a>
-</td>
-</tr>
-{% endfor %}
-</table>
-add: <input name="condition" list="condition_candidates" autocomplete="off" />
-</td>
+<td>{{ macros.simple_checkbox_table("condition", process.conditions, "condition", "condition_candidates") }}</td>
 </tr>
 
 <tr>
 <th>enables</th>
-<td>
-<table>
-{% for condition in process.enables %}
-<tr>
-<td>
-<input type="checkbox" name="enables" value="{{condition.id_}}" checked />
-</td>
-<td>
-<a href="condition?id={{condition.id_}}">{{condition.title.newest|e}}</a>
-</td>
-</tr>
-{% endfor %}
-</table>
-add: <input name="enables" list="condition_candidates" autocomplete="off" />
-</td>
+<td>{{ macros.simple_checkbox_table("enables", process.enables, "condition", "condition_candidates") }}</td>
 </tr>
 
 <tr>
 <th>disables</th>
-<td>
-<table>
-{% for condition in process.disables %}
-<tr>
-<td>
-<input type="checkbox" name="disables" value="{{condition.id_}}" checked />
-</td>
-<td>
-<a href="condition?id={{condition.id_}}">{{condition.title.newest|e}}</a>
-</td>
-</tr>
-{% endfor %}
-</table>
-add: <input name="disables" list="condition_candidates" autocomplete="off" />
-</td>
+<td>{{ macros.simple_checkbox_table("disables", process.disables, "condition", "condition_candidates") }}</td>
 </tr>
 
 <tr>
@@ -133,20 +92,9 @@ add: <input name="new_top_step" list="step_candidates" autocomplete="off" />
 <tr>
 
 </table>
-<datalist id="condition_candidates">
-{% for condition_candidate in condition_candidates %}
-<option value="{{condition_candidate.id_}}">{{condition_candidate.title.newest|e}}</option>
-{% endfor %}
-</datalist>
-<datalist id="step_candidates">
-{% for candidate in step_candidates %}
-<option value="{{candidate.id_}}">{{candidate.title.newest|e}}</option>
-{% endfor %}
-</datalist>
-
-<input class="btn-harmless" type="submit" name="update" value="update" />
-<div class="btn-to-right">
-<input class="btn-dangerous" type="submit" name="delete" value="delete" />
-</div>
+{{ macros.edit_buttons() }}
 </form>
+
+{{ macros.datalist_of_direct_titles("condition_candidates", condition_candidates) }}
+{{ macros.datalist_of_direct_titles("step_candidates", step_candidates) }}
 {% endblock %}
index 6dc3e85c5690b38438dbe222c6c1dec6aeaff2f4..6c3c64bc12b3d6b9c48d035bea28ee132f3f13af 100644 (file)
@@ -1,4 +1,4 @@
-{% extends 'base.html' %}
+{% extends '_base.html' %}
 
 {% block content %}
 <a href="process">add</a>
index 44cdfa7eec24de0db04dd1eaa3984fa3abea41d4..d3957af79545e5492fc8217d6977cfb91046b886 100644 (file)
@@ -1,4 +1,5 @@
-{% extends 'base.html' %}
+{% extends '_base.html' %}
+{% import '_macros.html' as macros %}
 
 
 
 
 <tr>
 <th>conditions</th>
-<td>
-<table>
-{% for condition in todo.conditions %}
-<tr>
-<td>
-<input type="checkbox" name="condition" value="{{condition.id_}}" checked />
-</td>
-<td>
-<a href="condition?id={{condition.id_}}">{{condition.title.newest|e}}</a>
-</td>
-</tr>
-{% endfor %}
-</table>
-add: <input name="condition" list="condition_candidates" autocomplete="off" />
-</td>
+<td>{{ macros.simple_checkbox_table("condition", todo.conditions, "condition", "condition_candidates") }}</td>
 </tr>
 
 <tr>
 <th>enables</th>
-<td>
-<table>
-{% for condition in todo.enables %}
-<tr>
-<td>
-<input type="checkbox" name="enables" value="{{condition.id_}}" checked />
-</td>
-<td>
-<a href="condition?id={{condition.id_}}">{{condition.title.newest|e}}</a>
-</td>
-</tr>
-{% endfor %}
-</table>
-add: <input name="enables" list="condition_candidates" autocomplete="off" />
-</td>
+<td>{{ macros.simple_checkbox_table("enables", todo.enables, "condition", "condition_candidates") }}</td>
 </tr>
 
 <tr>
 <th>disables</th>
-<td>
-<table>
-{% for condition in todo.disables%}
-<tr>
-<td>
-<input type="checkbox" name="disables" value="{{condition.id_}}" checked />
-</td>
-<td>
-<a href="condition?id={{condition.id_}}">{{condition.title.newest|e}}</a>
-</td>
-</tr>
-{% endfor %}
-</table>
-add: <input name="disables" list="condition_candidates" autocomplete="off" />
-</td>
+<td>{{ macros.simple_checkbox_table("disables", todo.disables, "condition", "condition_candidates") }}</td>
 </tr>
 
 <tr>
@@ -109,20 +68,9 @@ adopt: <input name="adopt" list="todo_candidates" autocomplete="off" />
 </tr>
 
 </table>
-<input class="btn-harmless" type="submit" name="update" value="update" />
-<div class="btn-to-right">
-<input class="btn-dangerous" type="submit" name="delete" value="delete" />
-</div>
+{{ macros.edit_buttons() }}
 </form>
 
-<datalist id="condition_candidates">
-{% for condition_candidate in condition_candidates %}
-<option value="{{condition_candidate.id_}}">{{condition_candidate.title.newest|e}}</option>
-{% endfor %}
-</datalist>
-<datalist id="todo_candidates">
-{% for candidate in todo_candidates %}
-<option value="{{candidate.id_}}">{{candidate.process.title.newest|e}} ({{candidate.id_}})</option>
-{% endfor %}
-</datalist>
+{{ macros.datalist_of_direct_titles("condition_candidates", condition_candidates) }}
+{{ macros.datalist_of_indirect_titles("todo_candidates", todo_candidates) }}
 {% endblock %}