1 {% extends '_base.html' %}
2 {% import '_macros.html' as macros %}
12 border: 1px solid black;
18 background-color: #ffbbbb;
21 background-color: #bbffbb;
24 background-color: #bbbbff;
27 border-bottom: 1px solid #bbbbbb;
33 {% macro show_node_undone(node, indent) %}
34 {% if not node.todo.is_done %}
36 <input type="hidden" name="todo_id" value="{{node.todo.id_}}" />
38 {% for condition in conditions_present %}
39 <td class="cond_line_{{loop.index0 % 3}} {% if not condition.is_active %}min_width{% endif %}">{% if condition in node.todo.conditions %}{% if not condition.is_active %}O{% endif %}{% endif %}</td>
42 <td class="todo_line">-></td>
43 <td class="todo_line"><input name="done" type="checkbox" value="{{node.todo.id_}}" {% if node.todo.is_done %}checked disabled{% endif %} {% if not node.todo.is_doable %}disabled{% endif %}/></td>
44 <td class="todo_line"><input name="effort" type="number" step=0.1 size=5 placeholder={{node.todo.process.effort.newest }} value={{node.todo.effort}} /></td>
45 <td class="todo_line">
46 {% for i in range(indent) %} {% endfor %} +
47 {% if node.seen %}({% endif %}<a href="todo?id={{node.todo.id_}}">{{node.todo.process.title.newest|e}}</a>{% if node.seen %}){% endif %}
49 <td class="todo_line">-></td>
51 {% for condition in conditions_present|reverse %}
52 <td class="cond_line_{{(conditions_present|length - loop.index) % 3}} {% if condition in node.todo.enables or condition in node.todo.disables %}min_width{% endif %}">{% if condition in node.todo.enables %}+{% elif condition in node.todo.disables %}!{% endif %}</td>
55 <td><input name="comment" value="{{node.todo.comment|e}}" /></td>
60 {% if not node.seen %}
61 {% for child in node.children %}
62 {{ show_node_undone(child, indent+1) }}
70 {% macro show_node_done(node, indent, path) %}
71 {% if node.todo.is_done %}
74 {% if path|length > 0 and not path[-1].todo.is_done %}
76 ({% for path_node in path %}<a href="todo?id={{path_node.todo.id_}}">{{path_node.todo.process.title.newest|e}}</a> <- {% endfor %})
85 {% for i in range(indent) %} {% endfor %} +
87 {% if node.seen %}({% endif %}<a href="todo?id={{node.todo.id_}}">{{node.todo.process.title.newest|e}}</a> {% if node.todo.comment|length > 0 %}[{{node.todo.comment|e}}]{% endif %}{% if node.seen %}){% endif %}
92 {% if not node.seen %}
93 {% for child in node.children %}
94 {{ show_node_done(child, indent+1, path + [node]) }}
103 <h3>{{day.date}} / {{day.weekday}}</h3>
105 <a href="day?date={{day.prev_date}}">prev</a> | <a href="day?date={{day.next_date}}">next</a>
107 <form action="day?date={{day.date}}" method="POST">
108 comment: <input name="day_comment" value="{{day.comment|e}}" />
109 <input type="submit" value="OK" /><br />
110 add todo: <input name="new_todo" list="processes" autocomplete="off" />
117 <th colspan={{ conditions_present|length}}>c</th>
118 <th colspan=5>states</th>
119 <th colspan={{ conditions_present|length}}>t</th>
123 {% for condition in conditions_present %}
124 {% set outer_loop = loop %}
127 {% for _ in conditions_present %}
128 {% if outer_loop.index > loop.index %}
129 <td class="cond_line_{{loop.index0 % 3}}">
131 <td class="cond_line_{{outer_loop.index0 % 3}}">
133 {% if outer_loop.index == loop.index %}
138 <td class="cond_line_{{loop.index0 % 3}}">[{% if condition.is_active %}X{% else %} {% endif %}]</td>
139 <td colspan=4 class="cond_line_{{loop.index0 % 3}}"><a href="condition?id={{condition.id_}}">{{condition.title.newest|e}}</a></td>
141 {% for _ in conditions_present %}
142 {% if outer_loop.index0 + loop.index0 < conditions_present|length %}
143 <td class="cond_line_{{outer_loop.index0 % 3}}">
145 <td class="cond_line_{{(conditions_present|length - loop.index) % 3}}">
148 {% set list_name = "todos_for_%s"|format(condition.id_) %}
149 <td><input name="new_todo" list="{{list_name}}" autocomplete="off" /></td>
150 {{ macros.datalist_of_titles(list_name, enablers_for[condition.id_]) }}
156 {% for condition in conditions_present %}
157 <td class="cond_line_{{loop.index0 % 3}}"></td>
159 <th colspan=5>doables</th>
160 {% for condition in conditions_present %}
161 <td class="cond_line_{{(conditions_present|length - loop.index) % 3}}"></td>
165 {% for node in top_nodes %}
166 {{ show_node_undone(node, 0) }}
174 {% for node in top_nodes %}
175 {{ show_node_done(node, 0, []) }}
181 {{ macros.datalist_of_titles("processes", processes) }}