diff --git a/scipost_django/submissions/templates/submissions/_hx_submission_workflow_diagram.html b/scipost_django/submissions/templates/submissions/_hx_submission_workflow_diagram.html index 5a2b5c11bd88e3fd422a109f03067f2bf9a08ab3..b9e9a293f927db80ccc5666ad5df550133ef10c6 100644 --- a/scipost_django/submissions/templates/submissions/_hx_submission_workflow_diagram.html +++ b/scipost_django/submissions/templates/submissions/_hx_submission_workflow_diagram.html @@ -1,39 +1,58 @@ <div class="border m-2 p-2"> - <strong class="m-2">Workflow graphs{% if submission %} for <a href="{{ submission.get_absolute_url }}">{{ submission }}</a>{% else %}: Submission processing{% endif %}</strong> -<div class="m-4"> - <strong class="mt-2">Pre-screening</strong> - <pre class="mermaid"> + <p><strong class="m-2">Workflow graphs{% if submission %} for <a href="{{ submission.get_absolute_url }}">{{ submission }}</a>{% else %}: Submission processing{% endif %}</strong></p> + <details class="m-2 p-2 border"> + <summary><strong>Legend</strong></summary> + <ul class="m-2 list list-unstyled"> + <li>✉=email sent</li> + <li>S=SciPost EdAdmin</li> + <li>A=submitting Author</li> + <li>F=Fellow(s)</li> + <li>E=Editor-in-charge</li> + <li>R=Referee(s)</li> + <li>C=Contributor/commenter</li> + </ul> + <p>Examples: + <ul> + <li>✉<small>A</small> signifies email from SciPost to submitting author</li> + <li>✉<small>E,R?C?</small> signifies emails to Editor-in-charge, Referee (if ∃), Commenter (if ∃)</li> + </ul> + </p> + </details> + <div class="m-4"> + <strong class="mt-2">Pre-screening</strong> + <pre class="mermaid"> flowchart LR Sub([Submission{% if submission %}<br>{{ submission.submission_date }}<br>{{ submission.submission_date|timesince }} ago{% endif %}]) subgraph Pre-screening Admiss(Admissibility<br>and plagiarism<br>checks) --pass--> PreTop(Topics<br>specification) PreTop --> PreCOI(Conflict<br>of interest<br>checks) - PreCOI --> PrePa(Pre-assignments) + PreCOI --> PrePa(Listing of<br>potential<br>Editors-in-charge) end - Admiss --fail--> PreFailed([Pre-screening<br>failed]) + Admiss --fail--> PreFailed(["Pre-screening<br>failed ✉<small>A</small>"]) Sub --> Admiss - PrePa --> PrePass([Pre-screening<br>passed]) --> Screening[[Goto:<br>Screening]] -</pre> -</div> -<div class="m-4"> - <strong class="mt-2">Screening</strong> - <pre class="mermaid"> + PrePa --> PrePass(["Pre-screening<br>passed ✉<small>A</small>"]) --> Screening[[Goto:<br>Screening]] + </pre> + </div> + <div class="m-4"> + <strong class="mt-2">Screening</strong> + <pre class="mermaid"> flowchart LR subgraph Screening - ScrInv([Fellows invited<br>to take charge]) --> ScrDecl(Fellows decline) + ScrInv(["Fellows invited<br>to take charge ✉<small>F</small>"]) --> ScrDecl(Fellows decline) ScrInv --> ScrNoAns(Fellows unresponsive) + ScrDecl --> NoEiC(No Editor-in-charge<br>found) + ScrNoAns --> NoEiC ScrInv --> ScrAcc(A Fellow accepts) - ScrAcc --> ScrEiC(Editor-in-charge<br>appointed) + ScrAcc --> ScrEiC("Editor-in-charge<br>appointed ✉<small>E</small>") ScrVol(A Fellow<br>volunteers) --> ScrEiC end - ScrDecl --> DeskRej([Screening failed]) - ScrNoAns --> DeskRej - ScrEiC --> ScrPassed([Screening<br>passed]) --> RefPrep[[Goto:<br>Refereeing setup]] - </pre> -</div> -<div class="m-4"> - <strong class="mt-2">Refereeing setup</strong> - <pre class="mermaid"> + NoEiC --> DeskRej(["Screening<br>failed ✉<small>A</small>"]) + ScrEiC --> ScrPassed(["Screening<br>passed ✉<small>A</small>"]) --> RefPrep[[Goto:<br>Refereeing setup]] + </pre> + </div> + <div class="m-4"> + <strong class="mt-2">Refereeing setup</strong> + <pre class="mermaid"> flowchart LR subgraph ChooseCycle [Choose refereeing cycle] DirectRec(Direct recommendation) @@ -42,34 +61,34 @@ flowchart LR end ScrPassed --> DirectRec ScrPassed([Screening passed]) --> RegCycle - Resub([Resubmission or<br>restart refereeing]) --> RegCycle + Resub([Resubmission received<br>or restart refereeing]) --> RegCycle Resub --> ShortCycle Resub --> DirectRec DirectRec ----> EdRec[[Goto:<br>Editorial Recommendation]] RegCycle ----> Refereeing[[Goto:<br>Refereeing]] ShortCycle ----> Refereeing - </pre> -</div> -<div class="m-4"> -<strong class="mt-2">Refereeing</strong> -<pre class="mermaid"> + </pre> + </div> + <div class="m-4"> + <strong class="mt-2">Refereeing</strong> + <pre class="mermaid"> flowchart LR subgraph Ref [Refereeing] - RefOpen([Refereeing<br>round open]) --> RefInv(Referees<br>invited) - RefInv--> RepSub(Reports<br>submitted) + RefOpen([Refereeing<br>round open]) --> RefInv("Referees<br>invited ✉<small>R</small>") + RefInv--> RepSub("Reports<br>submitted ✉<small>E</small>") RefCont(Contributed<br>Reports) --> RepSub - RepSub --vetting--> RepPub(Reports<br>published) - RepPub --> AuthResp(Author<br>response) - ContCom(Contributed<br>Comments) --vetting--> ComPub(Comments<br>published) + RepSub --vetting--> RepPub("Reports<br>published ✉<small>A</small>") + RepPub --> AuthResp("Author response<br> ✉<small>E,R?C?</small>") + ContCom("Contributed<br>Comments ✉<small>E</small>") --vetting--> ComPub("Comments<br>published ✉<small>A</small>") ComPub --> AuthResp AuthResp --> RefClosed(Refereeing round<br>closed) end RefClosed --> EiCRec[[Goto:<br>Editorial recommendation]] -</pre> -</div> -<div class="m-4"> - <strong>Recommendation, voting and decision</strong> - <pre class="mermaid"> + </pre> + </div> + <div class="m-4"> + <strong>Recommendation, voting and decision</strong> + <pre class="mermaid"> flowchart LR subgraph EiCRec [Editorial recommendation] RefClosed([Refereeing round<br>closed]) --> EiCRecForm{% verbatim %}{{EiC Rec<br>Formulation}}{% endverbatim %} @@ -79,10 +98,10 @@ flowchart LR VotePrep(Voting<br>preparation) --> VotingInv(Fellows<br>invited to vote) VotingInv --> Voting(Fellows voting) end - EiCRecForm --minor/major revision--> Resub(Resubmission) + EiCRecForm --minor/major revision--> Resub(Resubmission<br>required) EiCRecForm --accept/reject--> EdColVote - Resub --> Refereeing[[Goto: Screening:<br>Resubmission or restart refereeing]] - subgraph EdDec [Editorial decision] + Resub --> Refereeing[[Goto: Refereeing setup:<br>Resubmission or restart refereeing]] + subgraph EdDec ["Editorial decision ✉<small>A</small>"] AcceptTarget(Accept<br>in target<br>Journal) AcceptAlt(Accept<br>in alternative<br>Journal) Reject @@ -90,11 +109,11 @@ flowchart LR end EdColVote --> EdDec AcceptTarget --> Production([Production]) - AcceptAlt --> PubOffer(Publication<br>offer) - PubOffer --accept--> Production + AcceptAlt --> PubOffer("Publication<br>offer ✉<small>A</small>") + PubOffer --accept--> Production[[Production stream<br>started]] PubOffer --decline--> Close([Processing<br>closed]) RestartRef(Restart<br>refereeing) --> Refereeing Reject --> Close - </pre> -</div> + </pre> + </div> </div>