Skip to content

Commit 75252c1

Browse files
committed
Add Assign and Resolve actions to Workflow UI
Implement the Workflow rules checked for in the model within the GUI. This way, people only see the actions relevant to their situation. None of the URLs have changed and the only modifications to the context environment so far have been additive - thus up to here there have been only a couple of minor backend changes. Namely, enforcing the already implicit policy of only opening up at most one of each Commitfest type at any given it. And allowing for re-entrancy of a Patch to a Commitfest. The UI does enforce a "Commit or Reject" policy for Patch resolution. Staff can still use Returned with Feedback. The author is expected to Withdraw their patch if they do not plan to act on the feedback, or move it back to Parked and Waiting on Author. Or they can Withdraw and create a new patch in the future. While the Workflow is not against giving people options, the volume of both rejected and returned resolutions is too small to warrant distinguishing them. Hopefully the finished UX is intuitive. The core three actors in the Workflow - author, reviewer, committer - have their core actions in columns left-to-right (though the columns are action-type oriented, not actor oriented). The headers are the verbs for the actions in the second row. The third row is actor-oriented listing the author(s), reviewer(a), and committer along with related membership actions. The fourth column is where the new movement implementation appears, making /close/next obsolete, especially with the addition of Parked. Having run out of actor categories the empty cell in the bottom-left becomes a perfect place to display the core information from the key-value table (which has been hidden). Namely, the status of the Commitfest and Patch this POC pertains to, the version (hyperlink on the label to the Edit screen), the topic (also with a label hyperlink to Edit), the Subscribe/Unsubscribe button, and the last modified timestamp. Emails, CFBot, and Links also brought over in a key-value table; while History is also hidden but part of the final design. The hidden key-value table is being phased out. The key elements from it that need to be figured out are: - Status (is a form of History and that should get a re-work) - Created (doesn't seem actionable, especially now with Parked) - Latest Email (redundant with Email content?) ID doesn't seem to useful and can be gotten from the URL if needed. Title is already at the top of the page. All other fields are incorporated into the Workflow UI.
1 parent db61a74 commit 75252c1

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

pgcommitfest/commitfest/templates/patch_workflow.inc

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,15 @@
1313
<tr>
1414
<!-- Change -->
1515
<td>
16-
<a class="btn btn-default" href="status/review/">Needs review</a>
17-
<a class="btn btn-default" href="status/author/">Waiting on Author</a>
18-
<a class="btn btn-default" href="status/committer/">Ready for Committer</a>
16+
{%if poc.status == poc.STATUS_AUTHOR %}
17+
<a class="btn btn-default" href="status/review/">Reviewer</a>
18+
{%endif%}
19+
{%if poc.status == poc.STATUS_REVIEW or poc.status == poc.STATUS_COMMITTER %}
20+
<a class="btn btn-default" href="status/author/">Author</a>
21+
{%endif%}
22+
{%if poc.status == poc.STATUS_REVIEW %}
23+
<a class="btn btn-default" href="status/committer/">Committer</a>
24+
{%endif%}
1925
</td>
2026
<!-- Annotate -->
2127
<td>
@@ -24,10 +30,17 @@
2430
</td>
2531
<!-- Resolve -->
2632
<td>
27-
<a class="btn btn-default" href="close/reject/" onclick="return verify_reject()">Rejected</a>
28-
<a class="btn btn-default" href="close/withdrawn/" onclick="return verify_withdrawn()">Withdrawn</a>
29-
<a class="btn btn-default" href="close/feedback/" onclick="return verify_returned()">Returned with feedback</a>
30-
<a class="btn btn-default" href="close/committed/" onclick="return flagCommitted({%if patch.committer%}'{{patch.committer}}'{%elif is_committer%}'{{user.username}}'{%else%}null{%endif%})">Committed</a>
33+
{%if is_committer or is_author %}
34+
{%if is_committer %}
35+
<a class="btn btn-default" href="close/committed/" onclick="return flagCommitted({%if patch.committer%}'{{patch.committer}}'{%elif is_committer%}'{{user.username}}'{%else%}null{%endif%})">Commit</a>
36+
<a class="btn btn-default" href="close/reject/" onclick="return verify_reject()">Reject</a>
37+
{%endif%}
38+
{%if is_author %}
39+
<a class="btn btn-default" href="close/withdrawn/" onclick="return verify_withdrawn()">Withdraw</a>
40+
{%endif%}
41+
{%else%}
42+
<span>No Actions Available</span>
43+
{%endif%}
3144
</td>
3245
<!-- Move -->
3346
<td>

0 commit comments

Comments
 (0)