home · contact · privacy
Fix Process retrieval/display/saving bugs.
[plomtask] / templates / process.html
1 {% extends 'base.html' %}
2
3 {% macro step_with_steps(step_id, step_node, indent) %}
4 <tr>
5 <td>
6 <input type="hidden" name="steps" value="{{step_id}}" />
7 {% if step_node.is_explicit %}
8 <input type="checkbox" name="keep_step" value="{{step_id}}" checked />
9 <input type="hidden" name="step_{{step_id}}_process_id" value="{{step_node.process.id_}}" />
10 <input type="hidden" name="step_{{step_id}}_parent_id" value="{{step_node.parent_id or ''}}" />
11 {% endif %}
12 </td>
13 <td>{% for i in range(indent) %}+{%endfor %}
14 {% if (not step_node.is_explicit) and step_node.seen %}
15 <a href="process?id={{step_node.process.id_}}">({{step_node.process.title.newest|e}})</a>
16 {% else %}
17 <a href="process?id={{step_node.process.id_}}">{{step_node.process.title.newest|e}}</a>
18 {% endif %}
19 </td>
20 <td>
21 {% if step_node.is_explicit %}
22 add step: <input name="new_step_to_{{step_id}}" list="candidates" autocomplete="off" />
23 {% endif %}
24 </td>
25 </tr>
26 {% if step_node.is_explicit or not step_node.seen %}
27 {% for substep_id, substep in step_node.steps.items() %}
28 {{ step_with_steps(substep_id, substep, indent+1) }}
29 {% endfor %}
30 {% endif %}
31 {% endmacro %}
32
33 {% block content %}
34 <h3>process</h3>
35 <form action="process?id={{process.id_ or ''}}" method="POST">
36 title: <input name="title" value="{{process.title.newest|e}}" />
37 description: <input name="description" value="{{process.description.newest|e}}" />
38 default effort: <input name="effort" type="number" step=0.1 value={{process.effort.newest}} />
39 <h4>conditions</h4>
40 <table>
41 {% for condition in process.conditions %}
42 <tr>
43 <td>
44 <input type="checkbox" name="condition" value="{{condition.id_}}" checked />
45 </td>
46 <td>
47 <a href="condition?id={{condition.id_}}">{{condition.title.newest|e}}</a>
48 </td>
49 </tr>
50 {% endfor %}
51 </table>
52 add condition: <input name="condition" list="condition_candidates" autocomplete="off" />
53 <datalist id="condition_candidates">
54 {% for condition_candidate in condition_candidates %}
55 <option value="{{condition_candidate.id_}}">{{condition_candidate.title.newest|e}}</option>
56 {% endfor %}
57 </datalist>
58 <h4>enables</h4>
59 <table>
60 {% for condition in process.enables %}
61 <tr>
62 <td>
63 <input type="checkbox" name="enables" value="{{condition.id_}}" checked />
64 </td>
65 <td>
66 <a href="condition?id={{condition.id_}}">{{condition.title.newest|e}}</a>
67 </td>
68 </tr>
69 {% endfor %}
70 </table>
71 add enables: <input name="enables" list="condition_candidates" autocomplete="off" />
72 <h4>disables</h4>
73 <table>
74 {% for condition in process.disables %}
75 <tr>
76 <td>
77 <input type="checkbox" name="disables" value="{{condition.id_}}" checked />
78 </td>
79 <td>
80 <a href="condition?id={{condition.id_}}">{{condition.title.newest|e}}</a>
81 </td>
82 </tr>
83 {% endfor %}
84 </table>
85 add disables: <input name="disables" list="condition_candidates" autocomplete="off" />
86 <h4>steps</h4>
87 <table>
88 {% for step_id, step_node in steps.items() %}
89 {{ step_with_steps(step_id, step_node, 0) }}
90 {% endfor %}
91 </table>
92 add step: <input name="new_top_step" list="step_candidates" autocomplete="off" />
93 <datalist id="step_candidates">
94 {% for candidate in step_candidates %}
95 <option value="{{candidate.id_}}">{{candidate.title.newest|e}}</option>
96 {% endfor %}
97 </datalist>
98 <h4>save</h4>
99 <input type="submit" value="OK" />
100 </form>
101 <h4>step of</h4>
102 <ul>
103 {% for owner in owners %}
104 <li><a href="process?id={{owner.id_}}">{{owner.title.newest|e}}</a>
105 {% endfor %}
106 </ul>
107 {% endblock %}