home · contact · privacy
Add Todo.title shortcut to Todo.process.title for more template refactoring.
[plomtask] / templates / process.html
index 0f0f0c5a49e5bef9db9b9eb558f7d416afedd4fa..5aebe53aaecf8f49b6e8440da36c5987c0e24d3e 100644 (file)
-{% extends 'base.html' %}
+{% extends '_base.html' %}
+{% import '_macros.html' as macros %}
 
-{% macro process_with_children(node, indent) %}
+
+
+{% macro step_with_steps(step_id, step_node, indent) %}
 <tr>
 <td>
-<input type="checkbox" name="children" value="{{node.process.id_}}" checked />
+<input type="hidden" name="steps" value="{{step_id}}" />
+{% if step_node.is_explicit %}
+<input type="checkbox" name="keep_step" value="{{step_id}}" checked />
+<input type="hidden" name="step_{{step_id}}_process_id" value="{{step_node.process.id_}}" />
+<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 %}
+<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 %}
 </td>
 <td>
-{% for i in range(indent) %}+{%endfor %}
-<a href="process?id={{node.process.id_}}">{{node.process.title.newest|e}}</a>
+{% if step_node.is_explicit %}
+add: <input name="new_step_to_{{step_id}}" list="candidates" autocomplete="off" />
+{% endif %}
 </td>
 </tr>
-{% for child in node.children %}
-{{ process_with_children(child, indent+1) }}
+{% if step_node.is_explicit or not step_node.seen %}
+{% for substep_id, substep in step_node.steps.items() %}
+{{ step_with_steps(substep_id, substep, indent+1) }}
 {% endfor %}
+{% endif %}
 {% endmacro %}
 
+
+
 {% block content %}
-<h3>Process</h3>
+<h3>process</h3>
 <form action="process?id={{process.id_ or ''}}" method="POST">
-title: <input name="title" value="{{process.title.newest|e}}" />
-description: <input name="description" value="{{process.description.newest|e}}" />
-default effort: <input name="effort" type="number" step=0.1 value={{process.effort.newest}} />
 <table>
-{% for child in children %}
-{{ process_with_children(child, 0) }}
+
+<tr>
+<th>title</th>
+<td><input name="title" value="{{process.title.newest|e}}" /></td>
+</tr>
+
+<tr>
+<th>default effort</th>
+<td><input name="effort" type="number" step=0.1 value={{process.effort.newest}} /></td>
+</tr>
+
+<tr>
+<th>description</th>
+<td><textarea name="description">{{process.description.newest|e}}</textarea></td>
+</tr>
+
+<tr>
+<th>conditions</th>
+<td>{{ macros.simple_checkbox_table("condition", process.conditions, "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>
+<table>
+{% for step_id, step_node in steps.items() %}
+{{ step_with_steps(step_id, step_node, 0) }}
 {% endfor %}
 </table>
-add child: <input name="children" list="candidates" autocomplete="off" />
-<datalist id="candidates">
-{% for candidate in candidates %}
-<option value="{{candidate.id_}}">{{candidate.title.newest|e}}</option>
+add: <input name="new_top_step" list="step_candidates" autocomplete="off" />
+</td>
+<tr>
+
+<tr>
+<th>step of</th>
+<td>
+{% for owner in owners %}
+<a href="process?id={{owner.id_}}">{{owner.title.newest|e}}</a><br />
 {% endfor %}
-</datalist>
-<input type="submit" value="OK" />
-</form>
-{% endblock %}
+</td>
+<tr>
 
+</table>
+{{ macros.edit_buttons() }}
+</form>
 
+{{ macros.datalist_of_titles("condition_candidates", condition_candidates) }}
+{{ macros.datalist_of_titles("step_candidates", step_candidates) }}
+{% endblock %}