home · contact · privacy
Slightly improve and re-organize Condition tests.
[plomtask] / templates / process.html
index a07645e6a38646f08d5d4b0b23e35fba90a80f49..7bb503eeafd2a68e21987021a7db0a110c4e548b 100644 (file)
@@ -3,6 +3,20 @@
 
 
 
+{% block css %}
+details > summary::after {
+  content: '[+]';
+}
+details summary {
+  list-style: none;
+}
+details[open] > summary::after {
+  content: '[-]';
+}
+{% endblock %}
+
+
+
 {% macro step_with_steps(step_id, step_node, indent) %}
 <tr>
 <td>
 <input type="hidden" name="step_{{step_id}}_parent_id" value="{{step_node.parent_id or ''}}" />
 {% endif %}
 </td>
-<td>{% for i in range(indent) %}+{%endfor %}
-{% if (not step_node.is_explicit) and step_node.seen %}
+
+{% if step_node.is_explicit and not step_node.seen %}
+<td colspan=2>
+<details>
+<summary>
+{% else %}
+<td>
+{% endif %}
+
+{% for i in range(indent) %}+{%endfor %}
+{% if step_node.is_suppressed %}<del>{% endif %}
+{% if step_node.seen %}
 <a href="process?id={{step_node.process.id_}}">({{step_node.process.title.newest|e}})</a>
 {% else %}
 <a href="process?id={{step_node.process.id_}}">{{step_node.process.title.newest|e}}</a>
 {% endif %}
+{% if step_node.is_suppressed %}</del>{% endif %}
+
+
+{% if step_node.is_explicit and not step_node.seen %}
+</summary>
+<div>add sub-step: <input name="new_step_to_{{step_id}}" list="process_candidates" autocomplete="off" size="100" /></div>
+</details>
+{% endif %}
+
 </td>
+{% if (not step_node.is_explicit) and (not step_node.seen) %}
 <td>
-{% if step_node.is_explicit %}
-add sub-step: <input name="new_step_to_{{step_id}}" list="candidates" autocomplete="off" />
-{% endif %}
+<input type="checkbox" name="suppresses" value="{{step_id}}" {% if step_node.is_suppressed %}checked{% endif %}> suppress
 </td>
+{% endif %}
 </tr>
 {% if step_node.is_explicit or not step_node.seen %}
 {% for substep_id, substep in step_node.steps.items() %}
@@ -36,75 +69,75 @@ add sub-step: <input name="new_step_to_{{step_id}}" list="candidates" autocomple
 
 
 {% block content %}
-<h3>process</h3>
+<h3>
+{% if is_new %}
+add NEW process
+{% else %}
+edit process of ID {{process.id_}}
+{% endif %}
+</h3>
 <form action="process?id={{process.id_ or ''}}" method="POST">
-<table>
 
+<table class="edit_table">
 <tr>
 <th>title</th>
-<td><input name="title" value="{{process.title.newest|e}}" />{% if process.id_ %} [<a href="process_titles?id={{process.id_}}">history</a>]{% endif %}</td>
+<td><input name="title" type="text" value="{{process.title.newest|e}}" />{% if process.id_ %} [<a href="process_titles?id={{process.id_}}">history</a>]{% endif %}</td>
 </tr>
-
 <tr>
-<th>default effort</th>
-<td><input name="effort" type="number" step=0.1 value={{process.effort.newest}} />{% if process.id_ %} [<a href="process_efforts?id={{process.id_}}">history</a>]{% endif %}</td>
+<th>effort</th>
+<td><input type="number" name="effort" step=0.1 value={{process.effort.newest}} />{% if process.id_ %} [<a href="process_efforts?id={{process.id_}}">history</a>]{% endif %}</td>
 </tr>
-
 <tr>
 <th>description</th>
 <td><textarea name="description">{{process.description.newest|e}}</textarea><br />{% if process.id_ %} [<a href="process_descriptions?id={{process.id_}}">history</a>]{% endif %}</td>
 </tr>
-
 <tr>
 <th>calendarize</th>
 <td><input type="checkbox" name="calendarize" {% if process.calendarize %}checked {% endif %}</td>
 </tr>
-
 <tr>
 <th>conditions</th>
-<td>{{ macros.simple_checkbox_table("condition", process.conditions, "condition", "condition_candidates") }}</td>
+<td>{{ macros.simple_checkbox_table("conditions", process.conditions, "condition", "condition_candidates") }}</td>
 </tr>
-
 <tr>
 <th>blockers</th>
-<td>{{ macros.simple_checkbox_table("blocker", process.blockers, "condition", "condition_candidates") }}</td>
+<td>{{ macros.simple_checkbox_table("blockers", process.blockers, "condition", "condition_candidates") }}</td>
 </tr>
-
 <tr>
 <th>enables</th>
 <td>{{ macros.simple_checkbox_table("enables", process.enables, "condition", "condition_candidates") }}</td>
 </tr>
-
 <tr>
 <th>disables</th>
 <td>{{ macros.simple_checkbox_table("disables", process.disables, "condition", "condition_candidates") }}</td>
 </tr>
-
 <tr>
 <th>steps</th>
 <td>
+{% if steps %}
 <table>
 {% for step_id, step_node in steps.items() %}
 {{ step_with_steps(step_id, step_node, 0) }}
 {% endfor %}
 </table>
-add: <input name="new_top_step" list="step_candidates" autocomplete="off" />
+{% endif %}
+add: <input type="text" name="new_top_step" list="process_candidates" autocomplete="off" value="{{preset_top_step or ''}}" />
 </td>
-<tr>
-
+</tr>
 <tr>
 <th>step of</th>
+<td>{{ macros.simple_checkbox_table("step_of", owners, "process", "process_candidates") }}</td>
+</tr>
+<tr>
+<th>todos</th>
 <td>
-{% for owner in owners %}
-<a href="process?id={{owner.id_}}">{{owner.title.newest|e}}</a><br />
-{% endfor %}
+<a href="todos?process_id={{process.id_}}">{{n_todos}}</a><br />
 </td>
-<tr>
-
+</tr>
 </table>
+
 {{ macros.edit_buttons() }}
 </form>
-
 {{ macros.datalist_of_titles("condition_candidates", condition_candidates) }}
-{{ macros.datalist_of_titles("step_candidates", step_candidates) }}
+{{ macros.datalist_of_titles("process_candidates", process_candidates) }}
 {% endblock %}