Cannot set a manual action to be allowed only after previous stage completes successfully.

I think this is a regression to issue #20280 (closed) (https://gitlab.com/gitlab-org/gitlab-ce/issues/20280)

Steps to reproduce

Version: GitLab Community Edition 9.5.10

For the following gitlab-ci.yml:

stages:
  - build
  - deploy

build:
  stage: build
  script:
    - exit 1
  when: always
  allow_failure: false

deploy:
  stage: deploy
  script:
    - echo deploy
  when: manual
  allow_failure: false

The system allows manual stage deploy to be executed after the previous one fails.

I expect deploy stage to be blocked while the previous one does not succeeds. Note that even after setting allow_failure: false for both stages the behavior does not change.