Changeset View
Changeset View
Standalone View
Standalone View
src/applications/maniphest/constants/ManiphestTaskStatus.php
Show All 10 Lines | final class ManiphestTaskStatus extends ManiphestConstants { | ||||
const STATUS_CLOSED_INVALID = 'invalid'; | const STATUS_CLOSED_INVALID = 'invalid'; | ||||
const STATUS_CLOSED_DUPLICATE = 'duplicate'; | const STATUS_CLOSED_DUPLICATE = 'duplicate'; | ||||
const STATUS_CLOSED_SPITE = 'spite'; | const STATUS_CLOSED_SPITE = 'spite'; | ||||
const SPECIAL_DEFAULT = 'default'; | const SPECIAL_DEFAULT = 'default'; | ||||
const SPECIAL_CLOSED = 'closed'; | const SPECIAL_CLOSED = 'closed'; | ||||
const SPECIAL_DUPLICATE = 'duplicate'; | const SPECIAL_DUPLICATE = 'duplicate'; | ||||
const LOCKED_COMMENTS = 'comments'; | |||||
const LOCKED_EDITS = 'edits'; | |||||
private static function getStatusConfig() { | private static function getStatusConfig() { | ||||
return PhabricatorEnv::getEnvConfig('maniphest.statuses'); | return PhabricatorEnv::getEnvConfig('maniphest.statuses'); | ||||
} | } | ||||
private static function getEnabledStatusMap() { | private static function getEnabledStatusMap() { | ||||
$spec = self::getStatusConfig(); | $spec = self::getStatusConfig(); | ||||
$is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business'); | $is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business'); | ||||
▲ Show 20 Lines • Show All 124 Lines • ▼ Show 20 Lines | final class ManiphestTaskStatus extends ManiphestConstants { | ||||
public static function isClaimStatus($status) { | public static function isClaimStatus($status) { | ||||
return self::getStatusAttribute($status, 'claim', true); | return self::getStatusAttribute($status, 'claim', true); | ||||
} | } | ||||
public static function isClosedStatus($status) { | public static function isClosedStatus($status) { | ||||
return !self::isOpenStatus($status); | return !self::isOpenStatus($status); | ||||
} | } | ||||
public static function isLockedStatus($status) { | public static function areCommentsLockedInStatus($status) { | ||||
return self::getStatusAttribute($status, 'locked', false); | return (bool)self::getStatusAttribute($status, 'locked', false); | ||||
} | |||||
public static function areEditsLockedInStatus($status) { | |||||
$locked = self::getStatusAttribute($status, 'locked'); | |||||
return ($locked === self::LOCKED_EDITS); | |||||
} | } | ||||
public static function isMFAStatus($status) { | public static function isMFAStatus($status) { | ||||
return self::getStatusAttribute($status, 'mfa', false); | return self::getStatusAttribute($status, 'mfa', false); | ||||
} | } | ||||
public static function getStatusActionName($status) { | public static function getStatusActionName($status) { | ||||
return self::getStatusAttribute($status, 'name.action'); | return self::getStatusAttribute($status, 'name.action'); | ||||
▲ Show 20 Lines • Show All 111 Lines • ▼ Show 20 Lines | foreach ($config as $key => $value) { | ||||
'transaction.icon' => 'optional string', | 'transaction.icon' => 'optional string', | ||||
'transaction.color' => 'optional string', | 'transaction.color' => 'optional string', | ||||
'silly' => 'optional bool', | 'silly' => 'optional bool', | ||||
'prefixes' => 'optional list<string>', | 'prefixes' => 'optional list<string>', | ||||
'suffixes' => 'optional list<string>', | 'suffixes' => 'optional list<string>', | ||||
'keywords' => 'optional list<string>', | 'keywords' => 'optional list<string>', | ||||
'disabled' => 'optional bool', | 'disabled' => 'optional bool', | ||||
'claim' => 'optional bool', | 'claim' => 'optional bool', | ||||
'locked' => 'optional bool', | 'locked' => 'optional bool|string', | ||||
'mfa' => 'optional bool', | 'mfa' => 'optional bool', | ||||
)); | )); | ||||
} | } | ||||
// Supported values are "comments" or "edits". For backward compatibility, | |||||
// "true" is an alias of "comments". | |||||
foreach ($config as $key => $value) { | |||||
$locked = idx($value, 'locked', false); | |||||
if ($locked === true || $locked === false) { | |||||
continue; | |||||
} | |||||
amckinley: thisisfine.jpg | |||||
if ($locked === self::LOCKED_EDITS || | |||||
$locked === self::LOCKED_COMMENTS) { | |||||
continue; | |||||
} | |||||
throw new Exception( | |||||
pht( | |||||
'Task status ("%s") has unrecognized value for "locked" '. | |||||
'configuration ("%s"). Supported values are: "%s", "%s".', | |||||
$key, | |||||
$locked, | |||||
self::LOCKED_COMMENTS, | |||||
self::LOCKED_EDITS)); | |||||
} | |||||
$special_map = array(); | $special_map = array(); | ||||
foreach ($config as $key => $value) { | foreach ($config as $key => $value) { | ||||
$special = idx($value, 'special'); | $special = idx($value, 'special'); | ||||
if (!$special) { | if (!$special) { | ||||
continue; | continue; | ||||
} | } | ||||
if (isset($special_map[$special])) { | if (isset($special_map[$special])) { | ||||
▲ Show 20 Lines • Show All 68 Lines • Show Last 20 Lines |
thisisfine.jpg