• Arnaud Fontaine's avatar
    Prevent 'draft' Solver Process from being created when there is already a 'solving' one (#KH-1107). · 2e2f59f7
    Arnaud Fontaine authored
      1. 'Solve Divergences' action:
         => Display Delivery_viewSolveDivergenceDialog.listbox:
            -> Delivery_getSolverDecisionList
               -> Delivery_getSolverProcess => create Solver Process in 'draft' state and build Solver Decisions.
      2. Clicking 'Update' button updates Solver Decisions.
      3. Click 'Solve Divergences' button after either 'Adopt Prevision' or 'Accept Decision'.
         => SolverProcess.solve():
            Solver Process transit to 'solving' state and 'solve' Activity is created.
    
    Before this Activity is executed, user can still select 'Solve Divergences'
    action and this will create another 'Solver Process' as the current one is not
    in 'draft' state anymore. Moreover, another user can still 'Adopt Prevision'
    (while the first user selected 'Accept Decision') and this will be actually be
    applied despite the first user choice.
    
    Instead, create Solver Process when transiting to 'diverged' state and do not
    display 'Solve Divergences' button nor allow access to 'Solve Divergences
    Dialog' (Delivery_viewSolveDivergenceDialog) if there is a Solver Process in
    'solving' state.
    2e2f59f7
Delivery_getSolverProcess.py 131 Bytes