<?php

final class ArcanistDifferentialRevisionStatus {

  const NEEDS_REVIEW      = 0;
  const NEEDS_REVISION    = 1;
  const ACCEPTED          = 2;
  const CLOSED            = 3;
  const ABANDONED         = 4;

  public static function getNameForRevisionStatus($status) {
    static $map = array(
      self::NEEDS_REVIEW      => 'Needs Review',
      self::NEEDS_REVISION    => 'Needs Revision',
      self::ACCEPTED          => 'Accepted',
      self::CLOSED            => 'Closed',
      self::ABANDONED         => 'Abandoned',
    );

    return idx($map, coalesce($status, '?'), 'Unknown');
  }

}

<?php

final class ArcanistDifferentialRevisionStatus {

  const NEEDS_REVIEW      = 0;
  const NEEDS_REVISION    = 1;
  const ACCEPTED          = 2;
  const CLOSED            = 3;
  const ABANDONED         = 4;
  const CHANGES_PLANNED   = 5;
  const IN_PREPARATION    = 6;

  public static function getNameForRevisionStatus($status) {
    $map = array(
      self::NEEDS_REVIEW      => pht('Needs Review'),
      self::NEEDS_REVISION    => pht('Needs Revision'),
      self::ACCEPTED          => pht('Accepted'),
      self::CLOSED            => pht('Closed'),
      self::ABANDONED         => pht('Abandoned'),
      self::CHANGES_PLANNED   => pht('Changes Planned'),
      self::IN_PREPARATION    => pht('In Preparation'),
    );

    return idx($map, coalesce($status, '?'), 'Unknown');
  }

}

Add "Changes Planned" and "In Preparation" states for revisions
Add "Changes Planned" and "In Preparation" states for revisions

Summary:
Ref T2222. Discussion in T4481. Ref T2543.

Primarily, this will let me fix some of the rough edges that came out of ApplicationTransactions and state-based transitions.

I'm also adding a constant for T2543 while I'm in here.

Test Plan: Used `grep` to look for any weird special behavior, didn't see any.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2543, T2222

Differential Revision: https://secure.phabricator.com/D8400
