Restrict Jobcoordinator access to workflow steps

XMLWordPrintable

      Problem

      We’ve noticed that it’s possible for job coordinators to change the status of workflow steps to finished even if it’s not their turn yet.

      We have one example (where the reviewer is assigned the QA step, so the agency can check the changed in the “review” step):
      Translate (jobcoordinator): finished
      QA (editor): open
      Review (jobcoordinator): waiting → jobcoordinator changes it to finished and the whole workflow finishes.

      Solution

      Restrict JC on his attempt to update job's state.

      Check for state of task and step of JC job to determine what is allowed for JC

      Still there is a possibility that Coordinator group may have jobs in multiple steps of task workflow, lets say translation and review.

      Then if reviewer finds problem in translation then Coordinator should be able to re-open translation step job.

      BUT if Coordinator group has translation job, then review is done but someone else and second review again is this Coordinator group job - then even if Coordinator finds a problem we should prohibit re-opening of translation job.

      Reason is simple - as review job is finished re-opening of translation will lead to invalid task workflow. And once translation is finished again - it will lead to second review again skipping review. Unlikely instance owner will be happy of this.

      So in such a case Coordinator has to reach PM and ask PM to re-open translation. Then that is PM's responsibility to also re-open review or leave it as is, up to Pm's choice. 

      Test

      Think of Coordinator as manager of an outsource agency.

      Coordinator allowed to manage jobs strictly in delegated jobs scope and only when task is in step of Coordinator group job.

      Apart from this Coordinator can only choose to do (approve) the job before task reaches needed step.

      Case to try and test:

      Group A: Actor Role & Bypass

      1. Non-coordinator actor bypass
        • Condition: Actor is an Admin, PM.
        • Expectation: Allowed immediately without restrictions.

      Group B: Current Workflow Step Operations (Full Freedom)

      1. Coordinator can set any state when job is in the task's current step
        • Condition: Task is currently at the job's step (taskStep === jobStep).
        • Expectation: Allowed for any target state (waiting, open, edit, finished, etc.) — full coordinator discretion.

      Group C: Future Workflow Step Operations (Not Job's Turn Yet)

      1. Cannot update future step job
        • Condition: Task is at an earlier step than the job (e.g. Task is in Translate, Job is in Review).
        • Expectation: Forbidden, shows 'Task is not in workflow step that allows you to change job status yet' error. Coordinator cannot change status of future jobs before the task reaches that step.
      2. Approve competitive task before turn (Separate scope)
        • Condition: Task is competitive and in 'view' state before turn.
        • Expectation: Allowed via Task Approvement (open a competitive task and click on approve button), but modifying lifecycle states in project overview remains blocked by Test Case C.1.

      Group D: Finished Workflow

      1. Cannot modify jobs after workflow ended
        • Condition: Task is in 'workflow finished' step.
        • Expectation: Forbidden, error: 'Tasks is in finished workflow. Contact PM to re-open your Coordinator group job.'.

      Group E: Past Steps (Re-opening / Editing Previous Jobs)

      1. Cannot re-open past step if Coordinator group is not assigned to current task step
        • Condition: Task is at Review (assigned to an external Editor/PM), and Coordinator attempts to re-open their Translation job.
        • Expectation: Forbidden, error: Task is in workflow step that doesn't allow you to change job status.
      2. Can re-open immediate consecutive previous step
        • Condition: Coordinator group has jobs in Translate and Review. Task is at Review. Coordinator re-opens Translate.
        • Expectation: Allowed (0 intermediate steps).
      3. Can re-open past step when Coordinator group owns ALL intermediate steps
        • Condition: Workflow is Translate (JC) -> Review 1 (JC) -> Review 2 (JC). Task is at Review 2. Coordinator re-opens Translate.
        • Expectation: Allowed (Coordinator group holds a job in Review 1).
      4. Cannot re-open past step if ANY intermediate step belongs to another party
        • Condition: Workflow is Translate (JC) -> QA (External/Editor) -> Review (JC). Task is at Review. Coordinator attempts to re-open Translate.
        • Expectation: Forbidden, error: There are not your Coordinator group jobs in between current task step and step of requested job. Contact PM to re-open your Coordinator group job.

            Assignee:
            Sanya Mikhliaiev
            Reporter:
            Sanya Mikhliaiev
            None
            None
            Leon Kiz, Thomas Lauria
            Leon Kiz
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved:
              None
              None