home · contact · privacy
In Day view, differentiate done and undone Todos, and collect doneness checkboxes.
[plomtask] / templates / day.html
index 7a34e58544f1c93a871bc316962d2bf60040b5d2..efa1c9bb1e78fc5ea455c5a678b4727fb22efdd3 100644 (file)
@@ -1,5 +1,50 @@
 {% extends 'base.html' %}
 
+
+{% macro show_node(node, indent) %}
+{% if node.is_todo %}
+{% for i in range(indent) %}  {% endfor %} +
+{% if node.seen %}({% else %}{% endif %}<a href="todo?id={{node.item.id_}}">{{node.item.process.title.newest|e}}</a>{% if node.seen %}){% else %}{% endif %}
+{% else %}
+{% for i in range(indent) %}&nbsp;{% endfor %} +
+{% if node.seen %}({% else %}{% endif %}<a href="condition?id={{node.item.id_}}">{{node.item.title.newest|e}}</a>{% if node.seen %}){% else %}{% endif %}
+{% endif %}
+{% endmacro %}
+
+
+{% macro undone_with_children(node, indent) %}
+{% if not node.hide %}
+<tr>
+<td>
+{% if node.is_todo %}
+<input name="done" value="{{node.item.id_}}" type="checkbox" {% if node.seen or not node.item.is_doable %}disabled{% endif %} {% if node.item.is_done %} checked {% endif %} />
+{% endif %}
+</td>
+<td>
+{{ show_node(node, indent) }}
+</td>
+</tr>
+{% endif %}
+{% for child in node.children %}
+{{ undone_with_children(child, indent+1) }}
+{% endfor %}
+{% endmacro %}
+
+
+{% macro done_with_children(node, indent) %}
+{% if not node.hide %}
+<tr>
+<td>
+{{ show_node(node, indent) }}
+</td>
+</tr>
+{% endif %}
+{% for child in node.children %}
+{{ done_with_children(child, indent+1) }}
+{% endfor %}
+{% endmacro %}
+
+
 {% block content %}
 <h3>{{day.date}} / {{day.weekday}}</h3>
 <p>
@@ -7,7 +52,37 @@
 </p>
 <form action="day?date={{day.date}}" method="POST">
 comment: <input name="comment" value="{{day.comment|e}}" />
-<input type="submit" value="OK" />
+<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>conditions</h4>
+<ul>
+{% for node in condition_listings %}
+<li>[{% if node.condition.is_active %}x{% else %} {% endif %}] <a href="condition?id={{node.condition.id_}}">{{node.condition.title.newest|e}}</a>
+({% for enabler in node.enablers %}
+&lt; {{enabler.process.title.newest|e}};
+{% endfor %}
+{% for disabler in node.disablers %}
+! {{disabler.process.title.newest|e}};
+{% endfor %})
+{% endfor %}
+</ul>
+<h4>to do</h4>
+<table>
+{% for node in todo_trees %}
+{{ undone_with_children(node, indent=0) }}
+{% endfor %}
+</table>
+<h4>done</h4>
+<table>
+{% for node in done_trees %}
+{{ done_with_children(node, indent=0) }}
+{% endfor %}
+</table>
 </form>
 {% endblock %}